¿Qué es NoSQL?
Bases de datos no relacionales con excelente rendimiento y modelos de datos flexibles
¿Qué son las bases de datos NoSQL?
¿Cómo funciona una base de datos NoSQL (no relacionales)?
¿Por qué debería usar una base de datos NoSQL?
Las bases de datos NoSQL se adaptan perfectamente a muchas aplicaciones modernas, como dispositivos móviles, web y juegos, que requieren bases de datos flexibles, escalables, de alto rendimiento y altamente funcionales para proporcionar excelentes experiencias de usuario.
- Flexibilidad: las bases de datos NoSQL generalmente ofrecen esquemas flexibles que permiten un desarrollo más rápido y más iterativo. El modelo de datos flexible hace que las bases de datos NoSQL sean ideales para datos semiestructurados y no estructurados.
- Escalabilidad: las bases de datos NoSQL generalmente están diseñadas para escalar usando clústeres distribuidos de hardware en lugar de escalar añadiendo servidores caros y sólidos. Algunos proveedores de la nube manejan estas operaciones en segundo plano, como un servicio completamente administrado.
- Alto rendimiento: la base de datos NoSQL está optimizada para modelos de datos específicos y patrones de acceso que permiten un mayor rendimiento que el intento de lograr una funcionalidad similar con bases de datos relacionales.
- Altamente funcional: las bases de datos NoSQL proporcionan API altamente funcionales y tipos de datos que están diseñados específicamente para cada uno de sus respectivos modelos de datos.
Tipos de bases de datos NoSQL
Clave-valor: las bases de datos clave-valor son altamente divisibles y permiten
escalado horizontal a escalas que otros tipos de bases de datos
no pueden alcanzar. Los casos de uso como juegos, tecnología publicitaria
e IoT se prestan particularmente bien con el modelo de datos clave-valor.
Amazon DynamoDB está diseñado para proporcionar una latencia de
milisegundos constate de un solo dígito para cualquier escala de cargas
de trabajo.
Este rendimiento sistemático es uno de los principales elementos que explican
por qué la característica de historias de Snapchat, que incluye la
carga de trabajo de escritura de almacenamiento más grande de
Snapchat, se trasladó a DynamoDB.
Documentos: en el código de aplicación, los datos se representan a menudo
como un objeto o un documento de tipo JSON porque es un modelo de
datos eficiente e intuitivo para los desarrolladores. Las bases de datos de
documentos facilitan a los desarrolladores el almacenamiento y la consulta
de datos en una base de datos mediante el uso del mismo formato de modelo
de documento que emplean en el código de aplicación. La naturaleza flexible,
semiestructurada y jerárquica de los documentos y las bases de datos de
documentos permite que evolucionen según las necesidades de las aplicaciones.
El modelo de documentos funciona bien con catálogos, perfiles de usuario y
sistemas de administración de contenido en los que cada documento es único
y evoluciona con el tiempo. Amazon DocumentDB (con compatibilidad para
MongoDB) y MongoDB son bases de datos de documentos conocidas que
proporcionan API poderosas e intuitivas para un desarrollo flexible e iterativo.
Gráficos: el propósito de una base de datos de gráficos es facilitar la creación
y la ejecución de aplicaciones que funcionan con conjuntos de datos altamente
conectados. Los casos de uso típicos para una base de datos de gráficos incluyen
redes sociales, motores de recomendaciones, detección de fraude y gráficos de
conocimiento. Amazon Neptune es un servicio de base de datos de gráficos
completamente administrado. Neptune admite tanto el modelo de Property Graph
como el Resource Description Framework (RDF), que ofrece la opción de dos
API de gráficos: TinkerPop y RDF/SPARQL. Las bases de datos de gráficos
populares incluyen Neo4j y Giraph.
En memoria: las aplicaciones de juegos y tecnología publicitaria tienen casos de uso como tablas
de clasificación, tiendas de sesión y análisis en tiempo real que requieren tiempos de respuesta
de microsegundos y pueden tener grandes picos de tráfico en cualquier momento.
Amazon MemoryDB para Redis es un servicio de base de datos en memoria duradero y compatible
con Redis que ofrece latencia de lectura de microsegundos, latencia de escritura de milisegundos
de un solo dígito y durabilidad Multi-AZ. MemoryDB está
especialmente diseñado para ofrecer un rendimiento y una durabilidad de alta velocidad, de
modo que pueda utilizarlo como su base de datos primaria para aplicaciones de microservicios
modernas. Amazon ElastiCache es un servicio de almacenamiento en caché en memoria
completamente administrado compatible con Redis y Memcached, para atender cargas de
trabajo de baja latencia y alto rendimiento. Clientes como Tinder, que requieren una respuesta
en tiempo real de sus aplicaciones, confían en almacenes de datos en memoria en lugar de
almacenes de datos basados en disco. Amazon DynamoDB Accelerator (DAX) es otro ejemplo
de un almacén de datos especialmente diseñado. DAX hace que DynamoDB lea una orden
de magnitud más rápida.
Buscar: muchas aplicaciones generan registros para ayudar a los desarrolladores a solucionar
problemas. Amazon OpenSearch Service está diseñado para proporcionar visualizaciones en
tiempo real y análisis de datos generados por máquinas al indexar, agregar y buscar registros y
métricas semiestructuradas. Amazon OpenSearch Service también es un motor de búsqueda
potente y de alto rendimiento para casos de uso de búsquedas con texto completo. Expedia
está utilizando más de 150 dominios de Amazon OpenSearch Service, 30 TB de datos y 30
mil millones de documentos para una variedad de casos de uso críticos, que van desde el
monitoreo operativo y la resolución de problemas, hasta el seguimiento de la pila de
aplicaciones distribuidas y la optimización de precios.
0 Comentarios