Uploaded by Carlos Carrasco

Ensayo NoSQL vs SQL

advertisement
Ensayo NoSQL vs. SQL
SQL vs. NoSQL
¿Por qué surge la pregunta: “¿cuál es el mejor?”?
NoSQL facilita demasiado la gestión de la información en ciertos aspectos como la captura o el
soporte de escalabilidad y acceso; facilita tanto la tarea, que en un futuro cercano estoy seguro que
no nos preocuparemos si quiera de proporcionar una cadena de conexión como las engorrosas de
SQL Server, sólo tendríamos que proporcionar un nombre y el mismo motor de base de datos
realizará todo ese tedioso y aburrido procedimiento.
Por lo anterior, no podemos temerle a la maravillosa tecnología del NoSQL y su gran utilidad en el
nuevo mundo de la Internet - ni tan nuevo, de hecho -, porque se están solucionando grandes
inconvenientes como la masiva concurrencia de acceso a una base de datos y el costoso
mantenimiento de las mismas. Hay que aceptar de una vez por todas que NoSQL vino para quedarse
y más importante, vino para facilitarnos la vida y quitarnos más de un dolor de cabeza para
empresarios y desarrolladores.
¿Cuándo usar NoSQL?
Yo considero que las tecnologías NoSQL pueden user usadas en los siguientes ámbitos:
Redes sociales: Es obligatorio. Gracias a las redes sociales, ésta tecnología comenzó a despegar y
mostrar utilidad en el campo de la informática y la estadística.
Desarrollo Web: Considero más pertinente el uso de éstas tecnologías en ésta área, debido a la poca
uniformidad de la información que encontramos en Internet, sin embargo, es posible realizar éstos
desarrollos con SQL, como expuse anteriormente.
Desarrollo Móvil: En éstos momentos, las empresas están lidiando con un problema grande
conocido como Bring Your Own Device - en realidad no es un problema, es un fenómeno social -,
por lo que la información que se recolecte siempre será diferente por más que uno desee
estructurarla y mantenerla estática.
BigData: Como podemos observar en Search Business Analytics, la administración de grandísimas
cantidades de información y su evidente heterogeneida hace de NoSQL un excelente candidato en
ésta área.
Cloud (XaaS): el término XaaS (Everything as a service) que indica “Cualquier cosa como servicio
(sic)” y todos los temas relacionados a la nube, con NoSQL pueden adaptarse casi a cualquier
necesidad del cliente, que evidentemente son heterogéneos.
¿Cuándo usar SQL?
Yo considero que una base de datos relacional puede ser usada estos ámbitos:
Educativo: es importante conocer cómo estructurar información, además de aportar un gran
conocimiento lógico al estudiante.
Desarrollo web: es bueno tratar de mantener una misma jerarquía de los datos que llegan de la gran
autopista, pero siempre y cuando la capacidad de concurrencia, almacenamiento y mantenimiento
no sean de considerable dificultad y la información siempre sea consistente.
Rama de negocios: inteligencia de negocios, análisis de negocios, bodegas de datos, minería de
datos, minería de texto son temas que requieren el uso de SQL para facilitar el consumo de la
información y la identificación de patrones en los datos.
Empresarial: El software a la medida y el software empresarial, ambos de escritorio, poseen la
característica de mantener información con una estructura consistente y SQL es ideal para ésta
tarea.
Los principales argumentos a favor de las bases de datos NoSQL, los argumentos anti modelo
relacional
Supongo que no serán los únicos, y que en este tema, como en todo, no hay una única respuesta,
pero el argumento que yo más escucho a favor de las bases de datos NoSQL, contra las bases de
datos relacionales, es el siguiente: Los “join” de las bases de datos relacionales ralentizan el sistema.
Aquí te dejo algunas referencias con este argumento: una de slashdot, un debate en
stackoverflow, y alguna más.
Conviene decir que esto de ralentización aplicaría cuando millones de usuarios hacen búsquedas en
tablas con millones de filas, como es el caso de Google o Amazon, que por ello desarrollaron sus
propias bases de datos NoSQL.
Luego hay otras críticas, como la de la difícil correlación, los mapeos, del modelo relacional con
estructuras de datos jerárquicas, como XML, o con diseños de clases complejos.
Los principales argumentos en contra de las bases de datos NoSQL
Para los defensores de las bases de datos relacionales, los SGBDs potentes, como Oracle, son lo
suficientemente potentes para optimizar “joins” complejos. Y como prueba, los bancos realizan
miles de consultas, con miles de usuarios, y sobreviven utilizando SQL.
Quien defiende el uso de bases de datos SQL, las relacionales de toda la vida, argumentan que “es
raro es que vayas a necesitar bases de datos NoSQL, no vas a construir un Google”.
Luego hay otros argumentos, como que prácticamente toda estructura de datos (como las de los
XML y demás) se puede mapear al sistema relacional. Hay quien se atreve a decir que el problema
viene de no entender el SQL.
Bibliografía
http://www.javiergarzas.com/2013/06/bases-de-datos-nosql.html
http://estebanz01.wordpress.com/2013/04/04/sql-vs-nosql-cual-es-el-mejor/
Download