Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / выбор БД для хранения 8Tb данных / 25 сообщений из 80, страница 1 из 4
15.07.2011, 17:33
    #37353986
Alexey K.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
приветствую!

подстакажите пожалуйста, какой движок способен справится с такой задачей:
одна таблица.
перманентное количество записей в базе ~8 миллиардов.
одна запись: string, datetime, blob (1024b). возможно добавится еще пара полей.
~85 миллионов инсертов и делитов в день.

необходимо осуществить поиск по первому и второму полю.

желаемый фидбэк <= 1cек

железо, предроложительно, ibm blade + какой-то дисковый массив (пока ничего не известно).

что можете порекомендовать ?

спасибо!
...
Рейтинг: 0 / 0
15.07.2011, 18:23
    #37354097
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
...
Рейтинг: 0 / 0
15.07.2011, 21:41
    #37354276
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.,

смотря какая нагрузка пиковая. 85 млн в день ни о чем не говорит вообще. если нагрузка равномерна то сгодиться и mysql/myisam с файликами в ФС
...
Рейтинг: 0 / 0
16.07.2011, 00:07
    #37354377
выбор БД для хранения 8Tb данных
Если равномерно в течении суток, то это 1 МБ/сек. Тут что угодно подойдет.
...
Рейтинг: 0 / 0
16.07.2011, 02:56
    #37354473
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
авторкакой движок способен справится с такой задачей
Который знаешь
...
Рейтинг: 0 / 0
17.07.2011, 22:12
    #37355197
Alexey K.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
казалось что задача сложная, но видимо я безповоротно отстал от мэйнстрима :)

всем спасибо!
...
Рейтинг: 0 / 0
17.07.2011, 22:29
    #37355213
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.казалось что задача сложная, но видимо я безповоротно отстал от мэйнстрима :)

всем спасибо!я бы не рассляблялся
...
Рейтинг: 0 / 0
17.07.2011, 22:32
    #37355215
Alexey K.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
SergSuper,

подробнее можно ?
...
Рейтинг: 0 / 0
18.07.2011, 00:49
    #37355274
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.,
да много это - 8 мдрд
например был в центральном филиале одного банка (не буду писать какого, но в топ 20 входит), там всего 1 млрд платежных документов, это за несколько лет
там конечно кроме документов много еще чего и логика сложная - но вот там чтобы оно быстро работало надо думать как писать, само оно не летает

другой момент - это Вы сейчас думаете что надо пару полей, вскоре выяснится что далеко не пару, что надо их как-то обрабатывать, какие-то проверки, синхронизации
ну не верю я что надо огромную базу держать из-за двух полей, не бывает такого

вобще странный Вы человек - просите подробностей, а сами никаких подробностей о поставленной задаче не дали
...
Рейтинг: 0 / 0
18.07.2011, 01:21
    #37355290
Alexey K.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
SergSuper,

все остальные поля хранятся в blob.
никаких сложных манипуляций не будет, только поиск по стрингу для заданного интервала дат.
все остальные расчеты на уровне аппликации.

