|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
приветствую! подстакажите пожалуйста, какой движок способен справится с такой задачей: одна таблица. перманентное количество записей в базе ~8 миллиардов. одна запись: string, datetime, blob (1024b). возможно добавится еще пара полей. ~85 миллионов инсертов и делитов в день. необходимо осуществить поиск по первому и второму полю. желаемый фидбэк <= 1cек железо, предроложительно, ibm blade + какой-то дисковый массив (пока ничего не известно). что можете порекомендовать ? спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2011, 17:33 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Hardware and networks for Gaia data processing European Space Agency Chooses InterSystems CACHÉ Database For Gaia Mission to Map Milky Way ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2011, 18:23 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K., смотря какая нагрузка пиковая. 85 млн в день ни о чем не говорит вообще. если нагрузка равномерна то сгодиться и mysql/myisam с файликами в ФС ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2011, 21:41 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Если равномерно в течении суток, то это 1 МБ/сек. Тут что угодно подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2011, 00:07 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
авторкакой движок способен справится с такой задачей Который знаешь ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2011, 02:56 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
казалось что задача сложная, но видимо я безповоротно отстал от мэйнстрима :) всем спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2011, 22:12 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K.казалось что задача сложная, но видимо я безповоротно отстал от мэйнстрима :) всем спасибо!я бы не рассляблялся ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2011, 22:29 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
SergSuper, подробнее можно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2011, 22:32 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K., да много это - 8 мдрд например был в центральном филиале одного банка (не буду писать какого, но в топ 20 входит), там всего 1 млрд платежных документов, это за несколько лет там конечно кроме документов много еще чего и логика сложная - но вот там чтобы оно быстро работало надо думать как писать, само оно не летает другой момент - это Вы сейчас думаете что надо пару полей, вскоре выяснится что далеко не пару, что надо их как-то обрабатывать, какие-то проверки, синхронизации ну не верю я что надо огромную базу держать из-за двух полей, не бывает такого вобще странный Вы человек - просите подробностей, а сами никаких подробностей о поставленной задаче не дали ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 00:49 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
SergSuper, все остальные поля хранятся в blob. никаких сложных манипуляций не будет, только поиск по стрингу для заданного интервала дат. все остальные расчеты на уровне аппликации. в данный момент идет мучительный поиск дешевого/быстрого решения задачи. пока что рабочая версия - написать узкозаточенную базу самим. но меня терзают сомнения в успешности данного мероприятия :( скверно то, что сдача через месяц а на данный момент результат NULL. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 01:21 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K.все остальные поля хранятся в blob. никаких сложных манипуляций не будет, только поиск по стрингу для заданного интервала дат. все остальные расчеты на уровне аппликации. в данный момент идет мучительный поиск дешевого/быстрого решения задачи. пока что рабочая версия - написать узкозаточенную базу самим. но меня терзают сомнения в успешности данного мероприятия :(Имхо, у грамотно разработанной структуры каталогов и системы именования файлов очень неплохие шансы на успех при очень скромных накладных расходах. Правда, могут быть потеряны СУБД-специфичные плюсы, такие как транзакции и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 02:04 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K.все остальные поля хранятся в blob. Это следует рассматривать как усугубляющее ситуацию во всех отношениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 09:20 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Имхо, у грамотно разработанной структуры каталогов и системы именования файлов очень неплохие шансы на успех при очень скромных накладных расходах. Правда, могут быть потеряны СУБД-специфичные плюсы, такие как транзакции и т.п. подобное решение пришло в голову одним из первых. чуть подробнее. первый ключ стринг это номер телефона. количество абонентов (уникальных ключей)порядка 5 миллионов. было решено сделать аналог digital trie на базе файловой системы. однако тест показал, что fs дохнет при 3.2-3.5 миллионах вложеных папок и это без файлов. пробовал по две цифры на каталог. итого при длине номера 10 знаков, имеем глубину 5. увеличение вложенности ухудшает ситуацию. в качестве подопытных пробовал ext2, reiserfs с дефолтными настройками. так что этот вариант был помечен как нерабочий. Это следует рассматривать как усугубляющее ситуацию во всех отношениях. почему ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 12:43 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K.все остальные поля хранятся в blob. <...> все остальные расчеты на уровне аппликацииСоглашусь с vadiminfo . Есть достаточно интересное интервью (на английском), в котором упоминается в том числе и этот момент: Objects in Space Alexey K.пока что рабочая версия - написать узкозаточенную базу самим. но меня терзают сомнения в успешности данного мероприятия :( Российский астроном, Олег Бартунов, предложил стране национальную СУБД ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 12:44 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K.Имхо, у грамотно разработанной структуры каталогов и системы именования файлов очень неплохие шансы на успех при очень скромных накладных расходах. Правда, могут быть потеряны СУБД-специфичные плюсы, такие как транзакции и т.п.подобное решение пришло в голову одним из первых. чуть подробнее. первый ключ стринг это номер телефона. количество абонентов (уникальных ключей)порядка 5 миллионов. было решено сделать аналог digital trie на базе файловой системы. однако тест показал, что fs дохнет при 3.2-3.5 миллионах вложеных папок и это без файлов. пробовал по две цифры на каталог. итого при длине номера 10 знаков, имеем глубину 5. увеличение вложенности ухудшает ситуацию. в качестве подопытных пробовал ext2, reiserfs с дефолтными настройками. так что этот вариант был помечен как нерабочий.При таких вводных я бы предложил два уровня вложенности каталогов по три символа на каждый. Например, файл 1234567890.bin хранил бы как 123/456/1234567890.bin В итоге всего два уровня вложенности каталогов и несколько сотен объектов на каждом уровне, что совсем не проблема почти для любой ФС. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 13:15 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K.почему ? Неструктурированные данные. Сами по себе СУБД реляционные, иерархические и др структурированные добились своих успехов именно за счет манипулирования структурированными данными. В реляционных - это SQL доступ. В плане призводительносити разныве средства от сбора статистики до средств повышения производмитенльности в основном на структукрированные данные расчитаны. Т.е. по сути на блобах преимущества от структурированности утрачиваются. Раньше вообще БД делелили на фактографические и документные. Так вот у первых были СУБД, а вторых информационно поисковые системы (т.е. о управлении данными речи не шло), что отражало факт: сильная типизация дает преимущеста в управлении данными. В одном проекте парни решили данные загонять в блобы не смотря на то, что те хорошо укладываались в таблицы. Их идея - съэкномить на числе строк. И тем самым сделать табицы меньше. Но трабла в том, что объем не уменьшился (у строк то еще "ширна": их стало меньше но очень толстых), а оценка БЛОБов более мутная, чем таблиц. Ф-ии же по вытаскиванию данных из БЛОБов просто выглядели удручающе. Им пришлось переделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 14:27 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Кстати, сразу советую в список полей добавить: версию протокола для блобов (ой как пригодится при расширении постановки), версию самого объекта в блобе (для оптимистических блокировок и прочих радостей работы с блобами). По базам: У Oralce есть возможность хранить (небольшие) блобы в том же tablespace, что и сами строки. Это в некоторых случаях сильно уменьшает число физических чтений и seek-ов. Есть ли у других - не в курсе. И, какой характер и число запросов на поиск? Просто поиск одиночных записей по индексу? Или выборка по условиям - если да, то по каким? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 15:45 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
DPH3Кстати, сразу советую в список полей добавить: версию протокола для блобов (ой как пригодится при расширении постановки), версию самого объекта в блобе (для оптимистических блокировок и прочих радостей работы с блобами). версия blob внутри. ничего изменяться не будет - тупо хранилище данных за три месяца. новые данные добавляются по мере поступления. старые(старше трех месяцев (конфигурабельно)) удаляются каким-нить тупым скриптом по cron раз в день (ночью). DPH3И, какой характер и число запросов на поиск? Просто поиск одиночных записей по индексу? Или выборка по условиям - если да, то по каким? вижу как select * from table where number=n and date >= d1 and date < d2 limit 0, 20 (конфигурабельно) больше ничего не нужно. ну может быть count еще по этому-же условию. пока что максимально предполагается до 1000 одновременных запросов. это фантастический максимум. конвертировать blob объект в таблицы нет смысла. на выходе он нужен именно в том формате, в котором положен в базу. тем более его внутренний формат предполагает наличие опциональных и/или повторяющихся полей и прочих радостей, которые, как понимаю, не очень хорошо ложатся в таблицу. тоесть по сути это документная база. только документов очень много. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 16:03 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
servitЕсть достаточно интересное интервью читаю, интересно. спасибо! параллельно пустил тест на xfs с длиной имени поддиректории 3 символа. 24% из 5 миллионов за два часа. слабовато. всеже наверное тупиковый путь. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 16:09 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K.параллельно пустил тестЧто за тест? Кстати, еще одно направление, на которое, имхо, было бы полезно глянуть - key-value хранилища. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 16:28 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K.версия blob внутри. ничего изменяться не будет - тупо хранилище данных за три месяца. Ну, я бы все-таки версию протокола наверх вытащил. По личному опыту. Ну не бывает такого, что бы формат не поменялся. К тому же при имеющихся условиях компактность хранения уже может начать играть свою роль - а это точно предполагает игру с форматами. вижу как select * from table where number=n and date >= d1 and date < d2 limit 0, 20 (конфигурабельно) больше ничего не нужно. ну может быть count еще по этому-же условию. Ага. Тогда подумай (и поиграй) с физическим размещением данных - как попало или, например, отсортировано по number. Может оказаться заметно выгоднее на select (меньше физ. чтений, да и блокировок при удалении). Кстати, доступность высокая нужна? И какой режим работы - 24*7 или все легче? А то на выбор БД это тоже оказывает принципиальное значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 16:43 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
miksoftAlexey K.параллельно пустил тестЧто за тест? Кстати, еще одно направление, на которое, имхо, было бы полезно глянуть - key-value хранилища. самопальный тест создает дерево каталогов и потом в нем ищет. попутно измеряю произсодительность. а можно пример хранилища ? hypertable оно ? DPH3Ну, я бы все-таки версию протокола наверх вытащил. По личному опыту. Ну не бывает такого, что бы формат не поменялся. К тому же при имеющихся условиях компактность хранения уже может начать играть свою роль - а это точно предполагает игру с форматами. даже если формат поменяется, то изменится только программа обработчик. базе должно быть всеравно. DPH3Ага. Тогда подумай (и поиграй) с физическим размещением данных - как попало или, например, отсортировано по number. Может оказаться заметно выгоднее на select (меньше физ. чтений, да и блокировок при удалении). Кстати, доступность высокая нужна? И какой режим работы - 24*7 или все легче? А то на выбор БД это тоже оказывает принципиальное значение. в некотором роде они отсортированы по дате. люди звонят - данные поступают. режим... добавление/удаление 24*7, чтение 8*5 (коллцентр) нада опять-таки написать тест и проверить как тот-же постгрес справится с поиском. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 17:49 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
Alexey K.miksoftКстати, еще одно направление, на которое, имхо, было бы полезно глянуть - key-value хранилища.а можно пример хранилища ? hypertable оно ?См., например, тут - http://en.wikipedia.org/wiki/NoSQL_%28concept%29 Есть также подфорум NoSQL У меня в этом направлении опыта нет, но эксперименты я бы начал с Memcachedb и Membase, т.к. они имеют отношение к memcached, которая является классикой жанра в Key-value cache in RAM. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 18:00 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
даже если формат поменяется, то изменится только программа обработчик. базе должно быть все равно. Вот были у тебя данные в XML, а стали - в бинарном формате. Так у тебя код обработки будет типа if (rs.getInt("PROTOCOL").equals(XML_PROTOCOL)) return objectFromXML(rs.getBlob("DATA")) else return objectFromXML(rs.getBlob("DATA")) Иначе тебе придется разбирать байтовый поток просто для анализа формата. Что явно лишние проблемы :) в некотором роде они отсортированы по дате. люди звонят - данные поступают. А выборки - по ключам в основном? Тогда такая сортировка может быть не слишком удачной. нада опять-таки написать тест и проверить как тот-же постгрес справится с поиском. А еще как он справиться с бэкапированием/восстановлением такого объема данных (или репликацией). А то тут стоит сразу думать о подобных проблемах. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 18:35 |
|
выбор БД для хранения 8Tb данных
|
|||
---|---|---|---|
#18+
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 не решит проблему ? опять же проблема хранилища это не моя проблема :) (с надеждой в голосе...) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2011, 18:56 |
|
|
start [/forum/topic.php?fid=35&msg=37355434&tid=1552625]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 150ms |
0 / 0 |