Cassandra or MongoDB for good scaling and lots of queries

I have the following situation. There are many database queries (usually write comments, read profiles, etc.), and, I think, will read more than they write. I want to have a good ability to scale db on multiple servers. So, I like nosql :) As far as I understand, when reading blogs and answers to a question about StackOverflow (like this one ), the best choice in this situation is to use Cassandra.

So the question is, is Cassandra more suitable for my purposes? Why?

And the second question will be devoted to asynchronous client libraries for Tornado - do you know some implementations of this? As you can see on the wiki page linked above, there are asynchronous clients only for mongodb and couchdb. And this fact also stops me.

Maybe I can use MongoDB now (there is a reason for the asynchronization library, and maybe for the first time it will be faster than Cassandra on several servers, but without async), and after a while converts the data in mongo to cassandra. What do you think about this?

+5
source share
1 answer

- . Tornado 2.1 , , Cassandra telephus (twisted + Cassandra) async Cassandra.

    import tornado.platform.twisted
    from telephus.pool import CassandraClusterPool
    from twisted.internet import reactor

    tornado.platform.twisted.install()

    from twisted.internet import reactor

    pool = CassandraClusterPool([HOST], keyspace='XXXX', reactor=reactor)

    pool.startService()

    reactor.run()        # this calls tornado.ioloop.IOLoop.instance().start() 

, MongoDB mongoengine ( async) Cassandra + telephus . .

+3

All Articles