NoSQL (Not Only SQL) est une base de données non relationnelle. NoSQL, à la différence des bases de données relationnelles telles que MySQL, PostgreSQL, Oracle…) s’affranchit du langage SQL : aucune requête SQL n’est exécutée pour accéder aux données.
Selon wikipédia, « NoSQL («Not Only SQL ») est une technologie relative aux bases de données, qui a émergé à partir du printemps 2009. Le terme se réfère au stockage non relationnel de données en vue d’améliorer les bases de données dans une direction nécessitant une évolutivité horizontale. NoSQL tente de répondre à cette exigence ».
Les projets s’intéressant à cette nouvelle technologie sont déjà nombreux :
Liste des bases de données NOSQL
Les bases de données orientées colonnes
- Amazon SimpleDB (Projet non open source)
- Cassandra (API: Thrift [Ruby, C++, Java, Python, PHP, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, OCamletc], Méthode d’interrogation: MapReduce, Ecrit en: Java)
- Cloudera (Logiciel professionnel – Services basés sur le projet Hadoop)
- Hadoop / HBase (API: Java, Méthode d’interrogation: MapReduce Java, Réplication: HDFS, Ecrit en: Java)
- HYPERtable (API: Thrift [Ruby, C++, Java, Python, PHP, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, OCamletc], Méthode d’interrogation: HQL, API Thrift native, Réplication: HDFS)
Les bases de données orientées document
- Citrusleaf ()
- CouchDB (API: JSON, Protocole: REST, Méthode d’interrogation: Function Javascript MapReduceR, Replication: Master Master,Ecrit en Erlang)
- MongoDB (API: BSON, Méthode d’interrogation: dynamic object-based language, Réplication: Master Slave, Ecrit en: C++,)
- OrientDB (Langage: Java, Schema: Has features of an Object-Database, DocumentDB, GraphDB or Key-Value DB, Ecrit en: Java, Méthode d’interrogation: Native et SQL,)
- RavenDB(Solution .Net. Acces HTTP/JSON. Support de LINQ queries et Sharding)
- Terrastore (API: Java & http, Protocole: http, Méthode d’interrogation: Range queries, Predicates, Réplication: Partitioned with consistent hashing)
- ThruDB (Utilise Apache Thrift pour intégrer divers backend de base de données comme BerkeleyDB, Disk, MySQL, S3)
Les bases de données orientées clé
- Amazon Dynamo
- Azure Table Storage
- Berkeley DB
- Chordless
- Dynomite
- Faircom C-Tree
- GenieDB
- GT.M
- HamsterDB
- KAI
- Keyspace
- LightCloud
- MEMBAS
- MemcacheDB
- Mnesia
- Riak
- Redis
- Tokyo Cabinet / Tyrant
- Voldemort
Les bases de données orientées graphe
Système Logiciel NoSQL
Bases de données « Objet »
Bases de données « Grid »
Bases de données « XML »
- BaseX
- Berkeley DB XML
- EMC Documentum xDB (commercial)
- eXist
- Qizx (commercial)
- Mark Logic Server (commercial)
- Sedna
- Tamino
- Xindice
Bases de données « Multivalue »
Autres bases de données NoSQL
Pour approfondir le sujet, je vous recommande fortement de lire l’article de Michael Figuiere, « NoSQL Europe : Tour d’horizon des bases de données NoSQL« , qui aborde notamment Les familles de NoSQL, à savoir « Les bases de données clé-valeur », « Les bases de données orientées document », « Les bases de données orientées colonnes », « Les bases de données orientées graphe », etc.
Sympa la liste, je ne savais pas qu’il y en avait autant, même si je suis habitué à notre bon vieux SQL ^^.
Par contre « tendance » écrit comme ça me fait un peu mal aux yeux 🙂
Merci… c’est corrigé… La liste bien que longue ne doit pas être complète… si vous avez connaissance d’autres projets.. laissez un petit commentaire… j’ajouterai la référence dans la liste…
Merci bien !
y_serial = sérialisation + persistance. En quelques lignes de code, de compresser et d’annoter les objets Python dans SQLite, puis plus tard les récupérer chronologiquement par mots-clés sans SQL. Très utile NoSQL « standard » module pour une base de données pour emmagasiner les données sans schéma.
http://goo.gl/p03Zw pour la traduction en français ; mais pour le code, voir la version anglaise : http://yserial.sourceforge.net
Ou pour le répertoire Mercurial, voir http://bitbucket.org/rsvp/yserial
2015 référentiel renouvelé
y_serial, qui permet de s’initier aux bases NoSQL de type clé-valeur:
https://github.com/rsvp/yserial
Et pour un manuel d’instruction:
http://nbviewer.ipython.org/urls/git.io/yserial-HOWTO.ipynb