Cos’è un database di documenti?

Definizione di database di documenti

Un database di documenti è un database di tipo non relazionale progettato per memorizzare dati semi strutturati come documenti. I database di documenti sono intuitivi per gli sviluppatori perché i dati del livello applicazione sono tipicamente rappresentati come documenti JSON. Gli sviluppatori possono rendere i dati persistenti utilizzando lo stesso formato del modello di documento che impiegano nei codici delle loro applicazioni. In un database di documenti, la struttura dei dati di ogni documento può essere la stessa o può variare. Ogni documento è indipendente, può presentare uno specifico schema e non è collegato necessariamente a un altro documento. I documenti vengono raggruppati in “raccolte”, che svolgono la stessa funzione delle tabelle dei database relazionali. 

Ad esempio, in un semplice database di libri, un file JSON che descrive un’entità corrispondente a un libro potrebbe somigliare al codice seguente.

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

Casi d'uso

Gestione dei contenuti

Un database di documenti rappresenta una scelta vincente per le applicazioni di gestione dei contenuti come blog o piattaforme video. Nei database di documenti, ogni entità di cui l’applicazione tiene traccia può essere archiviata come singolo documento. Nei database di documenti, gli sviluppatori possono aggiornare le applicazioni al variare delle richieste in maniera più intuitiva. Inoltre, se i modelli di dati devono essere cambiati, è necessario aggiornare solo i documenti interessati. L’aggiornamento degli schemi e l’inattività temporanea del database non sono necessari per apportare i cambiamenti. 

Cataloghi

I database di documenti sono soluzioni efficaci per archiviare e catalogare le informazioni. Ad esempio, in un’applicazione di e-commerce, a prodotti differenti corrispondono quantità differenti di attributi. La gestione di migliaia di attribuiti attraverso un database relazionale non è efficace e la lettura risulta meno agevole. Nei database di documenti, gli attributi di ogni prodotto possono essere descritti in un unico documento favorendo la gestione e la velocità di lettura. Cambiare gli attributi di un prodotto non avrà conseguenze sugli altri.

Database di documenti più utilizzati

Amazon DynamoDB

Amazon DynamoDB è un database non relazionale che fornisce prestazioni affidabili su qualsiasi scala. Si tratta di un database multi master, multi regione e completamente gestito che fornisce latenza costante di pochi millisecondi e che offre sicurezza integrata, backup e ripristino e cache in memoria. DynamoDB supporta JSON, pertanto è possibile scrivere documenti JSON direttamente nelle tabelle DynamoDB. Con un massimo di 400 KB di elementi, DynamoDB permette di archiviare una grande quantità di documenti JSON e oggetti annidati in una sola transazione.

Inizia a utilizzare DynamoDB oggi.

Nozioni di base su Amazon DynamoDB

MongoDB

MongoDB è un database non relazionale open source che fornisce supporto per sistemi di archiviazione di tipo JSON orientati ai documenti. Supporta un modello di dati che permette di archiviare dati strutturati in qualsiasi modo oltre a fornire una vasta gamma di funzionalità, come il supporto completo per l’indice, sharding dei dati e replica. AWS permette di impostare l’infrastruttura che supporta l’apertura di MongoDB in modo flessibile, scalabile e conveniente sul cloud AWS. 

Consulta la guida AWS MongoDB Quick Start (disponibile anche in formato PDF) per caricare il cluster MongoDB sul cloud AWS. Per una panoramica di MongoDB e delle sue implementazioni su AWS, ti invitiamo a consultare il whitepaper  MongoDB in AWS: linee guida e best practice. Inoltre, assicurati di rivedere i consigli per la sicurezza di AWS per MongoDB.

Couchbase

Progettata per offrire interazione e gestione dei dati tra applicazioni Web, IoT e mobili, la piattaforma dati Couchbase di classe enterprise è formata da Couchbase Server e Couchbase Mobile. Couchbase Server è un database non relazionale nativo per il cloud progettato con un'architettura distribuita per offrire performance, scalabilità e disponibilità. Consente agli sviluppatori di creare applicazioni sfruttando le potenzialità di SQL e la flessibilità di JSON. Couchbase Mobile include un database pienamente integrato, sicurezza incorporata e sincronizzazione automatizzata in tempo reale con il server altamente scalabile Couchbase.

Consulta la guida Avvio rapido AWS Couchbase (disponibile anche in formato PDF) per caricare il cluster Couchbase sul cloud AWS.