Qu'est-ce qu'une base de données de documents ?

Définition d'une base de données de documents

Une base de données de documents est un type de base de données non relationnelle conçu pour stocker des données semi-structurées sous la forme de documents. Les bases de données de documents sont utilisées de manière intuitive par les développeurs, car les données de la couche applicative sont généralement représentées sous la forme d'un document JSON. Les développeurs peuvent conserver des données en utilisant le même format de modèle de document qu'ils utilisent dans leur code d'application. Dans une base de données, chaque document peut avoir la même structure ou une structure différente, et chaque document est auto-descriptif, y compris son éventuel schéma unique, et ne dépend pas forcément d'un autre document. Les documents sont regroupés dans des « collections », poursuivant un objectif similaire pour une table dans une base de données relationnelle. 

Par exemple,dans une simple base de données composée d'ouvrages, un fichier JSON décrivant un ouvrage peut présenter le code suivant.

[
    {
        "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
        }
    }
]

Cas d'utilisation

Gestion de contenu

Une base de données de documents est un bon choix pour les applications de gestion de contenu comme les blogs et les plateformes vidéo. Avec une base de données de documents, chaque entité que suit l'application peut être stockée comme un document unique. La base de données de documents est plus intuitive pour qu'un développeur puisse mettre à jour une application à mesure que les exigences évoluent. De plus, si le modèle de données doit être modifié, seuls les documents concernés doivent être mis à jour. Aucun schéma de mise à jour ou interruption de la base de données n'est nécessaire pour effectuer les modifications. 

Catalogues

Les bases de données de documents sont un bon moyen de stocker des informations sur les catalogues. Par exemple, dans une application d'e-commerce, des produits différents ont souvent des attributs différents. Gérer des milliers d'attributs dans des bases de données relationnelles n'est pas efficace, et cela nuit aux performances de lecture. En utilisant une base de données de documents, les attributs de chaque produit peuvent être décrits dans un seul document pour une gestion aisée et une vitesse de lecture supérieure. Si vous modifiez les attributs d'un produit, ceux d'un autre produit ne seront pas modifiés.

Bases de données de documents courantes

Amazon DynamoDB

Amazon DynamoDB est une base de données non relationnelle offrant des performances fiables, quelle que soit l'échelle. Il s'agit d'une base de données multirégion et multimaître à gestion intégrale qui fournit une latence constante de quelques millisecondes et un système de sécurité, de sauvegarde et de restauration intégré, ainsi que de mise en cache en mémoire. DynamoDB prend en charge le format JSON natif : vous pouvez donc écrire des documents JSON directement dans des tables DynamoDB. Avec une taille d'élément de 400 Ko maximum, DynamoDB vous permet de stocker des documents JSON volumineux et des objets imbriqués en une seule transaction.

Démarrez avec DynamoDB aujourd'hui.

Démarrez avec Amazon DynamoDB

MongoDB

MongoDB est une base de données non relationnelle open source qui prend en charge les systèmes de stockage orientés document de style JSON. Cette base de données prend en charge un modèle de données flexible qui vous permet de stocker des données de n'importe quelle structure, et vous propose un vaste éventail de fonctionnalités, y compris la prise en charge complète de l'index, le partage et la réplication. AWS vous permet de configurer l'infrastructure pour prendre en charge le déploiement de MongoDB de manière flexible, scalable et rentable dans le cloud AWS. 

Utilisez le guide AWS MongoDB Quick Start (également disponible au format PDF) pour déployer un cluster MongoDB dans le cloud AWS. Pour consulter une présentation de MongoDB et de son implémentation dans AWS, reportez-vous au livre blanc MongoDB sur AWS : directives et bonnes pratiques. Consultez également AWS security recommendations for MongoDB.

Couchbase

Conçue pour optimiser les applications mobiles, IoT et web attrayantes, la plateforme Couchbase Data de niveau entreprise inclut Couchbase Server et Couchbase Mobile. Couchbase Server est une base de données non relationnelle résidant dans le cloud, conçue avec une architecture distribuée à des fins de performance, de scalabilité et de disponibilité. Elle permet aux développeurs de créer des applications en mettant à profit la puissance de SQL et la souplesse de JSON. Couchbase Mobile inclut une base de données entièrement intégrée, une sécurité interne et une synchronisation automatique en temps réel avec le serveur hautement scalable Couchbase.

Utilisez le guide AWS Couchbase Quick Start (également disponible au format PDF) pour déployer un cluster Couchbase dans le cloud AWS.