Mam następującą sytuację. Istnieje wiele zapytań do bazy danych (zwykle pisanie komentarzy, czytanie profili, itp.), I myślę, że będzie więcej czyta niż pisze. Chcę mieć dobrą możliwość skalowania db do kilku serwerów. Tak więc i lubię nosql :) Jak rozumiem czytając blogi i odpowiedzi na pytanie dotyczące StackOverflow (na przykład this one) najlepszym wyborem w tej sytuacji jest użycie Cassandra.Cassandra lub MongoDB dla dobrego skalowania i dużej ilości zapytań
Zatem pytanie brzmi - czy Cassandra jest bardziej odpowiednia dla moich celów? Czemu?
Drugie pytanie dotyczy bibliotek asynchronicznych klienta dla Tornado - czy znasz jakieś implementacje tego? Jak widać na powyższej stronie wiki, klienci async tylko dla mongodb i couchdb. I ten fakt także mnie zatrzymuje.
Może teraz mogę użyć MongoDB (przyczyna asysty, która powstaje, a może za pierwszym razem będzie szybsza niż Cassandra na kilku serwerach, ale bez asynchronizacji), a po pewnym czasie konwertuje dane w Mongo na Kasandra. Co o tym myślisz?
AFAIK nie ma żadnych gotowych (async) licencji Cassandra, które działają w Tornados IOLoop. (ps przeczytać post Bens o wątkach: https://github.com/facebook/tornado/wiki/Threading-and-currency) – Schildmeijer
Thx za link! Jak myślisz, czy użycie Cassandra bez asynchronizacji będzie szybsze niż MongoDB z modułem asynchronicznym. A może różnica będzie bardzo mała - i będę miał czas na napisanie własnej implementacji asynchronicznej. Może mogę po prostu uruchomić specjalny wątek dla interakcji db, który będzie komunikował się z wątkiem Tornada. – dizpers
Tornado obsługuje skręcony, co oznacza, że możesz użyć asynchronicznej biblioteki skręconej telephus do obsługi Async Cassandra. – koblas