powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Выбор БД для высоконагруженного проекта
22 сообщений из 22, страница 1 из 1
Выбор БД для высоконагруженного проекта
    #37903323
freeronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, господа.
В настоящий момент находимся на этапе проектирования бизнес-системы, и возник вопрос с прогнозируемыми нагрузками для БД.
Аналитики выдали следующие параметры: 20 миллионов записей в основную таблицу в сутки. Данные не удаляются. Остаются навсегда.
Запись небольшая. Предварительно содержит поля: время и дата, идентификатор клиента (15 символов), идентификатор ПО-клиента (35 символов).
После каждой записи идет выборка, которая выбирает следующие данные: количество записей с указанным идентификатором клиента за последние 24 часа, за последнюю неделю, за последний месяц, за последний год.
Во всех остальных таблицах БД рост количества записей не будет превышать 1000 в месяц.
Выдвигаются довольно серьезные требования к скорости записи и выборки, а также к возможности сравнительно быстрого и легкого шардинга.

Ранее не приходилось работать с NoSQL.

Какой вариант выбора БД вы можете порекомендовать?

Заранее благодарю за ответ!
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37903377
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeronin ,

Какие системы рассматриваете: платные или бесплатные?
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37903389
freeronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

Желательно бесплатные. Но, конечно, если очень уж особенно прижмет, то придется думать о платных. Но, мне кажется, что задача довольно тривиальна.
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37903544
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeroninНо, мне кажется, что задача довольно тривиальна.Если задача кажется тривиальной, то выбирайте любую под свои нужды.

PS: поищите ещё в соседнем форуме Сравнение СУБД .
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37903623
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeronin,

А сколько клиентов?
Вообще, по постановке, тут все достаточно просто, так как в аналитике на каждого клиента участвует очень мало данных:
все данные за последние сутки, общее число записей за сутки за предыдущие годы.
Т.е. при более-менее разумном количестве клиентов все легко помещается в оперативную память (в какие-нибудь простейшие ассоциативные таблицы), а БД нужна только для persistance.
Т.е., если задача описана верно, подходит любая БД, вплоть до MySQL. Потребности в NoSQL не вижу совершенно :)
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37903661
freeronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DPH3,

благодарю вас за ответ!
К сожалению, клиентов как раз и планируется огромное количество. При 20 млн. запросов в сутки - 5-6 млн. клиентов. Т.е. каждый клиент будет в среднем генерировать 3 - 4 записи.
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37904681
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeroninDPH3,

благодарю вас за ответ!
К сожалению, клиентов как раз и планируется огромное количество. При 20 млн. запросов в сутки - 5-6 млн. клиентов. Т.е. каждый клиент будет в среднем генерировать 3 - 4 записи.

6 млн*120байт < 1 Gb, в чем проблема? Поиск по хешу можно сделать очень быстрым, у Романа Елизарова как раз цикл статей вышел на эту тему.

Какие требования к времени восстановления при сбое? Архитектура в основном от этого будет зависеть...
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37905281
freeronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DPH3,

Требования к восстановлению очень жесткие. Руководство утверждает, что сбоев в работе быть просто не должно :) Ну это конечно классное требование, но, боюсь, не совсем выполнимое.
Так Вы рекомендуете не заморачиваться на NoSQL, а копать в сторону РСУБД,
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37905968
fleandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гляньте MPP базы данных
Например Greenplum DB.
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37906207
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeroninDPH3,
Требования к восстановлению очень жесткие. Руководство утверждает, что сбоев в работе быть просто не должно :) Ну это конечно классное требование, но, боюсь, не совсем выполнимое.
Так Вы рекомендуете не заморачиваться на NoSQL, а копать в сторону РСУБД,

Ну, вообще надо бы объяснить руководству, сколько стоит каждая девятка в обеспечении надежности :)

Я рекомендую хранилище (persistance) сделать таки на РСУБД (для РСУБД, по ощущению, несколько больше возможностей к реализации высокой доступности и на порядок проще найти вменяемого сисадмина или консультанта).
А вот для собственно статистики - или сделать собственное решение, достаточно простое (сложности там, как раз, только в обеспечении надежности) или взять какой-нибудь in-memory nosql решение. Но помнить, что это именно кэш, а не БД.
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37907380
freeronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DPH3,

Благодарю вас за совет! В принципе, Ваши рекомендации укрепили во мне уверенность, что подобным образом и стоит проектировать данную систему:
Основное хранилище на РСУБД, статистику уже на in-memory NoSQL.

Господа, благодарю вас за Ваши советы!
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #37913652
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда что-нибудь выберете - напишите. А то интересно, какая NoSQL система будет удовлетворительна по надежности для подобных задач.
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38068356
SkyNIN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
freeronin,

