31

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?

Ajay Singh Rana
  • 573
  • 4
  • 19
silviud
  • 1,015
  • 1
  • 12
  • 21
  • 6
    NoSQL 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
  • 1
    yeah - you are right but i'm asking what are the most popular nosql db for pythonistas – silviud Apr 29 '11 at 15:03

5 Answers5

24

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

Zanson
  • 3,991
  • 25
  • 31
14

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.

http://api.mongodb.org/python/current/tutorial.html

Brian O'Dell
  • 3,029
  • 1
  • 20
  • 23
5

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.

quamrana
  • 37,849
  • 12
  • 53
  • 71
Rakis
  • 7,779
  • 24
  • 25
4

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

quamrana
  • 37,849
  • 12
  • 53
  • 71
theheadofabroom
  • 20,639
  • 5
  • 33
  • 65
0

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.

Community
  • 1
  • 1
sw.
  • 3,240
  • 2
  • 33
  • 43