Download Comparativa entre herramientas SQL y NOSQL

Document related concepts
Transcript
Comparativa entre herramientas SQL y NOSQL
Un poco de historia
SQL (Structured Query Language) fue creado en la década de 1970 para dar a las bases de datos
relacionales una manera de almacenar datos y comunicarse, y es muy popular en todo el mundo.
NoSQL, en contraste, se refiere a un nuevo tipo de bases de datos no relacionales que no utilizan
SQL y están ganando popularidad.
Las relaciones y las tablas que conforman las bases de datos SQL pueden funcionar para las
grandes organizaciones, que cuentan con millones. Combine esto con millones de usuarios que
realizan búsquedas en estas tablas y el sistema puede sufrir grandes problemas de rendimiento,
como descubrieron Google y Amazon de la manera más dura antes de cambiar a sistemas no
relacionales.
Por otro lado, los proyectos y las organizaciones más pequeñas normalmente funcionan muy bien
con SQL. Si bien puede ser difícil en algunos casos, el mapeo de objetos complejos utilizando
tablas se puede hacer y hay poderosas herramientas disponibles, tales como el sistema de base
de datos Oracle, que son muy eficaces. Los sistemas SQL y NoSQL pueden ambos funcionar bien
cuando son manejados por administradores competentes, pero la mejor opción dependerá de
cómo se va a utilizar y las habilidades de las personas que van a utilizarlas.
Características SQL
Características NOSQL
Un solo tipo (base de datos sql) con pocas
variaciones.
MySQL, postgres, Oracle Database
Vertical (un solo servidor dedicado)
Combinación de software libre y de paga
Soporta transacciones
Manipulación de datos en un lenguaje
específico
Gran consistencia
Muchos tipos diferentes incluyendo bases de
datos orientada a grafos.
MongoDB, Cassandra, Hbase, Neo4j
Horizontal (esparce los datos)
Totalmente software libre
En ciertas circunstancias soporta transacciones
Manipulación de datos a través de APIs
orientadas a objetos
Depende
del
producto,
algunos
son
consistentes.
Esquemas dinámicos
Sacrifica ACID para mejor rendimiento
Cada registro forman un esquema
La gran mayoría tienen ACID
Usos SQL
Usos NOSQL
Usado mayormente en ámbitos educativo para
conocer la estructura de la información
Desarrollo web, al tener una misma jerarquía se
obtiene mayor consistencia
Rama de negocios, se puede usar la minería de
datos para identificar patrones
Redes sociales, es obligatoria dado que se
manejan muchos datos no estructurados
Desarrollo web, conveniente cuando hay poca
uniformidad de la información
Desarrollo móvil, ya que la información
recolectada usualmente es diferente, no es
posible estructurarla ni mantenerla estática. Es
por eso que NOSQL es la solución.
BigData, al no ser SQL se pueden manejar
enormes cantidades de información
Empresarial, ya que es a la medida y de
escritorio se obtiene una estructura consistente.