Monday, January 9, 2017

système de gestion de base de données orienté documents (JSON:CouchDB ) (XML: et non en lignes et en colonnes.



JSON

Apache CouchDB est un système de gestion de base de données orienté documents, écrit en langage Erlang et distribué sous licence Apache.

Conçu pour le Web, il fait partie de la mouvance NoSQL, et a été conçu pour pouvoir être réparti sur de multiples serveurs.

Conception
Au lieu d'être ordonnée en lignes et en colonnes, la base de données CouchDB est une collection de documents JSON. 
De plus, CouchDB contient un serveur HTTP qui permet d'effectuer des requêtes, et renvoie ses données sous forme JSON. 
On peut ainsi interroger un serveur CouchDB directement avec un navigateur Web, ou on peut exécuter des requêtes avec JavaScript. 

Les principales opérations effectuées sont MAP et REDUCE (voir article MapReduce https://fr.wikipedia.org/wiki/MapReduce). Ces opérations sont utiles lorsque la base de données est répartie, elles sont soumises à des contraintes de commutativité, d'associativité et d'idempotence.

https://fr.wikipedia.org/wiki/CouchDB
https://en.wikipedia.org/wiki/CouchDB (plus complet)

http://couchdb.apache.org/

XML

Une base de données XML Native (NXD en anglais) est une base de données qui s'appuie sur le modèle de données fourni par XML. Elle utilise typiquement des langages de requête XML comme XPath ou XQuery.

L'indexation dans une base de données XML nécessite d'indexer non seulement le contenu des éléments mais aussi la structure, les relations entre éléments pour que des requêtes XPath comme /foo/bar utilisent l'index.


There are a number of reasons to directly specify data in XML or other document formats such as JSON. For XML in particular, they include:

An enterprise may have a lot of XML in an existing standard format

  • Data may need to be exposed or ingested as XML, so using another format such as relational forces double-modeling of the data
  • XML is very well suited to sparse data, deeply nested data and mixed content (such as text with embedded markup tags)
  • XML is human readable whereas relational tables require expertise to access
  • Metadata is often available as XML
  • Semantic web data is available as RDF/XML

Steve O'Connell gives one reason for the use of XML in databases: the increasingly common use of XML for data transport, which has meant that "data is extracted from databases and put into XML documents and vice-versa". It may prove more efficient (in terms of conversion costs) and easier to store the data in XML format. In content-based applications, the ability of the native XML database also minimizes the need for extraction or entry of metadata to support searching and navigation.

https://en.wikipedia.org/wiki/XML_database
https://fr.wikipedia.org/wiki/BaseX

No comments:

Post a Comment