almacenamiento cayeron se hizo más factible almacenar grandes cantidades de datos. Esto llevó a que los especialistas inviertan en bienes y servicios.
Las bases de datos relacionales RDBMS son
excelentes para hacer cumplir la integridad de los datos. Son la herramienta elegida para aplicaciones de procesamiento de transacciones en línea (OLTP) como sistemas de entrada de datos o aplicaciones de pedidos en línea. RDBMS requiere que los datos estén normalizados para que puedan proporcionar resultados de calidad y evitar registros huérfanos y duplicados. Utiliza claves e índices primarios y secundarios para permitir que las consultas recuperen datos rápidamente. Pero todas las buenas intenciones que tiene el RDBMS para garantizar la integridad de los datos tienen un costo. La normalización de datos requiere más tablas, lo que requiere más combinaciones de tablas, lo que requiere más claves e índices. A medida que las bases de datos comienzan a crecer en terabytes, el rendimiento comienza a disminuir significativamente. A menudo, el hardware se enfrenta al problema, que puede ser costoso tanto desde un punto de vista de capital como desde un punto de vista de mantenimiento y soporte continuo.
En este diagrama, puede ver que un RDBMS
todavía se utiliza para capturar entradas como sucede en varios sistemas. El historial de transacciones pasa por un proceso ETL (extracto, transformación y carga) que desnormaliza (o aplana) los datos de hechos (pedidos) y extrae los datos dimensionales de soporte (fecha / hora, clientes, productos, etc.). Este diseño está diseñado para la velocidad pero aún tiene sus inconvenientes. Los inconvenientes son que no se puede actualizar en tiempo real y todavía tiene problemas con las grandes uniones si es necesario unir varias tablas de hechos grandes. Los esquemas en estrella realizarán un RDBMS cuando se trata de bases de datos extremadamente grandes, pero es costoso, requiere mucho mantenimiento y generalmente requiere mucho tiempo. NoSQL
La respuesta a bases de datos extremadamente
grandes es NoSQL. NoSQL NoSQL toma lo mejor de los enfoques RDBMS y Star Schema y lo lleva un paso más allá. NoSQL utiliza una estructura de datos multidimensional dispersa y agrupa los datos relevantes estrechamente para reducir el tiempo de E / S requerido para devolver resultados. NoSQL también distribuye el trabajo en múltiples ubicaciones (a menudo implementadas en una cuadrícula) para que muchos subprocesos funcionen de manera simultánea e independiente. En lugar de índices, NoSQL utiliza el concepto de mapas que contiene múltiples valores de índice que permiten que un solo mapa maneje un conjunto dinámico de consultas basadas en muchos atributos. NoSQL también permite el control de versiones de registros. Mediante los cambios de fecha y hora, se agregan nuevos registros a la base de datos sin la sobrecarga que las actualizaciones y eliminaciones tienen en un RDBMS. La nueva forma de manejar grandes bases de datos puede verse así en algunas empresas. QUE ES MEJOR RDBMS O NoSQL. En realidad, no se trata de si NoSQL es mejor que RDBMS. La pregunta es ¿cuándo debo usar NoSQL? La respuesta (IMO) es cuando tiene el requisito de consultar conjuntos de datos extremadamente grandes con velocidades de consulta rápidas. Ahí es cuando utilizamos NoSQL. Los conjuntos de datos extremadamente grandes a menudo son transacciones basadas en eventos que ocurren en orden cronológico. Algunos ejemplos son los weblogs, las transacciones de compras, los datos de fabricación de dispositivos de línea de ensamblaje, las colecciones de datos científicos, etc. Estos tipos de datos se acumulan en grandes cantidades cada segundo y pueden llevar a un RDBMS con todos sus gastos generales. Pero para el procesamiento OLTP, nada supera la combinación de calidad de datos y rendimiento de un RDBMS bien diseñado. Ahora sé que algunas personas dirán que conocen una base de datos muy grande que está construida con un RDBMS con Oracle o similar. Puedes hacerlo, pero también puedes usar un martillo para clavar un tornillo. En resumen, tanto NoSQL como RDBMS son excelentes herramientas para ciertos trabajos. Solo asegúrate de sacar la herramienta correcta de la caja de herramientas cuando el trabajo llegue.
RDBMS es una forma completamente estructurada
de almacenar datos. Mientras que el NoSQL es una forma no estructurada de almacenar los datos. Y otra diferencia principal es que la cantidad de datos almacenados depende principalmente de la memoria física del sistema. Mientras que en NoSQL no tiene tales límites.