Cassandra или MongoDB для хорошего масштабирования и большого количества запросов - PullRequest
5 голосов
/ 21 ноября 2011

У меня следующая ситуация.Есть много запросов к базе данных (обычно пишут комментарии, читают профили и т. Д.), И, я думаю, будет больше читать, чем писать.Я хочу иметь хорошую возможность масштабирования БД на несколько серверов.Итак, мне нравится nosql :) Как я понимаю, читая блоги и ответы на вопросы по StackOverflow (например, this ), лучшим выбором в этой ситуации является использование Cassandra.

Итак,вопрос в том, подходит ли Кассандра для моих целей?Почему?

И второй вопрос будет касаться асинхронных клиентских библиотек для Tornado - знаете ли вы некоторые реализации этого?Как вы можете видеть на вики-странице, ссылки на которую есть выше, асинхронные клиенты существуют только для mongodb и couchdb.И этот факт также останавливает меня.

Может быть, теперь я смогу использовать MongoDB (причина асинхронной библиотеки существует, и, возможно, в первый раз она будет быстрее, чем Cassandra на нескольких серверах, но без асинхронного), и через некоторое время преобразовать данные в mongo в cassandra.Что вы думаете об этом?

1 Ответ

3 голосов
/ 21 ноября 2011

Половина ответа - поскольку речь идет не о пригодности. Tornado 2.1 поддерживает Twisted в качестве асинхронного шаблона, что означает, что вы можете использовать библиотеку Telephus Cassandra (Twisted + Cassandra) для асинхронного доступа к 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 (не асинхронный) для некоторых личных проектов на данный момент и Cassandra + telephus для рабочих проектов. Я делаю компромисс между гибкими моделями данных и фиксированными моделями данных и производительностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...