What are the popular NoSQL databases that are used with Python ? I know there are a few options as explained at http://nosql-database.org/ but which one does python programmers use/recommend the most?
-
6NoSQL covers a variety of database types (key-value stores, document stores, graph databases) each with its own use case. The question shouldn't be which is the most common/popular but which one fits your usage needs. – Mark Lavin Apr 29 '11 at 14:07
-
1yeah - you are right but i'm asking what are the most popular nosql db for pythonistas – silviud Apr 29 '11 at 15:03
5 Answers
Most of the nosql databases have python clients which are actively supported. Pick your database based on your usage needs. Using it from python shouldn't be a problem.
To name a few:
Cassandra: https://github.com/datastax/python-driver
Riak: https://github.com/basho/riak-python-client
MongoDB: http://api.mongodb.org/python/current/
CouchDB: http://wiki.apache.org/couchdb/Getting_started_with_Python
Redis: https://github.com/andymccurdy/redis-py

- 3,991
- 25
- 31
I like mongodb. Basically you can just throw a dictionary into a database, which makes it very easy to use from python. I haven't seen a consensus on one specific nosql database. I would suggest trying a couple of them. Redis is pretty neat and couchdb is in the mix.

- 3,029
- 1
- 20
- 23
Be sure to take a look at ZODB. It's an exceedingly easy-to-use, Python-based database that covers a large range of use cases and has been used in production environments for many years.
-
That link is broken. A more current link is http://www.zodb.org/en/latest/ – Zauberin Stardreamer Feb 28 '14 at 18:34
In addition to the standard NOSQL databases mentioned by Zanzon you might also try:
shelve, which is a document database provided as part of the python standard library, and uses anydbm as a backend. it supports anything that can be pickled.
shove, which is similar to shelve but with a wide choice of backends including dbm, ZODB, Redis, Mongo et al.
ZODB, which is part of the Zope framework - I'd recommend using this on its own only if you also use Zope.
I myself have recently started using shelve with a decent amount of success - the only caution I'd give you is that it does not play well with the default OSX version of python - in fact issues with low file size limits (hundreds of KiB) have been noted on 2.7.1<=python<=2.7.3 . I however have no issued on the brew version of python 2.7.5

- 37,849
- 12
- 53
- 71

- 20,639
- 5
- 33
- 65
I strongly recommend DyBASE. It is not popular but it is an excellent Python object database before the NoSQL term existed. I answered a similar question at List of Python Object Databases.