Высокая производительность, быстрые и надежные базы данных?

Вплоть до недавнего времени я использовал mongo, чтобы попытаться остановить поток массивных обновлений MySQL до системных серверов, однако после прочтения этого:

http://www.mikealrogers.com/2010/07/mongodb-performance-durability/

Я приостановил производство версии моего сайта на монго, пока монго не обретет большую стабильность.

Некоторые предлагали использовать _change в couche DB для создания нового объекта mongo, который решит основные проблемы в mongo db atm, но я не уверен в этом.

Я изучил другие базы данных, такие как Redis и Cassandra, но с тех пор я отказался от Cassandra, так как вы должны разрабатывать свои запросы, и это слишком ограничивает мой сайт (плохая модуляция). Я на самом деле не ищу объединения и т. Д., Я просто ищу возможность поиска внутри строки, а не только идентификаторы столбцов, поскольку это может усложнить программирование при попытке добавить новую функциональность. Это было бы здорово для поисковой системы или чего-то подобного, но не так хорошо для реального веб-сайта, такого как Facebook, в полном объеме (а не только для поиска по почте).

Мне было интересно, какой опыт люди получили здесь, пытаясь найти работоспособное решение проблем со скоростью SQL. Есть ли у вас серебряная пуля для всего этого или это просто случай стиснуть зубы с MySQL или другой базой данных SQL, если вам нужна надежность?

Возможно, что-то среднее между формой кеширования и SQL (я заметил, что Facebook использует интенсивное кеширование на своих стеновых страницах и т. Д., Вероятно, почему).

Спасибо,

2 ответа

Решение

Вы на самом деле не дали ни малейшего представления о масштабах вашего сайта, что имеет огромное значение для того, какая технология / метод подходит.

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

Даже использование чего-то вроде memcached перед db требует немного иного мышления, чтобы в полной мере воспользоваться этим. Одна из первых вещей, которые вам нужно сделать (а если вы еще этого не сделали), - это посмотреть и оптимизировать запросы, которые вы делаете.

В чем конкретно твоя проблема с Монго? В любом случае вам нужно будет делать резервные копии. Теперь он поддерживает наборы реплик, так что вы действительно не привязаны к сбою компьютера.

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

10-30 миллионов строк это действительно не много. Тем более что с помощью решения NoSQL вы, вероятно, можете объединить несколько строк в одну запись. Если у вас 2 миллиона пользователей, даже возможно, что большая часть их данных будет помещаться в отдельные записи. (Ограничение 4 мб это много)

Другие вопросы по тегам