Ciencia de datos ágil: SQL versus NoSQL
El enfoque completo de este tutorial es seguir una metodología ágil con menos pasos y con la implementación de herramientas más útiles. Para comprender esto, es importante conocer la diferencia entre las bases de datos SQL y NoSQL.
La mayoría de los usuarios conocen la base de datos SQL y tienen un buen conocimiento de MySQL, Oracle u otras bases de datos SQL. En los últimos años, la base de datos NoSQL se está adoptando ampliamente para resolver varios problemas comerciales y requisitos del proyecto.
![](https://assets.edu.lat/agile_data_science/images/difference_sql_nosql.jpg)
La siguiente tabla muestra la diferencia entre las bases de datos SQL y NoSQL:
SQL | NoSQL |
---|---|
Las bases de datos SQL se denominan principalmente sistema de gestión de bases de datos relacionales (RDBMS). | La base de datos NoSQL también se denomina base de datos orientada a documentos. No es relacional y está distribuido. |
Las bases de datos basadas en SQL incluyen la estructura de la tabla con filas y columnas. Colección de tablas y otras estructuras de esquema llamadas base de datos. | La base de datos NoSQL incluye documentos como estructura principal y la inclusión de documentos se llama colección. |
Las bases de datos SQL incluyen un esquema predefinido. | Las bases de datos NoSQL tienen datos dinámicos e incluyen datos no estructurados. |
Las bases de datos SQL son escalables verticalmente. | Las bases de datos NoSQL son escalables horizontalmente. |
Las bases de datos SQL son adecuadas para entornos de consultas complejos. | NoSQL no tiene interfaces estándar para el desarrollo de consultas complejas. |
Las bases de datos SQL no son factibles para el almacenamiento jerárquico de datos. | Las bases de datos NoSQL se adaptan mejor al almacenamiento de datos jerárquicos. |
Las bases de datos SQL son las más adecuadas para transacciones pesadas en las aplicaciones especificadas. | Las bases de datos NoSQL todavía no se consideran comparables en alta carga para aplicaciones transaccionales complejas. |
Las bases de datos SQL brindan un excelente soporte para sus proveedores. | La base de datos NoSQL todavía depende del soporte de la comunidad. Solo unos pocos expertos están disponibles para configurar e implementar para implementaciones NoSQL a gran escala. |
Las bases de datos SQL se enfocan en propiedades ACID: atómicas, consistencia, aislamiento y durabilidad. | La base de datos NoSQL se centra en las propiedades de CAP: coherencia, disponibilidad y tolerancia de partición. |
Las bases de datos SQL pueden clasificarse como de código abierto o de código cerrado según los proveedores que las hayan optado. | Las bases de datos NoSQL se clasifican según el tipo de almacenamiento. Las bases de datos NoSQL son de código abierto por defecto. |
¿Por qué NoSQL para ágil?
La comparación mencionada anteriormente muestra que la base de datos de documentos NoSQL es totalmente compatible con el desarrollo ágil. No tiene esquema y no se centra completamente en el modelado de datos. En cambio, NoSQL difiere las aplicaciones y los servicios y, por lo tanto, los desarrolladores obtienen una mejor idea de cómo se pueden modelar los datos. NoSQL define el modelo de datos como el modelo de aplicación.
![](https://assets.edu.lat/agile_data_science/images/comparison_shows.jpg)
Instalación de MongoDB
A lo largo de este tutorial, nos centraremos más en los ejemplos de MongoDB, ya que se considera el mejor "esquema NoSQL".
![](https://assets.edu.lat/agile_data_science/images/mongodb_first.jpg)
![](https://assets.edu.lat/agile_data_science/images/mongodb_third.jpg)
![](https://assets.edu.lat/agile_data_science/images/mongodb_fourth.jpg)
![](https://assets.edu.lat/agile_data_science/images/mongodb_fifth.jpg)