Bases de datos SQL
Las bases de datos SQL se escalan tradicionalmente verticalmente. Esto significa que los recursos (por ejemplo, CPU, almacenamiento o memoria) se agregan a un solo servidor. Y, aunque esto puede causar limitaciones en la cantidad de crecimiento posible, ya que solo hay un servidor con capacidad finita que se está escalando, hay varias razones para esta elección de escalado:
- Cumplimiento de atomicidad, consistencia, aislamiento y durabilidad (ACID): El cumplimiento de ACID se refiere a un conjunto de propiedades que garantizan la confiabilidad, consistencia e integridad de los datos de las transacciones de bases de datos. Esto es muy importante ya que muchas bases de datos SQL contienen información bancaria y financiera que debe cumplir con los estándares gubernamentales y de la industria. Sin embargo, es más difícil mantener el cumplimiento de ACID en un sistema distribuido (por ejemplo, muchos equipos conectados por una red) donde los recursos se incrementan a través del escalado horizontal en comparación con un equipo y un servidor que se escalan verticalmente.
- Nota: Hay algunas bases de datos NoSQL de sistemas distribuidos que pueden mantener el cumplimiento de ACID, como MongoDB Atlas.
- Gestión de transacciones: Las bases de datos SQL emplean mecanismos de gestión de transacciones para mantener la integridad de los datos y la coherencia de la base de datos. La administración de transacciones simultáneas a través de múltiples nodos en un entorno de base de datos distribuida probablemente crearía una complejidad adicional y un uso de recursos que podría afectar tanto la integridad de los datos como posiblemente el rendimiento general de la base de datos. Si se utilizara la escala horizontal, estos problemas serían una posibilidad.
- Rigidez del esquema: Las bases de datos SQL emplean esquemas rígidos y predefinidos con los que ingieren datos. Si bien esto es fácil de mantener en un entorno de una computadora/servidor, se agregaría complejidad si se empleara un sistema distribuido con escalado horizontal. En concreto, cada nodo podría tener una versión de esquema diferente, lo que aumentaría la sobrecarga de administración y podría causar problemas adicionales de coherencia de los datos.
Bases de datos NoSQL
Los sistemas de bases de datos NoSQL a menudo se configuran en lo que se denomina un sistema distribuido. Esto significa que un serial de computadoras independientes (por ejemplo, nodos) están conectadas a través de una red y trabajan juntas para lograr objetivos comunes. Ser parte de un sistema distribuido también significa que se puede emplear el escalamiento horizontal frente al escalamiento vertical.
El escalado horizontal implica aumentar los recursos disponibles y la capacidad de un sistema distribuido mediante la adición de más nodos (por ejemplo, computadoras, servidores) a ese sistema. Al hacerlo, hay más nodos disponibles para soportar la carga de trabajo del sistema. Además, prácticamente no hay límite en cuanto al tamaño que puede crecer la base de datos desde una perspectiva de capacidad, ya que se pueden continuar agregando nodos adicionales.
Más información sobre escalado de base de datos.
Casos de uso de la tecnología de bases de datos SQL vs NoSQL
Mientras que las bases de datos SQL sobresalen en la gestión de datos estructurados y relacionales mientras mantienen la integridad transaccional y ejecutan consultas complejas, las bases de datos NoSQL son insuperables en la consulta y el almacenamiento de datos no estructurados o semiestructurados, al tiempo que proporcionan una escalabilidad y flexibilidad ilimitadas.
Dicho esto, los casos de uso son una fuerza impulsora en la selección entre bases de datos SQL y NoSQL (por ejemplo, bases de datos relacionales frente a bases de datos no relacionales). Aquí hay un resumen de las fortalezas y casos de uso asociados de bases de datos SQL y bases de datos NoSQL.
Casos de uso de bases de datos SQL
Las características clave de las bases de datos SQL se prestan a los siguientes casos de uso:
Cumplimiento regulatorio
Debido a que la estructura de la base de datos SQL se presta al cumplimiento de ACID, a menudo se utilizan con el propósito de almacenar datos que deben cumplir con ciertos estándares gubernamentales o de la industria.
Todos los casos de uso que se indican a continuación implican algún nivel de cumplimiento de ACID.
Bases de datos transaccionales
Bases de datos transaccionales almacenar datos que resultan de una interacción entre dos o más partes.
Ejemplos:
- Bases de datos de puntos de venta (PoS) de minoristas
- Bases de datos de recetas y pedidos sanitarios
- Banca comercial
- Bases de datos de contabilidad y mantenimiento de registros financieros
Sistemas de planeación de recursos empresariales (ERP)
Los sistemas ERP se emplean para ayudar a las compañías a gestionar procesos que son clave para las operaciones, la gestión de empleados, la producción y mucho más.
Ejemplos:
- Bases de datos de recursos humanos
- Sistemas de gestión de la cadena de suministro
- Sistemas de gestión de riesgos
Casos de uso de bases de datos NoSQL
Si bien es una noción común que las bases de datos NoSQL (por ejemplo, no relacionales) no cumplen con ACID, algunas realmente lo son. MongoDB es un ejemplo líder de una base de datos NoSQL, compatible con ACID.
Teniendo esto en cuenta, aquí hay algunos ejemplos de casos de uso de bases de datos NoSQL comúnmente encontrados:
Bases de datos transaccionales
Las bases de datos transaccionales también pueden ser compatibles con las bases de datos NoSQL, ya que se emplean para almacenar datos no estructurados que resultan de una interacción entre dos o más partes.
Ejemplos:
- Archivos de pacientes de atención médica que requieren capacidades de base de datos no relacionales (por ejemplo, registros de pacientes, fotos y videos de radiografías/escaneos)
- Archivos de casos de seguros (por ejemplo, fotos de accidentes automovilísticos, documentación de lesiones)
- Bases de datos de documentos legales (por ejemplo, declaraciones, alegatos, expedientes de casos)
Bases de datos de documentos y gestión de activos digitales (DAM)
Las bases de datos de documentos y la gestión de activos digitales almacenan y gestionan documentos, imágenes, contenido multimedia, videos y mucho más.
Ejemplos:
- Bibliotecas en línea (por ejemplo, bibliotecas legales, Biblioteca del Congreso en línea)
- Plataformas de publicación digital como Kindle o Nook
- Servicios de transmisión de medios como Netflix y Hulu
- Plataformas para compartir fotos en línea como Instagram o Meta
Análisis de grafos y redes
Las bases de datos de grafos y redes son excelentes en la gestión de estructuras de datos como motores de recomendación, redes sociales y análisis de redes asociadas, dada su capacidad para identificar y analizar relaciones no intuitivas dentro de elementos de datos interconectados.
Ejemplos:
- Análisis de redes sociales (por ejemplo, métricas de publicaciones y usuarios)
- Detección de fraudes que aísla transacciones inusuales u otras anomalías
- Gráficos de conocimiento (por ejemplo, cuadrantes de productos/servicios de Gartner)
Plataformas de Internet de las Cosas (IoT)
Las plataformas de IoT se emplean a menudo para almacenar y analizar datos de sensores y metadatos de dispositivos en tiempo real.
Ejemplos:
- Sistemas domésticos inteligentes (por ejemplo, Google Nest, Amazon Alexa)
- Sistemas de ciudad inteligente (por ejemplo, funcionamiento de semáforos)
- Recopilación de información meteorológica