MySQL NDBCLUSTER: хорошо ли это для крупномасштабных решений? - PullRequest
3 голосов
/ 29 сентября 2010

один вопрос о NDBCLUSTER.

Я унаследовал написание веб-сайта на основе решения NDBCLUSTER 5.1 (платформа LAMP).

К сожалению, тот, кто разработал первое решение, не осознавал, чтоэтот механизм базы данных имеет сильные ограничения.Во-первых, максимальное количество полей, которое может иметь таблица, составляет 128. Бывший программист придумал таблицы с 369 полями в одной строке, по одному на каждый день года, плюс несколько ключевых полей (он изначально работал с движком MyISAM).Хорошо, это должно быть реорганизовано, во всяком случае, я знаю.

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

Даже тот факт, что дисковое хранилище для таблиц NDBCLUSTER является своего рода приятнымесли он не настроен точно: даже если он указан в операторах CREATE TABLE, движок, похоже, предпочитает хранить данные в памяти - что объясняет скорость - но может быть неприятно, если ваша таблица на узле 1 внезапно рухнет (как это произошло во время тестирования).Все данные таблицы, потерянные на всех узлах, и таблица повреждены только после 1000 записей.

Мы работали на сервере с 8 ГБ ОЗУ, и в таблице было всего 27 полей.

Обратите внимание, что нет операции ndb_mgmдля узлов выполнялось отключение для компрометации данных таблицы.Это просто упало, полная остановка.Наш провайдер не понял, почему.

Итак, вопрос: вы бы порекомендовали NDBCLUSTER в качестве стабильного решения для крупномасштабной базы данных веб-служб?

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

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

Заранее спасибо.

1 Ответ

4 голосов
/ 29 сентября 2010

У меня ужасный опыт работы с NDBCLUSTER.Это хорошая замена для memcached с аннулированием диапазона, не более того.Стабильность и конфигурируемость не существует для этого решения.Вы не можете заставить все процессы слушать определенные порты, резервное копирование работало, но мне нужно отредактировать bkp файлы в vim, чтобы восстановить базу данных и т.д ..

...