Поищите и на этом форуме о том как делаются
биллинговые системы
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38072734
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeronin,

Нынче для подобных проектов модны Hadoop-based решения.
Из Open Source - собственно Hadoop+HBase, из Enterprise - IBM Netezza.
Большинство компаний из мейнстрима (даже включая как ни странно MS) взяли реализацию Hadoop MapReduce за основу в своих проприетарных BigData-проектах.
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38072741
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>>Руководство утверждает, что сбоев в работе быть просто не должно
В Hadoop HDFS/HBase Fault Tolerance - основная фитча без которой это все даже смысла не имеет.
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38073318
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынникfreeronin,

Нынче для подобных проектов модны Hadoop-based решения.
Из Open Source - собственно Hadoop+HBase, из Enterprise - IBM Netezza.
Большинство компаний из мейнстрима (даже включая как ни странно MS) взяли реализацию Hadoop MapReduce за основу в своих проприетарных BigData-проектах.

Ну, Hadoop - это решение для не очень спешной обработки, в основном. В той же Netezza, как я понимаю, это просто еще один инструмент (как и запуск SPSS на узлах). Т.е. если есть требования по скорости выборки, то MapReduce - не оптимальный вариант.
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38073332
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>Ну, Hadoop - это решение для не очень спешной обработки, в основном.
Откуда такие выводы? Как раз таки для ОЧЕНЬ спешной обработки, в основном.
>>>В той же Netezza, как я понимаю, это просто еще один инструмент (как и запуск SPSS на узлах).
>>>Т.е. если есть требования по скорости выборки, то MapReduce - не оптимальный вариант.
Netezza - это enterprise-вариант реализации распределенной БД где данные хранятся в виде пар ключ-значение (по аналогии с открытой HBase)
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38073427
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Роман Дынник]Откуда такие выводы? Как раз таки для ОЧЕНЬ спешной обработки, в основном.[quot]
Хм, да вообще-то, по построению и идеологии и использованию. Как инструмент анализа - да. Для OLTP - нет. Задача в топике - скорее ближе к OLTP (почитайте внимательнее постановку).

Роман ДынникNetezza - это enterprise-вариант реализации распределенной БД где данные хранятся в виде пар ключ-значение (по аналогии с открытой HBase)
Хмм, там, вроде бы, в узлах вообще postgress использовался. Конечно, почти любую распределенную базу можно воспринимать как некоторый конкретный вариант MapReduce, но все-таки Netizza чуть-ли не старше, нежели HBase...
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38073432
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DPH3,

>>>Хмм, там, вроде бы, в узлах вообще postgress использовался.
Вы что то путаете. Netezza использует поколоночное хранение - это совсем иной подход.
Из кода постгре используется только реализация таблиц и объектов для управления словарем данных (метаданных).
Больше ничего там от постгре нет. Netezza - это не постгре!
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38073436
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DPH3,
>>>Как инструмент анализа - да. Для OLTP - нет
Согласен, тут скорее просто очередь нужна из которой данные будут попадать и в OLTP базу, и в NoSQL для adHoc анализа.
Либо в NoSQL надо будет переливать периодически (что тоже не айс).
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38079152
Распутываю.

Netezza - это реляционная СУБД, с поколоночным сжатием. Поддерживает SQL, MapReduce по реляционным данным. Кроме этого есть много аналитических возможностей, например гонять R в параллели на узлах или делать in-database mining пакетами SPSS или SAS. Эта СУБД предназначена для аналитики и ни в коем разе не предназначена для высокой транзакционной нагрузки, и тем более не является key-value store.

В плане NoSQL и аналогов HBASE надо смотреть другой продукт - IBM BigInsights. Это Enterprise-ready версия Hadoop с множеством плюшек - консоли администрирования, мониторинга, текстовая аналитика, машинное обучение, инструменты визуализации; В том числе и HBASE работает.
За деталями обращайтесь
...
Рейтинг: 0 / 0
Выбор БД для высоконагруженного проекта
    #38144986
mijatovic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для сбора данных в Hadoop можете использовать flume - утилита созданая для сбора множества мелких событий.
Как альтернатива HBase - уже на очень хорошем уровне, купив поддержку от cloudera - можете быть спокойными за свою систему:)
Ну и конечно же Oracle NoSQL database- nosql база которая хорошо подходит под сбор данных + хорошо интегрированая с Hadoop и с реляционками (Oracle), например то что насобирали в Oracle NoSQL можно потом MapReduce обрабатывать... Как то так. Подробности тут:
http://oracle-nosql.blogspot.com
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Выбор БД для высоконагруженного проекта
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]