![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Нужен mysql-сервер способный обрабатывать огромное кол-во запросов. Сколько именно запросов - не знаю, но очень много. Интересует, как подобное лучше организовать. Как я понимаю тут два решения: взять либо один очень мощный сервер либо сделать кластерную систему, на которой база была бы распределена по серверам. Интересно знать какие преимущества и недостатки у этих решений.
|
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Есть сервера многопроцессорные(4хQuad-Core Intel® Xeon® X7350, 2.93GHz, 8MB L2 cache) и с большим кол-вом RAM. Например: 128Гб оперативки. Понятно, что стоимость такого сервера около 20 000 евро, но быть может это более лучше решение чем использовать кластер ?
примет такого сервера: http://configure2.euro.dell.com/dellstore/...;sbc=pedge_r900 P.S. лизинг такого сервера кстати недорог. Около 500 евро в месяц. |
|||
|
||||
dsnake |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 13.6.2007 Где: Красноярск Репутация: нет Всего: нет |
Передо мной тоже стоит подобная задачка (огромное количество запросов к базе).
Но я как-то даже и не знаю, стоит ли в этом случае юзать mysql... Присматриваюсь к oracle, ибо критична еще и надежность хранения данных. Вы какую-нибудь информацию нарыли? |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
mysql вполне подходит я считаю.
|
|||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Мог бы посоветовать несколько серверов с репликацией, но это все же смотря по ситуации, в некоторых случаях это может быть лучший вариант, а в некоторых может и нет
![]() -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
Какова общая архитектура?
Если тот самый наиболее безотказный вариант, 3-хуровневое "прокси/балансер - груда (возможно, груда в будущем) машин, занимающихся бизнес-логикой - общая помойка данных", то тут важно не перекладывать бизнес-логику на базу, и думать скорее о том, как с максимальной производительностью слинковать 2й и 3й уровень. И еще не связываться с аппаратно-зависимыми вещами (т.е. поставить RISC-кластер под AIXом или SMPшную альфу/спарк под солярой, к примеру, конечно, круто, но это может помешать в дальнейшем). Но на подобной архитектуре живет тот же гугол, а там весьма умные ребята работают. База объемная? Что по степени готовности? На 128ГБ оперативы все можно держать на heap (или, возможно, нельзя, зависит от объемов базы). Если есть уверенность, что не будет нештатной остановки сервера. Можно еще подстраховаться, выложив все на MFS и наладив rc-скрипты для подъема и сохранения при шатдауне. Ну и доп. mysqld, живущий в chroot / BSD jail и принимающий репликации, естественно. В случае с heap / mfs огромный плюс - производительность. Минус - стабильность в случае нештатного отключения. Или копать в сторону SSD накопителей, как другой вариант. Только дорогие они. -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 7 Всего: 146 |
Имхо, важно не абстрактное количество запросов, а реальная структура базы данных. К примеру, если есть таблицы, которые не придется друг с другом связывать (статистику посещений и пароли пользователей вряд-ли придется джойнить), то хорошей идеей бы было вынести их в разные базы, на разные сервера. Для таблиц с очень частым селектом и менее критичным апдейтом(к примеру, настройки пользователя, которые необходимы при каждом запросе) вполне могла бы подойти простая репликация Master -> Slave. А для таблиц с огромным числом строк и не требующих сложного поиска (хронология, комментарии, логи, etc) идеально подошла бы сегментация. По этому лучше для уже разработанной архитектуры определять какие требуются мощности серверов, чем сначала покупать сервера, а потом ломать голову, как бы так извернуться что бы работало. Считаю, что это плохая идея. 1. Никакой масштабируемости 2. Одно слабое звено тут может послужить тормозом всей системы. 3. В случае проблемы с сервером, ляжет вся система. 4. Скорее всего это выйдет дороже. Да вы экстремал! ![]() |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
И еще можно работать только с рядами фиксированной длины. Но производительность дает дикую, пару раз приходилось сие пользовать. Все зависит от архитектуры. -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |