¿Qué es una base de datos de documentos?

Definición de las bases de datos de documentos

Una base de datos de documentos es un tipo de base de datos no relacional que ha sido diseñada para almacenar y consultar datos como documentos de tipo JSON. Las bases de datos de documentos facilitan a los desarrolladores el almacenamiento y la consulta de datos en una base de datos mediante el mismo formato de modelo de documentos 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 casos de uso como catálogos, perfiles de usuario y sistemas de administración de contenido en los que cada documento es único y evoluciona con el tiempo. Las bases de datos de documentos permiten una indexación fácil, potentes consultas ad hoc y análisis de colecciones de documentos.

En el siguiente ejemplo, un documento de tipo JSON describe un libro.

[
    {
        "year" : 2013,
        "title" : "Turn It Down, Or Else!",
        "info" : {
            "directors" : [ "Alice Smith", "Bob Jones"],
            "release_date" : "2013-01-18T00:00:00Z",
            "rating" : 6.2,
            "genres" : ["Comedy", "Drama"],
            "image_url" : "http://ia.media-imdb.com/images/N/O9ERWAU7FS797AJ7LU8HN09AMUP908RLlo5JF90EWR7LJKQ7@@._V1_SX400_.jpg",
            "plot" : "A rock band plays their music at high volumes, annoying the neighbors.",
            "actors" : ["David Matthewman", "Jonathan G. Neff"]
        }
    },
    {
        "year": 2015,
        "title": "The Big New Movie",
        "info": {
            "plot": "Nothing happens at all.",
            "rating": 0
        }
    }
]

Casos de uso

Administración de contenido

Una base de datos de documentos es una excelente opción para aplicaciones de administración de contenido, como blogs y plataformas de video. Con una base de datos documental, cada entidad que rastrea la aplicación se puede almacenar como un único documento. La base de datos de documentos es más intuitiva para que un desarrollador actualice una aplicación a medida que evolucionan los requisitos. Además, si el modelo de datos necesita cambiar, solo se deben actualizar los documentos afectados. No se requiere actualización del esquema y no es necesario tiempo de inactividad de la base de datos para realizar los cambios. 

Catálogos

Las bases de datos de documentos son eficientes y efectivas para almacenar información de catálogo. Por ejemplo, en una aplicación de e-commerce, los diferentes productos generalmente tienen diferentes números de atributos. La administración de miles de atributos en bases de datos relacionales no es eficiente y afecta al rendimiento de lectura. Al utilizar una base de datos de documentos, los atributos de cada producto se pueden describir en un solo documento para que la administración sea fácil y la velocidad de lectura sea más rápida. Cambiar los atributos de un producto no afectará a otros.

Las bases de datos de documentos más conocidas

Amazon DocumentDB (compatible con MongoDB)

Amazon DocumentDB (compatible con MongoDB) es un servicio de base de datos de documentos rápido, escalable, de alta disponibilidad y completamente administrado que es compatible con cargas de trabajo de MongoDB. Los desarrolladores pueden usar en Amazon DocumentDB el mismo código de aplicación, controladores y herramientas para ejecutar, gestionar y escalar las cargas de trabajo que usan en MongoDB. Además, podrán disfrutar del rendimiento, escalabilidad y disponibilidad mejorada sin tener que preocuparse de gestionar la infraestructura subyacente.

Comience a utilizar Amazon DocumentDB hoy mismo.

MongoDB

MongoDB es una base de datos no relacional de código abierto que ofrece soporte para sistemas de almacenamiento de estilo JSON orientados a documentos. Es compatible con un modelo de datos flexible que le permite almacenar datos de cualquier estructura, y proporciona un amplio conjunto de características, que incluyen compatibilidad total con la indexación, la fragmentación y la replicación. AWS le permite configurar la infraestructura para admitir la implementación de MongoDB de una manera flexible, escalable y rentable en la nube de AWS. 

Use el documento Quick Start de AWS MongoDB (también disponible en formato PDF) para implementar un clúster de MongoDB en la nube de AWS. Para obtener un información general de MongoDB y su implementación en AWS, consulte el documento técnico MongoDB on AWS: Guidelines and Best Practices (MongoDB en AWS: pautas y prácticas recomendadas). También consulte AWS security recommendations for MongoDB (Recomendaciones de seguridad de AWS para MongoDB).

Couchbase

La plataforma de datos de clase empresarial Couchbase incluye Couchbase Server y Couchbase Mobile, y ha sido diseñada para aprovechar toda la potencia de las aplicaciones móviles, IoT y web. Couchbase Server es una base de datos no relacional nativa de la nube diseñada con una arquitectura distribuida para aumentar el rendimiento, la escalabilidad y la disponibilidad. Permite a los desarrolladores crear aplicaciones combinando la potencia de SQL con la flexibilidad de JSON. Couchbase Mobile incluye una base de datos incrustada totalmente integrada, que incluye características de seguridad y sincronización automática en tiempo real con el servidor Couchbase altamente escalable.

Use el documento Quick Start de AWS Couchbase (también disponible en formato PDF) para implementar un clúster de Couchbase en la nube de AWS.