в данный момент идет мучительный поиск дешевого/быстрого решения задачи.
пока что рабочая версия - написать узкозаточенную базу самим.
но меня терзают сомнения в успешности данного мероприятия :(

скверно то, что сдача через месяц а на данный момент результат NULL.
...
Рейтинг: 0 / 0
18.07.2011, 02:04
    #37355302
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.все остальные поля хранятся в blob.
никаких сложных манипуляций не будет, только поиск по стрингу для заданного интервала дат.
все остальные расчеты на уровне аппликации.

в данный момент идет мучительный поиск дешевого/быстрого решения задачи.
пока что рабочая версия - написать узкозаточенную базу самим.
но меня терзают сомнения в успешности данного мероприятия :(Имхо, у грамотно разработанной структуры каталогов и системы именования файлов очень неплохие шансы на успех при очень скромных накладных расходах. Правда, могут быть потеряны СУБД-специфичные плюсы, такие как транзакции и т.п.
...
Рейтинг: 0 / 0
18.07.2011, 09:20
    #37355434
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.все остальные поля хранятся в blob.

Это следует рассматривать как усугубляющее ситуацию во всех отношениях.
...
Рейтинг: 0 / 0
18.07.2011, 12:43
    #37355764
Alexey K.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Имхо, у грамотно разработанной структуры каталогов и системы именования файлов очень неплохие шансы на успех при очень скромных накладных расходах. Правда, могут быть потеряны СУБД-специфичные плюсы, такие как транзакции и т.п.

подобное решение пришло в голову одним из первых.
чуть подробнее. первый ключ стринг это номер телефона.
количество абонентов (уникальных ключей)порядка 5 миллионов.
было решено сделать аналог digital trie на базе файловой системы.
однако тест показал, что fs дохнет при 3.2-3.5 миллионах вложеных папок и это без файлов.
пробовал по две цифры на каталог. итого при длине номера 10 знаков, имеем глубину 5.
увеличение вложенности ухудшает ситуацию.
в качестве подопытных пробовал ext2, reiserfs с дефолтными настройками.
так что этот вариант был помечен как нерабочий.

Это следует рассматривать как усугубляющее ситуацию во всех отношениях.
почему ?
...
Рейтинг: 0 / 0
18.07.2011, 12:44
    #37355766
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.все остальные поля хранятся в blob.
<...>
все остальные расчеты на уровне аппликацииСоглашусь с vadiminfo .
Есть достаточно интересное интервью (на английском), в котором упоминается в том числе и этот момент: Objects in Space

Alexey K.пока что рабочая версия - написать узкозаточенную базу самим.
но меня терзают сомнения в успешности данного мероприятия :( Российский астроном, Олег Бартунов, предложил стране национальную СУБД
...
Рейтинг: 0 / 0
18.07.2011, 13:15
    #37355839
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.Имхо, у грамотно разработанной структуры каталогов и системы именования файлов очень неплохие шансы на успех при очень скромных накладных расходах. Правда, могут быть потеряны СУБД-специфичные плюсы, такие как транзакции и т.п.подобное решение пришло в голову одним из первых.
чуть подробнее. первый ключ стринг это номер телефона.
количество абонентов (уникальных ключей)порядка 5 миллионов.
было решено сделать аналог digital trie на базе файловой системы.
однако тест показал, что fs дохнет при 3.2-3.5 миллионах вложеных папок и это без файлов.
пробовал по две цифры на каталог. итого при длине номера 10 знаков, имеем глубину 5.
увеличение вложенности ухудшает ситуацию.
в качестве подопытных пробовал ext2, reiserfs с дефолтными настройками.
так что этот вариант был помечен как нерабочий.При таких вводных я бы предложил два уровня вложенности каталогов по три символа на каждый. Например, файл 1234567890.bin хранил бы как 123/456/1234567890.bin
В итоге всего два уровня вложенности каталогов и несколько сотен объектов на каждом уровне, что совсем не проблема почти для любой ФС.
...
Рейтинг: 0 / 0
18.07.2011, 14:27
    #37355964
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.почему ?
Неструктурированные данные.
Сами по себе СУБД реляционные, иерархические и др структурированные добились своих успехов именно за счет манипулирования структурированными данными. В реляционных - это SQL доступ. В плане призводительносити разныве средства от сбора статистики до средств повышения производмитенльности в основном на структукрированные данные расчитаны. Т.е. по сути на блобах преимущества от структурированности утрачиваются.
Раньше вообще БД делелили на фактографические и документные. Так вот у первых были СУБД, а вторых информационно поисковые системы (т.е. о управлении данными речи не шло), что отражало факт: сильная типизация дает преимущеста в управлении данными.

В одном проекте парни решили данные загонять в блобы не смотря на то, что те хорошо укладываались в таблицы. Их идея - съэкномить на числе строк. И тем самым сделать табицы меньше. Но трабла в том, что объем не уменьшился (у строк то еще "ширна": их стало меньше но очень толстых), а оценка БЛОБов более мутная, чем таблиц. Ф-ии же по вытаскиванию данных из БЛОБов просто выглядели удручающе. Им пришлось переделать.
...
Рейтинг: 0 / 0
18.07.2011, 15:45
    #37356145
DPH3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Кстати, сразу советую в список полей добавить:
версию протокола для блобов (ой как пригодится при расширении постановки),
версию самого объекта в блобе (для оптимистических блокировок и прочих радостей работы с блобами).


По базам:
У Oralce есть возможность хранить (небольшие) блобы в том же tablespace, что и сами строки. Это в некоторых случаях сильно уменьшает число физических чтений и seek-ов.
Есть ли у других - не в курсе.

И, какой характер и число запросов на поиск? Просто поиск одиночных записей по индексу? Или выборка по условиям - если да, то по каким?
...
Рейтинг: 0 / 0
18.07.2011, 16:03
    #37356189
Alexey K.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
DPH3Кстати, сразу советую в список полей добавить:
версию протокола для блобов (ой как пригодится при расширении постановки),
версию самого объекта в блобе (для оптимистических блокировок и прочих радостей работы с блобами).
версия blob внутри. ничего изменяться не будет - тупо хранилище данных за три месяца.
новые данные добавляются по мере поступления.
старые(старше трех месяцев (конфигурабельно)) удаляются каким-нить тупым скриптом по cron раз в день (ночью).

DPH3И, какой характер и число запросов на поиск? Просто поиск одиночных записей по индексу? Или выборка по условиям - если да, то по каким?
вижу как
select * from table where number=n and date >= d1 and date < d2 limit 0, 20 (конфигурабельно)
больше ничего не нужно. ну может быть count еще по этому-же условию.

пока что максимально предполагается до 1000 одновременных запросов. это фантастический максимум.

конвертировать blob объект в таблицы нет смысла. на выходе он нужен именно в том формате, в котором положен в базу. тем более его внутренний формат предполагает наличие опциональных и/или повторяющихся полей и прочих радостей, которые, как понимаю, не очень хорошо ложатся в таблицу.

тоесть по сути это документная база. только документов очень много.
...
Рейтинг: 0 / 0
18.07.2011, 16:09
    #37356200
Alexey K.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
servitЕсть достаточно интересное интервью
читаю, интересно. спасибо!

параллельно пустил тест на xfs с длиной имени поддиректории 3 символа.
24% из 5 миллионов за два часа. слабовато. всеже наверное тупиковый путь.
...
Рейтинг: 0 / 0
18.07.2011, 16:28
    #37356237
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.параллельно пустил тестЧто за тест?

Кстати, еще одно направление, на которое, имхо, было бы полезно глянуть - key-value хранилища.
...
Рейтинг: 0 / 0
18.07.2011, 16:43
    #37356277
DPH3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.версия blob внутри. ничего изменяться не будет - тупо хранилище данных за три месяца.

Ну, я бы все-таки версию протокола наверх вытащил. По личному опыту.
Ну не бывает такого, что бы формат не поменялся. К тому же при имеющихся условиях компактность хранения уже может начать играть свою роль - а это точно предполагает игру с форматами.

вижу как
select * from table where number=n and date >= d1 and date < d2 limit 0, 20 (конфигурабельно)
больше ничего не нужно. ну может быть count еще по этому-же условию.

Ага. Тогда подумай (и поиграй) с физическим размещением данных - как попало или, например, отсортировано по number.
Может оказаться заметно выгоднее на select (меньше физ. чтений, да и блокировок при удалении).

Кстати, доступность высокая нужна? И какой режим работы - 24*7 или все легче?
А то на выбор БД это тоже оказывает принципиальное значение.
...
Рейтинг: 0 / 0
18.07.2011, 17:49
    #37356428
Alexey K.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
miksoftAlexey K.параллельно пустил тестЧто за тест?

Кстати, еще одно направление, на которое, имхо, было бы полезно глянуть - key-value хранилища.

самопальный тест создает дерево каталогов и потом в нем ищет.
попутно измеряю произсодительность.

а можно пример хранилища ? hypertable оно ?

DPH3Ну, я бы все-таки версию протокола наверх вытащил. По личному опыту.
Ну не бывает такого, что бы формат не поменялся. К тому же при имеющихся условиях компактность хранения уже может начать играть свою роль - а это точно предполагает игру с форматами.

даже если формат поменяется, то изменится только программа обработчик. базе должно быть всеравно.

DPH3Ага. Тогда подумай (и поиграй) с физическим размещением данных - как попало или, например, отсортировано по number.
Может оказаться заметно выгоднее на select (меньше физ. чтений, да и блокировок при удалении).

Кстати, доступность высокая нужна? И какой режим работы - 24*7 или все легче?
А то на выбор БД это тоже оказывает принципиальное значение.
в некотором роде они отсортированы по дате. люди звонят - данные поступают.
режим... добавление/удаление 24*7, чтение 8*5 (коллцентр)

нада опять-таки написать тест и проверить как тот-же постгрес справится с поиском.
...
Рейтинг: 0 / 0
18.07.2011, 18:00
    #37356445
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
Alexey K.miksoftКстати, еще одно направление, на которое, имхо, было бы полезно глянуть - key-value хранилища.а можно пример хранилища ? hypertable оно ?См., например, тут - http://en.wikipedia.org/wiki/NoSQL_%28concept%29
Есть также подфорум NoSQL
У меня в этом направлении опыта нет, но эксперименты я бы начал с Memcachedb и Membase, т.к. они имеют отношение к memcached, которая является классикой жанра в Key-value cache in RAM.
...
Рейтинг: 0 / 0
18.07.2011, 18:35
    #37356497
DPH3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
даже если формат поменяется, то изменится только программа обработчик. базе должно быть все равно.

Вот были у тебя данные в XML, а стали - в бинарном формате.
Так у тебя код обработки будет типа
if (rs.getInt("PROTOCOL").equals(XML_PROTOCOL))
return objectFromXML(rs.getBlob("DATA"))
else
return objectFromXML(rs.getBlob("DATA"))

Иначе тебе придется разбирать байтовый поток просто для анализа формата. Что явно лишние проблемы :)



в некотором роде они отсортированы по дате. люди звонят - данные поступают.
А выборки - по ключам в основном? Тогда такая сортировка может быть не слишком удачной.

нада опять-таки написать тест и проверить как тот-же постгрес справится с поиском.
А еще как он справиться с бэкапированием/восстановлением такого объема данных (или репликацией). А то тут стоит сразу думать о подобных проблемах.
...
Рейтинг: 0 / 0
18.07.2011, 18:56
    #37356528
Alexey K.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор БД для хранения 8Tb данных
miksoftУ меня в этом направлении опыта нет, но эксперименты я бы начал с Memcachedb и Membase, т.к. они имеют отношение к memcached, которая является классикой жанра в Key-value cache in RAM.
благодарю, посмотрю что за звери.


DPH3Так у тебя код обработки будет типа
if (rs.getInt("PROTOCOL").equals(XML_PROTOCOL))
return objectFromXML(rs.getBlob("DATA"))
else
return objectFromXML(rs.getBlob("DATA"))

нет, в этом случае все будет крайне просто
Ipraser* parser = ParserFactory::Get(*data);
parser->GetField(...);
...
и вообще обработка данных проблему не представляет. все уже почти написано.
есть проблема храния и поиска.

DPH3А еще как он справиться с бэкапированием/восстановлением такого объема данных (или репликацией). А то тут стоит сразу думать о подобных проблемах.
raid5 не решит проблему ?
опять же проблема хранилища это не моя проблема :) (с надеждой в голосе...)
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / выбор БД для хранения 8Tb данных / 25 сообщений из 80, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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