Base di dati orientata al documento
Una Base di dati orientata al documento è un programma per applicazioni orientate al documento. Questi sistemi potrebbero essere implementati come strato sopra un database relazione o a oggetti.
Le Base di dati orientata al documento non memorizzano i dati in tabelle con campi uniformi per ogni record come nei database relazionali ma ogni record è memorizzato come un documento che possiede determinate caratteristiche. Qualsiasi numero di campi con qualsiasi lunghezza può essere aggiunto al documento. I campi possono anche contenere pezzi multipli di dati.
Implementazioni
Tutti i database XML sono database orientati al documento. Alcuni esempi:
- Lotus Notes (IBM)
- askSam (askSam Systems)[1]
- Apstrata
- Datawasp (Significant Data Systems)
- SimpleDB (Amazon.com)
- CRX (Day Software)
- MUMPS Database[2]
- UniVerse (Rocket Software)
- UniData (Rocket Software)
Implementazioni Open source:
- Apache Jackrabbit (Apache License)
- Apache CouchDB (Beta software), (Apache License)
- FleetDB una base di dati senza schema implementato in Clojure e ottimizzato per uno sviluppo agile. (Licenza MIT)
- MongoDB - database orientato al documento. (GNU AGPL v3.0 [3])
- OrientDB - Database orientato al documento, ma con una gestione ottimizzata delle relazioni fra documenti come avviene in un database a grafo. Open source con licenza commercial friendly (Apache License)
- RavenDB - Transazionale .NET basato su database a documento RESTful.[4] (commercial o GNU AGPL v3.0)
- Redis - Key-value store with support for lists and sets (BSD License)
- Riak - Decentralizzato, tolleranza all'errore, datastore di documenti scalabile orizzontalmente (Apache License)
- StrokeDB ( Licenza MIT)
- ThruDB ( Licenza BSD)
- Persevere è un database JSON e un JavaScript Application Server. Fornisce un'interfaccia RESTful JSON per l'acceso alla creazione, lettura, aggiornamento e cancellazione dei dati. Supporta anche le interrogazioni JSONQuery/JSONPath.
- DBSlayer è un leggero database abstraction layer (su MySQL) che può parlare ai client via JSON su HTTP usato dal New York Times.