Cassandra или mysql 5? Который будет хорош для будущего?

Я должен использовать Cassandra для 100 000 пользовательских проектов? В MySQL 5 у меня есть разделение таблицы и полнотекстовый поиск. Я запускаю систему Вопросов и ответов как ТАК с CodeIgniter. Это - перемещение от vBulletin до новой системы. В старой vBulletin системе у меня было 100 000 пользователей с общим количеством сообщения приблизительно 80 000. За следующие 3 или 4 года я ожидаю, что будет все больше пользователей и отправляет обоих. Так, я должен использовать Cassandra вместо MySQL 5?

Если я использую Cassandra, я должен измениться от Сервиса Сетки до Специализированно-виртуального хостинга в Храме Медиа. Поскольку Cassandra не предоставляют как часть системы хостинга, я должен использовать VPS или решение для сервера DV. Если я использую MySQL, хостинг не является проблемой, но затем что относительно действий, поисковой скорости.

Между прочим, что использует база данных Переполнение стека?

7
задан Filip Dupanović 12 February 2011 в 23:12
поделиться

3 ответа

Вы говорите, что 100 000 пользователей - но сколько одновременных пользователей?

Кассандра не встроена в систему хостинга

Использование размещенной службы на одном сервере предлагает очень маломасштабную операцию - и ваш, очевидно, ограниченный вашим бюджетом. Конечно, нет никаких преимуществ в использовании Cassandra на одном серверном узле.

В mysql 5 есть полнотекстовый поиск

Это не очень масштабируемое решение - вам определенно следует подумать об использовании нормализованного поиска (который, я думаю, вам придется сделать, если вы все равно переходите на Cassandra).

Учитывая, что вы можете с комфортом масштабировать решение MySQL для нескольких баз данных с помощью репликации, прежде чем вы даже подумаете о полностью кластеризованном решении, и у вас, очевидно, нет бюджета, чтобы сделать свой собственный хостинг, переход на Cassandra кажется огромным излишеством.

6
ответ дан 6 December 2019 в 14:02
поделиться

Я бы НЕ рекомендовал вам использовать cassandra в вашем случае по следующим причинам:

  1. Cassandra нуждается в хорошем понимании приложения, которое вы создаете.Будет намного сложнее вносить изменения и выполнять сложные запросы к данным, хранящимся в cassandra. SQL более гибкий и простой в обслуживании. Cassandra хороша, когда вам нужно хранить огромные объемы данных и когда вы точно знаете, как данные, хранящиеся в Cassandra, будут доступны и отсортированы.

  2. Mysql отлично работает с миллионами строк, если правильно построены индексы.

  3. Если вы столкнетесь с некоторыми узкими местами в будущем с mysql, вы можете посмотреть, в чем именно заключаются ваши проблемы, и масштабировать их с помощью cassandra. Я имею в виду, что вы должны уметь комбинировать оба подхода: SQL и noSQL в одном проекте.

По поводу полнотекстового индекса mysql могу сказать, что он бесполезен. Я имею в виду, что он работает слишком плохо, чтобы использовать его в высоконагруженных проектах. Посмотрите на sphinxsearch.com, который представляет собой отличную реализацию полнотекстового поиска, созданную для баз данных sql.

Но если вы ожидаете, что ваша система будет быстро расти и будет обслуживать миллионы пользователей, вам следует подумать о cassandra с самого начала.

1
ответ дан 6 December 2019 в 14:02
поделиться

Исходя из предоставленной вами информации, я бы посоветовал придерживаться MySQL.

Кстати, Facebook сначала использовал MySQL, а затем перешел на Cassandra только после того, как хранил более 7 терабайт входящей почты для более 100 миллионов пользователей.

Википедия также обрабатывает сотни гигабайт текстовых данных в MySQL.

8
ответ дан 6 December 2019 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: