Я надеюсь, что многие из вас работают с веб-сайтами с высокой посещаемостью, и есть вероятность, что ваши основные проблемы с масштабируемостью находятся в базе данных. Я заметил пару вещей в последнее время:
Большинству больших баз данных требуется команда администраторов баз данных для масштабирования. Они постоянно борются с ограничениями жестких дисков и в итоге получают очень дорогие решения (SAN или большие RAID-массивы, частые окна обслуживания для дефрагментации и перераспределения и т. Д.). Фактическая годовая стоимость обслуживания таких баз данных находится в диапазоне от 100 до 1 млн долларов, что составляет слишком крутой для меня :)
Наконец, у нас есть несколько компаний, таких как Intel, Samsung, FusionIO и т. Д., Которые только начали продавать чрезвычайно быстрые, но доступные SSD-накопители на основе технологии SLC Flash. Эти диски в 100 раз быстрее при случайном чтении / записи, чем лучшие вращающиеся жесткие диски на рынке (до 50 000 случайных операций записи в секунду). Время их поиска практически равно нулю, поэтому стоимость случайного ввода-вывода такая же, как и для последовательного ввода-вывода, что отлично подходит для баз данных. Эти SSD-накопители стоят около 10-20 долларов за гигабайт, и они относительно небольшие (64 ГБ).
Таким образом, представляется, что есть возможность избежать ОГРОМНЫХ затрат на масштабирование баз данных традиционным способом, просто создав достаточно большой массив RAID 5 SSD-дисков (что обойдется всего в несколько тысяч долларов). Тогда нам все равно, фрагментирован ли файл базы данных, и мы можем позволить в 100 раз больше операций записи на диск в секунду без необходимости разбрасывать базу данных по 100 шпинделям. ,
Кто-нибудь еще заинтересован в этом? Я тестировал несколько SSD-дисков и могу поделиться своими результатами. Если кто-нибудь на этом сайте уже решил свои узкие места ввода / вывода с помощью SSD, я хотел бы услышать ваши военные истории!
PS. Я знаю, что существует множество дорогих решений, которые помогают с масштабируемостью, например проверенные временем SAN на основе RAM. Я хочу пояснить, что даже 50 тысяч долларов слишком дороги для моего проекта. Мне нужно найти решение, которое стоит не более 10 тысяч долларов и не требует много времени для внедрения.
Дейв, NXC и Берли,
Спасибо за ваши ответы! Я хотел бы уточнить, что слово «дешево» очень важно в моей ситуации. Итак, я должен использовать дешевые серверы Dell (4 000 2950 долларов, которые имеют только 8 банков памяти). У меня уже установлено 32 ГБ ОЗУ, поэтому я не могу продолжать масштабирование таким образом. Кроме того, добавление ОЗУ не избавит вас от узких мест в WRITE, что сейчас является моей главной проблемой.
Раньше меня интересовало время жизни твердотельных накопителей, но после прочтения современных алгоритмов выравнивания износа я почти уверен, что эти накопители прослужат достаточно долго. Моя база данных записывает 300 ГБ в день, и, согласно прогнозам, в 2009 году она превысит 1 ТБ. Корпоративные твердотельные накопители рассчитаны на обработку около 10 ТБ записей в день в течение нескольких лет.
Я бы не согласился с точкой зрения Берли, что для перехода с SAS на SSD требуется слишком много труда. Моя база данных является синхронным зеркалом, поэтому я могу обновить одну из сторон зеркала, затем наблюдать за ней в течение нескольких месяцев, и, если она выйдет из строя, я могу переключиться на второй сервер, на котором все еще есть старые добрые жесткие диски SAS ...