Cita:
Iniciado por Italico76 - SQL en general (MySQL - MS SQL... PosgreSQL..) estan quedando obsoletos... ahora la tendecia es hacia lo que se da a conocer como noSQL (MongoDB, Redis...etc)
Creo que eso requiere una gran aclaración...
Los DBMS relacionales (PostgreSQL, DB2, Oracle, SQL Server, MySQL, Firebird, etc.), no están quedando obsoletos, y aunque lo quedasen, por su presencia a nivel planetario no se reemplazarán en el futuro inmediato (mas o menos por los próximos veinte o treinta años), porque no se ha desarrollado un modelo
No SQL que pueda asegurar la consistencia de la información, ni que pueda mantener la misma integridad.
El NoSQL tiene una orientación completamente distinta, basada en otro paradigma, y no tiene por meta el desarrollos de sistemas de datos de alta consistencia, sino el de accesibilidad y rapidez. No es lo mismo.
En cualquier caso, ambos coexistirán por muchísimos años, ya que ninguno puede aportar soluciones a las necesidades que cubre el otro.
Para citar un ejemplo de un profesor, han pasado más de sesenta años, pero la base de datos principal de los sistemas de reserva de pasajes en aerolíneas no se ha modificado... y no está basado en el modelo relacional. ¿Cómo es posible? Bueno, por la simple razón de que no se puede reemplazar un sistema que está repartido en 198 países, con decenas de miles de puntos de acceso. Migrar de uno a otro implicaría un nivel de riesgo que las compañías no quieren afrontar, por lo que simplemente montan interfases sobre él, para operar con los actuales sistemas.
Por la misma razón, los sistemas de base de datos pasados en el modelo relacional no van a desaparecer. Simplemente seguirán evolucionando, y eventualmente habrá una competencia fuerte entre ambos paradigmas cuando las capacidades de uno cubran las necesidades del otro.
¿Ventajas del NoSQL?
- Codigo abierto.
- Escalabilidad sencilla.
- Pluralidad de versiones par aun mismo proyecto.
- Integracion Cloud.
- Eficiente uso de memoria
- Rapidez en el manejo de la información.
- Altamente distribuido, con menores problemas.
- otros..
¿Desventajas?
- No maneja ACID.
- No posee transacciones.
- No controla consistencia ni integridad de datos.
- No provee recursos de
data mining, o
BI (no es su meta).
- Sin planeador de consultas (los RDBMS pueden usar diferentes estrategias para la misma consulta, basados en resultados previos).
- Juego de operadores de relacionamiento entre datos reducido.
- Demasiadas API en un mismo proyecto.
- otros..
En este momento no es funcional para aplicaciones comerciales, financieras y de alta precisión, precisamente por esas desventajas.
Para citarlo en un ejemplo, un pago a tu tarjeta de crédito no puede quedar inconsistente, o las altas de los seguros no pueden quedar validas en un lado y no en otro. Cosas así aún no son posibles en NoSQL sin la intervención en algun punto de bases de datos relacionales.