Я должен использовать Cassandra для 100 000 пользовательских проектов? В MySQL 5 у меня есть разделение таблицы и полнотекстовый поиск. Я запускаю систему Вопросов и ответов как ТАК с CodeIgniter. Это - перемещение от vBulletin до новой системы. В старой vBulletin системе у меня было 100 000 пользователей с общим количеством сообщения приблизительно 80 000. За следующие 3 или 4 года я ожидаю, что будет все больше пользователей и отправляет обоих. Так, я должен использовать Cassandra вместо MySQL 5?
Если я использую Cassandra, я должен измениться от Сервиса Сетки до Специализированно-виртуального хостинга в Храме Медиа. Поскольку Cassandra не предоставляют как часть системы хостинга, я должен использовать VPS или решение для сервера DV. Если я использую MySQL, хостинг не является проблемой, но затем что относительно действий, поисковой скорости.
Между прочим, что использует база данных Переполнение стека?
Вы говорите, что 100 000 пользователей - но сколько одновременных пользователей?
Кассандра не встроена в систему хостинга
Использование размещенной службы на одном сервере предлагает очень маломасштабную операцию - и ваш, очевидно, ограниченный вашим бюджетом. Конечно, нет никаких преимуществ в использовании Cassandra на одном серверном узле.
В mysql 5 есть полнотекстовый поиск
Это не очень масштабируемое решение - вам определенно следует подумать об использовании нормализованного поиска (который, я думаю, вам придется сделать, если вы все равно переходите на Cassandra).
Учитывая, что вы можете с комфортом масштабировать решение MySQL для нескольких баз данных с помощью репликации, прежде чем вы даже подумаете о полностью кластеризованном решении, и у вас, очевидно, нет бюджета, чтобы сделать свой собственный хостинг, переход на Cassandra кажется огромным излишеством.
Я бы НЕ рекомендовал вам использовать cassandra в вашем случае по следующим причинам:
Cassandra нуждается в хорошем понимании приложения, которое вы создаете.Будет намного сложнее вносить изменения и выполнять сложные запросы к данным, хранящимся в cassandra. SQL более гибкий и простой в обслуживании. Cassandra хороша, когда вам нужно хранить огромные объемы данных и когда вы точно знаете, как данные, хранящиеся в Cassandra, будут доступны и отсортированы.
Mysql отлично работает с миллионами строк, если правильно построены индексы.
Если вы столкнетесь с некоторыми узкими местами в будущем с mysql, вы можете посмотреть, в чем именно заключаются ваши проблемы, и масштабировать их с помощью cassandra. Я имею в виду, что вы должны уметь комбинировать оба подхода: SQL и noSQL в одном проекте.
По поводу полнотекстового индекса mysql могу сказать, что он бесполезен. Я имею в виду, что он работает слишком плохо, чтобы использовать его в высоконагруженных проектах. Посмотрите на sphinxsearch.com, который представляет собой отличную реализацию полнотекстового поиска, созданную для баз данных sql.
Но если вы ожидаете, что ваша система будет быстро расти и будет обслуживать миллионы пользователей, вам следует подумать о cassandra с самого начала.
Исходя из предоставленной вами информации, я бы посоветовал придерживаться MySQL.
Кстати, Facebook сначала использовал MySQL, а затем перешел на Cassandra только после того, как хранил более 7 терабайт входящей почты для более 100 миллионов пользователей.
Википедия также обрабатывает сотни гигабайт текстовых данных в MySQL.