|
|
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
Давайте попробуем выбрать аппаратно-программное решение. В день добавляется 250 тыс. сообщений. Средний размер сообщения - 200 байт. В мегабайтах - 60. Это наиболее суровая ожидаемая нагрузка. Если предположить, что 70% сообщений добавляется в период 9-18 часов (70% = 175000 штук), получим 324 сообщения в минуту = ~5 сообщений в секунду. Но скорость не важна, т.к. добавляться в базу они должны пачками, штук по 100-1000 сразу и супербыстрое отзывчивое добавление не важно. Через месяц в базе будет 7750000 (7.7 млн) сообщений, 1.8 гигов сырых данных. Через год - 93 млн. сообщений, 22.2 гига данных. Вопросы хардварно-софтварные: 1. Полнотекстовый поиск в 93 млн сообщениях средней длины 200 байт. 2. Аппаратное обеспечение для предложенной платформы. Обычная задача многокритериальной оптимизации: чем дешевле, тем лучше и чем быстрее поиск, тем лучше. Поиск фраз состоящих из 1, 2, 3 слов должен идти, например, за секунду. Сортировка по свежести сообщений, по категории (С++/психология/путешествия). Какая это должна быть DMBS? Какая архитектура (один сервер или несколько дешёвых компов на ATOM, партиционирование, репликация, шардинг). Как лучше всего организовать таблицу с 93 млн сообщениями, при условии того, что наибольшая нагрузка на неё идёт в режиме чтения последних 250000 сообщений (последние сутки), но хотелось бы добираться до сообщений за весь год (возможно, медленнее). Это называется репликация, как я понимаю - по ночам скидываем все данные на слейв-серверы, на мастер-сервере оставляем только последние несколько суток. Какая для этого поддержка есть в MySQL, Postgres? Как будет выглядеть операция "переместить пол-таблицы с наиболее старыми записями на другой сервер" на уровне языка SQL и процедур конкретных систем DMBS? Вопросов бесконечная куча, но основные заданы. Не занимаюсь DBA, раньше разрабатывал in-memory NoSQL-решение на большом толстом сервере, но здесь бюджет не тот, чтобы покупать профессиональное оборудование. Бюджет на эти эксперименты позволяет поиметь максимум несколько недорогих обычных компов с толстыми сигейтами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 15:39 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
Andron.Vazov, 5 записей в секунду для подавляющего большинства современных СУБД нагрузка копеечная. Прикиньте бюджет и сконфигурите сервак с приличным количеством памяти, чтоб полнотекстовый поиск в памяти шел, и будет нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 15:48 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
iljyAndron.Vazov, 5 записей в секунду для подавляющего большинства современных СУБД нагрузка копеечная. Прикиньте бюджет и сконфигурите сервак с приличным количеством памяти, чтоб полнотекстовый поиск в памяти шел, и будет нормально. Для хранения 22.5 гигов чистых сообщений с учётом служебных структур должно ли хватить 32 гиг озу? Сколько может стоить рублей такая железка "начального" уровня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 15:53 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
Andron.Vazov, Извини, а обязательно в БД запихивать ? Нельзя ли на диске тупеньк по рабоче-крестьянски соханять - и там проиндексировать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 15:56 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
Andron.VazovПоиск фраз состоящих из 1, 2, 3 слов должен идти, например, за секунду. Сортировка по свежести сообщений, по категории (С++/психология/путешествия).Имхо, это узкое место всего проекта. Пока не определитесь, как именно будет происходить поиск, конкретные цифры смысла иметь не будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 15:58 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
Andron.Vazov, а вам все эти сообщения сразу будут нужны? Подозреваю, что, как и в большинстве систем, основная работа будет идти с хвостом. Так что 32 гига вам должно хватить надолго. По поводу цен - залезьте к производителям и посмотрите, будет быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 15:58 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
Не могу сориентироваться в market.yandex.ru по ОЗУ - максимальное ОЗУ для матерей там не указывается, а только количество слотов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 16:10 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
SignOffAndron.Vazov, Извини, а обязательно в БД запихивать ? Нельзя ли на диске тупеньк по рабоче-крестьянски соханять - и там проиндексировать ? Совсем не обязательно, хоть в голый раздел HDD. Но это ж ведь тогда все B-деревья руками на C++ кодить придётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 16:11 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
iljyAndron.Vazov, а вам все эти сообщения сразу будут нужны? Подозреваю, что, как и в большинстве систем, основная работа будет идти с хвостом. Так что 32 гига вам должно хватить надолго. По поводу цен - залезьте к производителям и посмотрите, будет быстрее. Да, я это и имел ввиду, когда писал про реплицирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 16:12 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
Andron.Vazov, Андрон, ну зачем же так кодить. Всем известно что все уже давно написано, и даже то что хочется придусмать написать уже тоже написано. Обрати взор свой на такую скромную либу как Lucene. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 16:14 |
|
||
|
Полухоливарный вопрос о выборе СУБД и организации системы поиска среди 100 млн сообщений.
|
|||
|---|---|---|---|
|
#18+
Имхо, вопрос немного не в той теме задан. Вам надо в "Сравнение СУБД", - там с завидной регулярностью как раз такого рода вопросы задаются, типа - "вот такая-то задачка, помогите плз. с выбором". Ведь все фактически сводится к поиску подходящей СУБД, поддерживающий жизненный цикл хранения данных + обладающей функциями полнотекстового поиска. Народ подскажет, что есть на эту тему, а ваша задача - выбрать. Только к вашему описанию неплохо было бы еще примерный бюджет добавить, - для сужения параметров поиска. Из баз Sybase, к примеру, вам больше всего подойдет Sybase IQ. Поиск у нее есть, скорость выборки высокая - эта аналитическая СУБД, партиционирование, - чтобы разложить по-разному исторические и актуальные данные, - тоже есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 17:15 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37487035&tid=1541978]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
4ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 472ms |

| 0 / 0 |
