jueves, 21 de febrero de 2019

Manejadores de las bases de datos documentales

MongoDB es una base de datos libre de esquemas, orientada a documentos, escrita en C ++. La base de datos está basada en el almacén de documentos, lo que significa que almacena valores (denominados documentos) en forma de datos codificados.
La elección del formato codificado en MongoDB es JSON. Es muy potente, porque incluso si los datos están anidados dentro de los documentos JSON, seguirá siendo consultable e indexable.
Tiene un sistema flexible de almacenamiento de esquemas. Lo que significa que los objetos almacenados no tienen que tener la misma estructura o los mismos campos.
MongoDB también tiene algunas características de optimización, que distribuye las colecciones de datos, mejorando el rendimiento y consiguiendo un sistema más equilibrado.
Acciones
En MongoDB, hay un grupo de servidores llamados enrutadores. Cada uno actúa como un servidor para uno o más clientes. Del mismo modo, el clúster contiene un grupo de servidores denominados servidores de configuración. Cada uno contiene una copia de los metadatos que indican qué fragmento contiene qué datos. Las acciones de lectura o escritura se envían desde los clientes a uno de los servidores de enrutador del clúster y son encaminadas automáticamente por ese servidor, a los fragmentos adecuados que contienen los datos con la ayuda de los servidores de configuración.


Se trata de una base de datos multirregión y multimaestro completamente administrada, con seguridad integrada, copia de seguridad y restauración, y almacenamiento de caché en memoria para aplicaciones a escala de Internet. DynamoDB puede gestionar más de 10 billones de solicitudes por día y admite picos de más de 20 millones de solicitudes por segundo.
Beneficios
  • Rendimiento a escala: DynamoDB admite algunas de las aplicaciones de escala más grandes del mundo y proporciona tiempos de respuesta en milisegundos de un solo dígito a cualquier escala. Puede crear aplicaciones con capacidad de almacenamiento y procesamiento prácticamente ilimitada.
  • Sin servidor: La disponibilidad y la tolerancia a errores están integradas, por lo que no es necesario estructurar sus aplicaciones para estas capacidades.
  • Listo para el uso empresarial: DynamoDB admite las transacciones ACID para que pueda crear aplicaciones de vital importancia para el negocio a escala. DynamoDB también cuenta con el respaldo de un acuerdo de nivel de servicio para garantizar la disponibilidad.



Casos prácticos
  • Nike: Migró sus clústeres de gran tamaño de Cassandra a una base de datos Amazon DynamoDB completamente administrada, lo que permite una mayor disponibilidad de recursos para mejorar la experiencia del cliente.
  • Samsung: Usa DynamoDB para realizar copias de seguridad de aplicaciones móviles de tamaño de petabytes, lo que permite ahorrar costos y generar un rendimiento alto.
  • Netflix: Usa DynamoDB para ejecutar pruebas A/B que crean experiencias de streaming personalizadas para sus más de 125 millones de clientes.
  • Snapchat: Migró su carga de trabajo de almacenamiento más grande, Snapchat Stories, a DynamoDB, lo que le permitió mejorar el rendimiento y reducir costos
  • GE Aviation: GE Aviation rediseñó su aplicación de esquematización y consulta de datos para el ahorro de costos, el escalado y el rendimiento con Amazon DynamoDB.

CouchDB

Se trata de una base de datos NoSQL que emplea JSON para almacenar los datos, JavaScript como lenguaje de consulta por medio de MapReduce y HTTP como API
CouchDB fue liberada por primera vez en 2005, transformándose en un proyecto Apache en 2008.
Características principales
  • Almacenamiento de documentos: Almacena los datos como "documentos", esto es, uno o más pares campo/valor expresados en JSON. Los valores de los campos pueden ser datos simples como cadenas de caracteres, números o fechas.
  • Semántica ACID: Provee una semántica de atomicidad, consistencia, aislamiento y durabilidad.
  • Arquitectura distribuida con replicación: Múltiples réplicas pueden tener cada una sus propias copias de los mismos datos, modificarlas y luego sincronizar esos cambios en un momento posterior.
  • Consistencia Eventual: Garantiza consistencia eventual para poder ofrecer tanto disponibilidad como tolerancia a las particiones.

Referencias:
  • Martin S. (20 de abril del 2017). PandoraFms. Obtenido de PandoraFms: https://blog.pandorafms.org/es/bases-de-datos-nosql/
  • (2019). Amazon Web Services. Obtenido de Amazon Web Services: https://aws.amazon.com/es/dynamodb/
  • (06 de Diciembre del 2018). Apache CouchDB. Obtenido de Apache CouchDB: http://couchdb.apache.org/

No hay comentarios.:

Publicar un comentario