|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
Добрый день, господа. В настоящий момент находимся на этапе проектирования бизнес-системы, и возник вопрос с прогнозируемыми нагрузками для БД. Аналитики выдали следующие параметры: 20 миллионов записей в основную таблицу в сутки. Данные не удаляются. Остаются навсегда. Запись небольшая. Предварительно содержит поля: время и дата, идентификатор клиента (15 символов), идентификатор ПО-клиента (35 символов). После каждой записи идет выборка, которая выбирает следующие данные: количество записей с указанным идентификатором клиента за последние 24 часа, за последнюю неделю, за последний месяц, за последний год. Во всех остальных таблицах БД рост количества записей не будет превышать 1000 в месяц. Выдвигаются довольно серьезные требования к скорости записи и выборки, а также к возможности сравнительно быстрого и легкого шардинга. Ранее не приходилось работать с NoSQL. Какой вариант выбора БД вы можете порекомендовать? Заранее благодарю за ответ! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 12:56 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
freeronin , Какие системы рассматриваете: платные или бесплатные? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 13:21 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
servit, Желательно бесплатные. Но, конечно, если очень уж особенно прижмет, то придется думать о платных. Но, мне кажется, что задача довольно тривиальна. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 13:27 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
freeroninНо, мне кажется, что задача довольно тривиальна.Если задача кажется тривиальной, то выбирайте любую под свои нужды. PS: поищите ещё в соседнем форуме Сравнение СУБД . ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 14:50 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
freeronin, А сколько клиентов? Вообще, по постановке, тут все достаточно просто, так как в аналитике на каждого клиента участвует очень мало данных: все данные за последние сутки, общее число записей за сутки за предыдущие годы. Т.е. при более-менее разумном количестве клиентов все легко помещается в оперативную память (в какие-нибудь простейшие ассоциативные таблицы), а БД нужна только для persistance. Т.е., если задача описана верно, подходит любая БД, вплоть до MySQL. Потребности в NoSQL не вижу совершенно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 15:26 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
DPH3, благодарю вас за ответ! К сожалению, клиентов как раз и планируется огромное количество. При 20 млн. запросов в сутки - 5-6 млн. клиентов. Т.е. каждый клиент будет в среднем генерировать 3 - 4 записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 15:46 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
freeroninDPH3, благодарю вас за ответ! К сожалению, клиентов как раз и планируется огромное количество. При 20 млн. запросов в сутки - 5-6 млн. клиентов. Т.е. каждый клиент будет в среднем генерировать 3 - 4 записи. 6 млн*120байт < 1 Gb, в чем проблема? Поиск по хешу можно сделать очень быстрым, у Романа Елизарова как раз цикл статей вышел на эту тему. Какие требования к времени восстановления при сбое? Архитектура в основном от этого будет зависеть... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2012, 07:55 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
DPH3, Требования к восстановлению очень жесткие. Руководство утверждает, что сбоев в работе быть просто не должно :) Ну это конечно классное требование, но, боюсь, не совсем выполнимое. Так Вы рекомендуете не заморачиваться на NoSQL, а копать в сторону РСУБД, ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 10:44 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
гляньте MPP базы данных Например Greenplum DB. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 16:28 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
freeroninDPH3, Требования к восстановлению очень жесткие. Руководство утверждает, что сбоев в работе быть просто не должно :) Ну это конечно классное требование, но, боюсь, не совсем выполнимое. Так Вы рекомендуете не заморачиваться на NoSQL, а копать в сторону РСУБД, Ну, вообще надо бы объяснить руководству, сколько стоит каждая девятка в обеспечении надежности :) Я рекомендую хранилище (persistance) сделать таки на РСУБД (для РСУБД, по ощущению, несколько больше возможностей к реализации высокой доступности и на порядок проще найти вменяемого сисадмина или консультанта). А вот для собственно статистики - или сделать собственное решение, достаточно простое (сложности там, как раз, только в обеспечении надежности) или взять какой-нибудь in-memory nosql решение. Но помнить, что это именно кэш, а не БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 18:25 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
DPH3, Благодарю вас за совет! В принципе, Ваши рекомендации укрепили во мне уверенность, что подобным образом и стоит проектировать данную систему: Основное хранилище на РСУБД, статистику уже на in-memory NoSQL. Господа, благодарю вас за Ваши советы! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 14:33 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
Когда что-нибудь выберете - напишите. А то интересно, какая NoSQL система будет удовлетворительна по надежности для подобных задач. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2012, 19:34 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
freeronin, Поищите и на этом форуме о том как делаются биллинговые системы ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 17:07 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
freeronin, Нынче для подобных проектов модны Hadoop-based решения. Из Open Source - собственно Hadoop+HBase, из Enterprise - IBM Netezza. Большинство компаний из мейнстрима (даже включая как ни странно MS) взяли реализацию Hadoop MapReduce за основу в своих проприетарных BigData-проектах. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 16:12 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
>>>Руководство утверждает, что сбоев в работе быть просто не должно В Hadoop HDFS/HBase Fault Tolerance - основная фитча без которой это все даже смысла не имеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 16:15 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
Роман Дынникfreeronin, Нынче для подобных проектов модны Hadoop-based решения. Из Open Source - собственно Hadoop+HBase, из Enterprise - IBM Netezza. Большинство компаний из мейнстрима (даже включая как ни странно MS) взяли реализацию Hadoop MapReduce за основу в своих проприетарных BigData-проектах. Ну, Hadoop - это решение для не очень спешной обработки, в основном. В той же Netezza, как я понимаю, это просто еще один инструмент (как и запуск SPSS на узлах). Т.е. если есть требования по скорости выборки, то MapReduce - не оптимальный вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 22:33 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
>>Ну, Hadoop - это решение для не очень спешной обработки, в основном. Откуда такие выводы? Как раз таки для ОЧЕНЬ спешной обработки, в основном. >>>В той же Netezza, как я понимаю, это просто еще один инструмент (как и запуск SPSS на узлах). >>>Т.е. если есть требования по скорости выборки, то MapReduce - не оптимальный вариант. Netezza - это enterprise-вариант реализации распределенной БД где данные хранятся в виде пар ключ-значение (по аналогии с открытой HBase) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 22:57 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
[quot Роман Дынник]Откуда такие выводы? Как раз таки для ОЧЕНЬ спешной обработки, в основном.[quot] Хм, да вообще-то, по построению и идеологии и использованию. Как инструмент анализа - да. Для OLTP - нет. Задача в топике - скорее ближе к OLTP (почитайте внимательнее постановку). Роман ДынникNetezza - это enterprise-вариант реализации распределенной БД где данные хранятся в виде пар ключ-значение (по аналогии с открытой HBase) Хмм, там, вроде бы, в узлах вообще postgress использовался. Конечно, почти любую распределенную базу можно воспринимать как некоторый конкретный вариант MapReduce, но все-таки Netizza чуть-ли не старше, нежели HBase... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 01:33 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
DPH3, >>>Хмм, там, вроде бы, в узлах вообще postgress использовался. Вы что то путаете. Netezza использует поколоночное хранение - это совсем иной подход. Из кода постгре используется только реализация таблиц и объектов для управления словарем данных (метаданных). Больше ничего там от постгре нет. Netezza - это не постгре! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 01:53 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
DPH3, >>>Как инструмент анализа - да. Для OLTP - нет Согласен, тут скорее просто очередь нужна из которой данные будут попадать и в OLTP базу, и в NoSQL для adHoc анализа. Либо в NoSQL надо будет переливать периодически (что тоже не айс). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 02:01 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
Распутываю. Netezza - это реляционная СУБД, с поколоночным сжатием. Поддерживает SQL, MapReduce по реляционным данным. Кроме этого есть много аналитических возможностей, например гонять R в параллели на узлах или делать in-database mining пакетами SPSS или SAS. Эта СУБД предназначена для аналитики и ни в коем разе не предназначена для высокой транзакционной нагрузки, и тем более не является key-value store. В плане NoSQL и аналогов HBASE надо смотреть другой продукт - IBM BigInsights. Это Enterprise-ready версия Hadoop с множеством плюшек - консоли администрирования, мониторинга, текстовая аналитика, машинное обучение, инструменты визуализации; В том числе и HBASE работает. За деталями обращайтесь ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 12:02 |
|
Выбор БД для высоконагруженного проекта
|
|||
---|---|---|---|
#18+
Для сбора данных в Hadoop можете использовать flume - утилита созданая для сбора множества мелких событий. Как альтернатива HBase - уже на очень хорошем уровне, купив поддержку от cloudera - можете быть спокойными за свою систему:) Ну и конечно же Oracle NoSQL database- nosql база которая хорошо подходит под сбор данных + хорошо интегрированая с Hadoop и с реляционками (Oracle), например то что насобирали в Oracle NoSQL можно потом MapReduce обрабатывать... Как то так. Подробности тут: http://oracle-nosql.blogspot.com ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2013, 11:46 |
|
|
start [/forum/topic.php?fid=48&msg=38073427&tid=1856962]: |
0ms |
get settings: |
19ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
120ms |
get forum data: |
3ms |
get page messages: |
721ms |
get tp. blocked users: |
2ms |
others: | 358ms |
total: | 1294ms |
0 / 0 |