sql >> Base de Datos >  >> RDS >> Database

Bases de datos relacionales vs no relacionales – Parte 2

En mi publicación anterior, vimos algunas diferencias fundamentales entre las bases de datos relacionales y no relacionales. En esta publicación, hablemos sobre la escalabilidad de estos dos.

Escalabilidad

Es una capacidad de un sistema que puede acomodar fácilmente los datos entrantes rápidos sin muchos problemas de rendimiento. Este es el factor principal para que cualquier sistema proporcione una buena escalabilidad. Hay dos tipos de métodos de escala conocidos como escala vertical y horizontal.

Escala vertical

Todas las herramientas de bases de datos relacionales admiten el escalado vertical. Este es el método para aumentar la potencia del sistema agregando CPU, memoria y espacio en disco adicionales. Entonces, para permitir la entrada rápida de datos, el servidor de producción único está optimizado para escalar. En esta técnica de escalado, siempre hay un único servidor de producción al que pueden conectarse todas las aplicaciones y usuarios. Se puede crear un entorno de clúster con algunos nodos y replicar los datos entre nodos.

Debido a las propiedades de ACID, todos los nodos deben tener el mismo conjunto de datos y la sincronización de datos se complica si hay varios nodos en el clúster. Esto está muy optimizado para la escala de lectura. El escalado vertical también se conoce como ampliación
El beneficio de esta metodología de escalado es la estrecha integración de los datos y su coherencia entre los nodos de un clúster. Todos los nodos tendrán el mismo conjunto de datos y si hay un problema con el servidor de producción, las aplicaciones conectarán automáticamente otro nodo. Por lo tanto, este clúster se conoce como clúster de conmutación por error.

Escala horizontal

Todas las herramientas de bases de datos no relacionales admiten el escalado horizontal. Este es el método de agregar más computadoras a la red para permitir la entrada rápida de datos. Es fácil agregar más nodos al clúster para permitir el crecimiento de los datos. Los datos se dividen automáticamente y se procesan en los nodos de un clúster. Este es un entorno de datos distribuidos. El sistema de archivos distribuidos de Hadoop (HDFS) es un ejemplo clásico de esto. El escalado horizontal también se conoce como escalado horizontal.

El beneficio de esta técnica de escalado es que, dado que los datos se dividen y replican entre nodos si alguno de ellos se desconecta, la aplicación aún puede tener los datos de otros nodos y esto garantiza la disponibilidad de los datos en todo momento. Este método es muy útil para los casos en los que no se requieren JOIN entre los datos de los nodos. Esto también es útil para separar los datos y tenerlos en diferentes ubicaciones geográficas.

Si bien estas dos técnicas de escalado tienen ventajas y desventajas, un buen entorno puede combinarlas para lograr un escalado ascendente y descendente sobresaliente. Podemos tener una base de datos de lectura y escritura escalable en un solo servidor que requiere propiedades ACID y tener datos históricos distribuidos escalables en varios nodos con fines de minería de datos.