переписать архитектуру сайта, используя базу данных nosql - PullRequest
0 голосов
/ 06 сентября 2011

Я хочу переписать существующий веб-сайт для клиента, который имеет более 100 000 посетителей в день, и я рассматриваю возможность использования Cassandra db, Couch Db или Mongo Db вместо использования Mysql и связать его с Solr.

что я хочу спросить, если это хорошая идея, чтобы перейти на nosql для веб-сайта, который расположен на одном сервере (не будет использовать в настоящее время несколько узлов)?

какие проблемы могут возникнуть в долгосрочной перспективесрок.Я немного боюсь использовать nosql, потому что эти БД относительно молоды.Но, учитывая увеличение скорости запросов, он становится действительно привлекательным.

Я использую php в качестве языка программирования бэкэнда.

Спасибо

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

Я подозреваю, что самым сложным будет преобразовать вашу модель данных для nosql DB. JOIN не будет, и «обходные пути» для объединений не так просты в базах данных nosql.

Кроме того, производительность не гарантируется из коробки, вам придется приложить немало усилий для ее достижения. Базы данных Nosql имеют смягченные ограничения на ваши данные, что, в свою очередь, предоставляет разработчикам больше возможностей для работы с этими данными; что, в свою очередь, позволяет использовать более эффективные решения.

Многие базы данных nosql еще очень молоды. Они могут использоваться во многих успешных проектах, но в целом они не так надежны, как популярные реляционные БД. Конечно, вряд ли они сильно потерпят неудачу, но вероятность мелких ошибок здесь и там выше.

Возможно, наиболее известной ошибкой, связанной с nosql, было отключение mongodb от foursquare . Но это не так уж важно для меня.

1 голос
/ 07 сентября 2011

Несмотря на то, что платформы, о которых вы говорите, очень молоды по сравнению с SQL, они уже достаточно длинные, чтобы быть достаточно зрелыми, и вы не рискуете, используя их вместо SQL, если они соответствуют тому, что вы пытаетесь сделать.

Однако в этом случае может быть лучше придерживаться SQL - у вас уже есть весь код, хорошо работающий с SQL, и вы можете получить большинство необходимых улучшений производительности, добавив поисковую систему или компонент кэша вместо переписывания вся система.

Если вы все равно планировали переписать, вы можете использовать любое хранилище данных, какое захотите - просто выберите тот, где стандартная модель данных наиболее близка к вашим данным и запросам, которые вам нужно поддерживать.

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