Publicado el 17 de Abril del 2018
1.410 visualizaciones desde el 17 de Abril del 2018
527,3 KB
10 paginas
Creado hace 8a (15/11/2015)
2015
Herramientas SQL vs NoSQL
Peña Contreras Daniel
Administración de Base de Datos
27/09/2015
Peña Contreras Daniel
Herramientas SQL vs No SQL Administración de Base de Datos
MITO: NoSQL reemplaza SQL
Eso sería como decir que los barcos fueron reemplazados por los coches
porque son una tecnología más nueva. SQL y NoSQL hacer lo mismo:
almacenar datos. Ellos toman diferentes enfoques, que pueden ayudar u
obstaculizar su proyecto. A pesar de sentirse más reciente y el
acaparamiento de los titulares recientes, NoSQL no es un reemplazo para SQL
- es una alternativa.
MITO: NoSQL es mejor / peor que SQL
Algunos proyectos se adaptan mejor a la utilización de una base de datos
SQL. Algunos son más adecuados para NoSQL. Algunos pueden utilizar
indistintamente. Este artículo nunca podría ser un SitePoint Smackdown,
porque no se puede aplicar las mismas suposiciones generales en todas
partes.
MITO: SQL vs NoSQL es una clara distinción
Esto no es necesariamente cierto. Algunas bases de datos SQL están
adoptando características NoSQL y viceversa. Las opciones pueden llegar a
ser cada vez más difusa, y las bases de datos híbridos NewSQL podrían
proporcionar algunas opciones interesantes en el futuro.
MITO: el lenguaje / marcó determina la base de datos
Hemos crecido acostumbrar a pilas de tecnología, tales como -
LAMP: Linux, Apache, MySQL (SQL), PHP
Decir: MongoDB (NoSQL), Express, angulares, Node.js
.NET, IIS y SQL Server
Java, Apache y Oracle.
Hay razones prácticas, históricas y comerciales por qué estas pilas
evolucionaron - pero no presumen que son reglas. Puede usar una base de
datos MongoDB NoSQL en tu PHP o .NET proyecto. Puede conectarse
a MySQL o SQL Server en Node.js. Usted no puede encontrar la mayor
cantidad de tutoriales y recursos, pero sus necesidades debe determinar el
tipo de base de datos - no el lenguaje.
2
Peña Contreras Daniel
Herramientas SQL vs No SQL Administración de Base de Datos
SQL
El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured
Query Language) es un lenguaje declarativo de acceso a bases de
datos relacionales que permite especificar diversos tipos de operaciones en
ellas. Una de sus características es el manejo del álgebra y el cálculo
relacional que permiten efectuar consultas con el fin de recuperar, de forma
sencilla, información de bases de datos, así como hacer cambios en ellas.
NoSQL
En informática, NoSQL es una amplia clase de sistemas de gestión de bases
de datos que difieren del modelo clásico del sistema de gestión de bases de
datos relacionales (RDBMS) en aspectos importantes, el más destacado es
que no usan SQL como el principal lenguaje de consultas. Los datos
almacenados no requieren estructuras fijas como tablas, normalmente no
soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad,
consistencia, aislamiento y durabilidad), y habitualmente escalan bien
horizontalmente. Los sistemas NoSQL se denominan a veces "no sólo SQL"
para subrayar el hecho de que también pueden soportar lenguajes de
consulta de tipo SQL.
¿Cuál es el mejor?
Antes de la aparición del concepto de Base de datos relacional en el año de
1970, se utilizaban técnicas de manipulación de ficheros para guardar y
gestionar la información que generaba una aplicación, trayendo consigo la
necesidad de comprender a cabalidad temas como el acceso a memoria, el
manejo de punteros y puertos, etc. (¡Que caos!). Con la aparición de
conceptos como tablas, relaciones, claves y la unificación de los términos fila
y dato toda ésta engorrosa tarea se convirtió en más que un objeto de
estudio y trajo alegrías y colores a muchos programadores de la época. Salir
de esa zona de confort, implica – implícitamente – la necesidad de expresar
esos miedos a temas tan oscuros en la programación y la preocupación de
complicar más la profesión del desarrollo y la gestión de datos.
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,
3
Peña Contreras Daniel
Herramientas SQL vs No SQL Administración de Base de Datos
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 SQL?
Si buscamos en Google no encontraremos una respuesta concreta, porque se
intuye que cualquier cosa que se deba guardar debe ser en una base de datos
relacional. Si preguntamos a cualquier programador, seguramente su
respuesta sería algo como: “en prácticamente cualquier caso. De pronto no
es necesario en desarrollos de animación o cosas por el estilo.”.
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.
4
Peña Contreras Daniel
Herramientas SQL vs No SQL Administración de Base de Datos
¿Cuándo usar NoSQL?
Si realizamos el ejercicio en Google, encontramos un poco más de
información al respecto y es más sencillo orientarse en ésta nueva
tecnología.
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.
Beneficios de NoSQL
Escalamiento elástico
Mayor capacidad de manejo de datos
El mantenimiento de los servidores NoSQL es más barato
Menor Costo Servidor
No esquema o modelo de datos fijos
Integrated Facility Caching
5
Peña Contreras Daniel
Herramientas SQL vs No SQL Administración de Base de Datos
Beneficios de SQL
Es un estándar para el manejo de datos en un Manejador de Base de
Datos Relacional.
Es no sensitivo, esto quiere decir que no importa si pones en
mayúsculas o minúsculas el comando o instrucción te lo reconocerá.
Es imperativo, no necesariamente secuencial aunque tenga un
ordenamiento.
Es de fácil comprensión.
Es un lenguaje de alto nivel para datos, esto es con una sola instrucción
afectas a varios registros en tiempo real.
Diferencia entre SQL y NoSQL: Comparación
Este artículo sobre SQL y NoSQL comparación arrojará luz sobre el debate
sobre las ventajas y limitaciones de cada uno. Desde que el zumbido de la
base de datos NoSQL evolucionó en el almacenamiento de datos en las bases
de datos NoSQL, pensé en la exploración de ambos conceptos para llegar a su
profundidad. Y me tomó un tiempo para averiguar lo que realmente
conducen a la evolución de la base de datos NoSQL.
Bueno, todo se reduce a la búsqueda de proporcionar mejor experiencia
posible a los usuarios finales en forma rápida, real y conectado. Los
desarrolladores de bases de datos están tratando de optimizar las cosas para
producir un mejor rendimiento ya que la tecnología en el departamento de
almacenamiento está cambiando drásticamente.
NoSQL vs SQL – ¿Tiempo para un Cambio?
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
Comentarios de: Herramientas SQL vs NoSQL (0)
No hay comentarios