2010-04-09 14 views
7

Czy powinienem używać Cassandry do 100 000 projektów użytkowników? W MySQL 5 mam wyszukiwanie pełnotekstowe i partycjonowanie tabel. Zaczynam Q & System taki jak SO z CodeIgniter. Jest to przejście z vBulletin do nowego systemu. W starym systemie vBulletin miałem 100 000 użytkowników, a łączny post liczył około 80 000. W ciągu najbliższych 3 lub 4 lat oczekuję, że będzie coraz więcej użytkowników i postów. Czy powinienem używać Cassandry zamiast MySQL 5?Cassandra lub mysql 5? Co będzie dobre na przyszłość?

Jeśli używam Cassandry, muszę przejść z Grid-Service na Dedicated-Virtual hosting w Media Temple. Ponieważ Cassandra nie jest dostarczana jako część systemu hostingowego, muszę użyć rozwiązania serwera VPS lub DV. Jeśli używam MySQL, hosting nie jest problemem, ale co z wydajnością, szybkością wyszukiwania?

Nawiasem mówiąc, jaką bazą danych jest Stack Overflow, używając?

+1

Pierwszą rzeczą, na którą należy się upewnić, jest to, czy chcesz bazy danych SQL, czy bazy danych NoSQL, np. Cassandra. To zupełnie inna architektura. – Gordon

+1

Stackoverflow używa SQL Server 2008. Poniższe mogą być interesujące: http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html – ChristopheD

+0

yes. Baza danych noSQL lub SQL. W przyszłości RDB może umrzeć? – saturngod

Odpowiedz

6

Mówisz 100 000 użytkowników - ale ilu współbieżnych użytkowników?

Cassandra nie jest wbudowany system gospodarzem

Korzystanie hostowane usługi na jednym serwerze sugeruje bardzo małą skalę operację - i oczywiście swój ograniczony budżet. Z pewnością nie ma żadnej korzyści z działania Cassandry na jednym węźle serwera.

w MySQL 5 mają wyszukiwanie pełnotekstowe

który nie jest bardzo skalowalne rozwiązanie - powinno się pomyśleć o użyciu znormalizowanego wyszukiwanie (które moim zdaniem trzeba by zrobić, jeśli były migracji do Cassandry w każdym razie).

Biorąc pod uwagę, że możesz wygodnie skalować rozwiązanie MySQL do wielu baz danych za pomocą replikacji, zanim jeszcze pomyślisz o w pełni klastrowanym rozwiązaniu, i oczywiście nie masz budżetu na tworzenie własnego hostingu, migracja do Cassandra wydaje się masowym przesadą .

+0

dziękuję. W przyszłości zmienię na dv. Teraz używam mediatemple gridserver. Co to jest wyszukiwanie znormalizowane? – saturngod

8

Na podstawie podanych informacji sugerowałbym trzymanie się MySQL.

Podobnie jak marginesie, Facebook był MySQL w pierwszym, i ostatecznie przeniósł się do Cassandratylko po jej przechowywania ponad 7 terabajtów danych skrzynki odbiorczej, przez ponad 100 milionów użytkowników.

Wikipedia także handles hundreds of Gigabytes danych tekstowych w MySQL.

+0

Dziękujemy. wspaniały! informacje dla mnie. – saturngod

1

NIE polecam używasz Cassandrę w przypadku następujących powodów:

  1. Cassandra wymaga dobrego zrozumienia aplikacji budujemy. Znacznie trudniej będzie wprowadzać zmiany i uruchamiać złożone zapytania przeciwko danym przechowywanym w Kasandra. SQL jest bardziej elastyczny i łatwiejszy w utrzymaniu. Cassandra jest dobra, gdy musisz przechowywać ogromne ilości danych i kiedy wiesz dokładnie, w jaki sposób dane przechowywane w Kasandra będą dostępne i sortowane.

  2. Mysql działa poprawnie dla milionów wierszy, jeśli zbudowane są odpowiednie indeksy.

  3. Jeśli w przyszłości natkniesz się na wąskie gardła z mysql, możesz przyjrzeć się dokładnie, jakie są twoje problemy i skalować je za pomocą kasandra. Chodzi mi o to, że musisz połączyć oba podejścia: SQL i noSQL w tym samym projekcie.

Jeśli chodzi o indeks pełnotekstowy mysql, mogę powiedzieć, że jest bezużyteczny. Mam na myśli to, że działa zbyt źle, aby można go było wykorzystać w projektach o dużym obciążeniu. Spójrz na sphinxsearch.com, która jest świetną implementacją wyszukiwania pełnotekstowego dla baz danych sql.

Ale jeśli spodziewasz się, że twój system szybko się rozwinie i będzie obsługiwał miliony użytkowników, powinieneś rozważyć kasandra od samego początku.

Powiązane problemy