Una base de datos NoSQL se utiliza para almacenar datos no estructurados. Los datos no estructurados son información que no encaja en una restricción. Las bases de datos NoSQL almacenan los datos en un formato no relacional, lo que significa que no es necesario colocarlos en columnas predefinidas. Una base de datos NoSQL suele usarse cuando los desarrolladores no conocen la estructura de datos de una fuente, por lo que almacenan los datos en una base de datos NoSQL sin limitaciones en la base de datos relacional. Por ejemplo, en lugar de almacenar datos en campos, los desarrolladores pueden almacenarlos en un documento JSON.
Los formatos no estructurados vienen en sus propios tipos, como documento, clave-valor, gráfico y familia de columnas. El proveedor NoSQL que elija almacenará los datos en uno de estos formatos, pero todos se escalan en silos de almacenamiento empresarial capaces de manejar grandes cantidades de datos. En función del proveedor NoSQL, la consulta utiliza una sintaxis de consulta diferente de las bases de datos SQL estándar.
Hay varias bases de datos NoSQL disponibles en el ecosistema de AWS, así que trataremos algunas comunes para ayudarle a elegir la solución adecuada para su proyecto.
Descripción general de las bases de datos AWS NoSQL
Amazon Web Services (AWS) tiene varias bases de datos NoSQL entre las que elegir. Es importante investigar a cada proveedor y qué ofrece una base de datos para garantizar que es adecuada para su proyecto empresarial, incluidas las aplicaciones de código abierto. Hemos incluido varias bases de datos AWS NoSQL con sus ventajas y desventajas.
Amazon DynamoDB
Amazon DynamoDB es una base de datos sin servidor basada en la nube. En un entorno sin servidor, el programa y el hardware de la base de datos se ejecutan totalmente en la nube. Esto significa que su empresa no necesita gestionar una máquina virtual, un servidor dedicado o ninguna configuración para un entorno híbrido local. Es beneficioso para las aplicaciones de código abierto.
Los desarrolladores utilizan una API para enviar consultas a la base de datos DynamoDB sin servidor. Luego, la base de datos envía una respuesta JSON a la aplicación del desarrollador. Los administradores pueden escalar dinámica y automáticamente la base de datos horizontalmente —es decir, añadiendo servidores— a medida que aumentan las cargas. Utilice DynamoDB cuando tenga aplicaciones que deban almacenar grandes cantidades de datos y sospeche que la base de usuarios y los requisitos de almacenamiento de datos de la aplicación aumentarán rápidamente.
Amazon DocumentDB
Para los desarrolladores familiarizados con MongoDB, Amazon DocumentDB es similar y se modela siguiendo la estructura de MongoDB. Amazon DocumentDB se ejecuta en una nube virtual, por lo que puede separarse de otros servidores de su entorno mediante la abstracción de datos. Por ejemplo, puede usar Amazon DocumentDB para una aplicación de cara al público en la que necesite una zona desmilitarizada (DMZ) para protegerse del tráfico de Internet. Amazon DocumentDB sería un buen recurso para esta arquitectura.
Amazon DocumentDB almacena los datos como un objeto JSON, lo que hace que sea más fácil de analizar para los desarrolladores. En lugar de reformatear los datos para insertarlos en la base de datos, los desarrolladores pueden usar el objeto JSON original recogido de una fuente. La potencia de computación se separa del almacenamiento, por lo que los administradores pueden escalar el almacenamiento sin aumentar la potencia de computación, lo que ahorra costes.
Amazon Neptune
La base de datos Amazon Neptune NoSQL funciona con una estructura gráfica. Una base de datos de gráficos almacena los datos en nodos y luego crea relaciones entre cada nodo para consultarlos y conectarlos. Las aplicaciones de redes sociales utilizan una base de datos de gráficos. Cada comentario de perfil puede vincularse a varios puntos de datos para determinar si su proyecto está vinculado de alguna manera a otros, incluidas las categorías de intereses.
Las empresas con bases de datos globales masivas pueden aprovechar Amazon Neptune. También es beneficioso para las aplicaciones de inteligencia artificial (IA) y de IA generativa (GenAI). Amazon afirma que Neptune puede gestionar más de 100 000 consultas por segundo y escalar hasta 128TiB por clúster.
Espacios clave de Amazon
Al igual que Amazon Neptune, Amazon Keyspaces también es una base de datos de gráficos. Las empresas con recogida de datos del IoT o datos masivos recopilados de diversas fuentes pueden beneficiarse de Amazon Keyspaces. Por ejemplo, un fabricante con datos del IoT recopilados para supervisar la maquinaria puede usar Amazon Keyspaces para almacenar, analizar y recuperar datos más rápidamente. El sector de los juegos también utiliza Amazon Keyspaces para recopilar datos de los jugadores y gestionar las aplicaciones necesarias para responder rápidamente a las entradas de los jugadores.
Los datos de series temporales suelen almacenarse en las bases de datos de Amazon Keyspaces y este tipo de datos se utiliza en aplicaciones en tiempo real. Cada solución de base de datos de AWS ofrece unos tiempos de respuesta rápidos, pero Amazon Keyspaces tiene la latencia más baja, con respuestas en un milisegundo. También se escala a medida que se necesita potencia de computación y se necesita más capacidad de almacenamiento.
Comparación de las bases de datos AWS NoSQL
Todas las bases de datos AWS NoSQL admiten un gran almacenamiento de datos, pero la diferencia clave es la forma en que se almacenan los datos. Una base de datos de documentos como DynamoDB y DocumentDB almacena información en formato JSON. Las bases de datos de documentos son las más intuitivas para la mayoría de los desarrolladores familiarizados con las bases de datos relacionales. Las bases de datos gráficas son beneficiosas cuando tiene una gran cantidad de datos relacionados y la base de datos de Amazon Keyspaces de series temporales es la mejor para las aplicaciones en tiempo real.
Las cuatro bases de datos de AWS admiten el escalamiento y la ejecución en la nube, pero DynamoDB sin servidor requiere menos gastos generales de gestión del personal. AWS también admite la seguridad y la supervisión necesarias para las bases de datos que almacenan datos confidenciales y las normativas de cumplimiento.
Conclusión
La creación de una aplicación suele requerir una base de datos y AWS tiene una solución para cualquier requisito de almacenamiento empresarial a gran escala. Como se ejecutan en la nube, las empresas saben que sus bases de datos tendrán una alta disponibilidad con poca latencia, siempre que su empresa despliegue suficientes recursos para gestionar las consultas y el almacenamiento. Pure Storage tiene la capacidad de almacenamiento para cualquier aplicación empresarial con su almacenamiento de bloques en la nube y admite las bases de datos de AWS mencionadas en este artículo.