Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
какую бд рекомендуете для хранения
базы "словарь слов" - один столбец и миллиард строк каждая длиной до 128 байт
и быстрых выборок к ней вида
select "слово" from base
?
15 апр 14, 02:19    [15882781]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
sqlmiha1
какую бд рекомендуете для хранения
базы "словарь слов" - один столбец и миллиард строк каждая длиной до 128 байт
и быстрых выборок к ней вида
select "слово" from base
?
key-value. Тот же Oracle NoSQL DB.
15 апр 14, 03:26    [15882799]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
Alexander Ryndin, а nosql?
15 апр 14, 03:28    [15882800]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
а из бесплатных nosql?
15 апр 14, 03:29    [15882801]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
DPH3
Member

Откуда:
Сообщений: 456
sqlmiha1
какую бд рекомендуете для хранения
базы "словарь слов" - один столбец и миллиард строк каждая длиной до 128 байт
и быстрых выборок к ней вида
select "слово" from base
?


Не совсем понял, как это - только одни столбец? Или два столбца вида "слово","значение в 128 байт"?
Выбор по слову - только по точному совпадению или по маске/морфологии/и т.п.?
Насколько много чтений, насколько много записей, какого вида записи?
С чем уже имели дело?
15 апр 14, 03:36    [15882808]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
DPH3,

столбец один - слово до 128 байт
выбор слов по маске *слово*
записей нет
только чтения до сотни-тысячи в секунду (может больше)
смотри пока mssql / mongodb
15 апр 14, 03:43    [15882811]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
смотрЮ пока mssql / mongodb
15 апр 14, 03:44    [15882812]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
sqlmiha1
а из бесплатных nosql?
Oracle NoSQL Community Edition бесплатная
15 апр 14, 04:30    [15882829]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
sqlmiha1
смотрЮ пока mssql / mongodb
По мне так mongodb - это из пушки по воробьям. Зачем вам документоориентированная база?
15 апр 14, 04:32    [15882830]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
29 Белых Котиков
Member

Откуда: ИТ-бог. Мне доверяют 30 человек.
Сообщений: 2860
OCZ Z-Drive R4 CloudServ и простой текстовый файл, в котором лежат отсортированные слова. Но один поиск по отсортированному файлу потребуется 9 чтений файла. Соответственно, (IOPS на чтение)=9*(количество запросов в секунду)

Никакого кеширования, всё просто и предсказуемо, зато будет гарантированно работать на вашем объёме. Так же, эти ваши 128 гигов можно в памяти разместить.
15 апр 14, 08:27    [15882976]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
29 Белых Котиков
Member

Откуда: ИТ-бог. Мне доверяют 30 человек.
Сообщений: 2860
То есть, 30 обращений к файлу потребуется. Лучше сразу в память загнать массив. Всё остальное работать не будет.
15 апр 14, 08:45    [15883034]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 5003
120 гигов вполне влезут в оперативку :)
15 апр 14, 11:00    [15883742]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
DPH3
Member

Откуда:
Сообщений: 456
sqlmiha1
выбор слов по маске *слово*

А маска какого вида? Только вида "слово%" или и "%слово%"? Решения будут очень разными.

Реально, как правильно говорят, без SSD или загрузки всего объема в память нормально не сделать. Даже если только индекс ветвей B-дерева хранить в памяти, хотя бы один IOPS при чтении потребуется. 1000 IOPS - это уже многовато для обычных дисков.

Если маска - простая, я бы сделал бы просто руками (всей работы на день-два, меньше, чем уже ушло на исследования решений).
MongoDB тут худший вариант )
MySQL - не знаю, как там с оптимизацией размещения индекса в памяти, но решить точно можно.

Если маска - произвольная, то надо смотреть в сторону какого-нибудь elastic search на кластере, но это надолго )
15 апр 14, 11:04    [15883773]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3697
sqlmiha1
select "слово" from base

Вам же уже сказали в ветке MS SQL, что указанный запрос вернет весь миллиард записей.
Вы определитесь, вам каждый раз нужно запрашивать этот миллиард или это получение одной записи зараз?
15 апр 14, 12:26    [15884256]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
уточняю маска вида "слово%" и "%слово%"
запрос вида select slovo from base where slovo=""%слово%""
15 апр 14, 15:25    [15885578]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54767

sqlmiha1
уточняю маска вида "слово%" и "%слово%"
запрос вида select slovo from base where slovo=""%слово%""

Тебе нужен Sphinx или другие системы полнотекстового поиска. Ни одна СУБД не справится.

Posted via ActualForum NNTP Server 1.5

15 апр 14, 15:32    [15885651]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
servit
Member

Откуда: г. Кишинёв, Республика Молдова
Сообщений: 3148
Блог
sqlmiha1
уточняю маска вида "слово%" и "%слово%"
запрос вида select slovo from base where slovo=""%слово%""
Для ускорения именно таких запросов, и вообще используя регулярные выражения, в СУБД Caché были добавлены индексы iFind.
Для Вашего случая достаточно будет типа Basic (о iFind на русском).
15 апр 14, 15:56    [15885843]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 5003
sqlmiha1
уточняю маска вида "слово%" и "%слово%"
запрос вида select slovo from base where slovo=""%слово%""

Тут только полный скан всего миллиарда.
Нужно оптимизировать хранение, уменьшив чтения диска или грубая сила типа Hadoop.
15 апр 14, 16:01    [15885877]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3697
sqlmiha1
уточняю маска вида "слово%" и "%слово%"
запрос вида select slovo from base where slovo=""%слово%""

1) Уточните требования по скорости выборки.
2) Уточните, требуется ли многопользовательская работа или доступ локальный

Первоначальное впечатление: %слово% приведет к полному перебору
Если без первого процента - какие-то варианты возможны.
15 апр 14, 16:08    [15885936]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
29 Белых Котиков
Member

Откуда: ИТ-бог. Мне доверяют 30 человек.
Сообщений: 2860
Ну если дополнить словарь огрызками слов, то получим 16 терабайт и 43 обращения к словарю на один поиск. Итого на 100 000 запросов в секунду понадобится массив из 250 мелких SSDшек или примерно пять миллионов рублей.
15 апр 14, 16:21    [15886037]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
servit
Member

Откуда: г. Кишинёв, Республика Молдова
Сообщений: 3148
Блог
Arm79
Первоначальное впечатление: %слово% приведет к полному перебору
ЕвгенийВ
Тут только полный скан всего миллиарда.
29 Белых Котиков
Ну если дополнить словарь огрызками слов, то получим 16 терабайт и 43 обращения к словарю на один поиск. Итого на 100 000 запросов в секунду понадобится массив из 250 мелких SSDшек или примерно пять миллионов рублей.
Нет, можно задействовать специальные индексы: 15885843

Сделал тест согласно упражнению на книге "Библия":

1) без индекса

select IdPara from BookPara where Para like '%огон%'

2) с индексом

select IdPara from BookPara where id %FIND search_index(ParaStemmedI,'*огон*',1)

Результат:
Количество найденных строкБыстродействие (сек.)Количество обращений к глобалам
Без индекса2870.518151845
С индексом2870.0091006

Разница налицо.
15 апр 14, 17:38    [15886647]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
29 Белых Котиков
Member

Откуда: ИТ-бог. Мне доверяют 30 человек.
Сообщений: 2860
servit,

Ну если слова на языке, то да, специальные индексы намного лучше. Но так как слов миллиард, скорее всего это что-то вроде уникального идентификатора. А какой размер индекса получился в процентах от таблицы, можете проверить, для интереса?
15 апр 14, 17:45    [15886697]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 5003
29 Белых Котиков
servit,

Ну если слова на языке, то да, специальные индексы намного лучше. Но так как слов миллиард, скорее всего это что-то вроде уникального идентификатора. А какой размер индекса получился в процентах от таблицы, можете проверить, для интереса?

Однозначно в Библии уникальных слов меньше, чем 1 000 000 000.
15 апр 14, 18:07    [15886828]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11463
Их меньше, даже если найти скрижали всех мёртвых языков.
15 апр 14, 18:09    [15886837]     Ответить | Цитировать Сообщить модератору
 Re: какую бд рекомендуете для хранения (один столбец и миллиард строк )  [new]
servit
Member

Откуда: г. Кишинёв, Республика Молдова
Сообщений: 3148
Блог
29 Белых Котиков
А какой размер индекса получился в процентах от таблицы, можете проверить, для интереса?
Данные - 8.7 Мб (собственно сам FB2 занимает 6.56 Мб)
Индексы - 16 Мб
Есть ещё несколько системных индексов (ISC.IF.*):
  • ISC.IF.WordCP - 1.3 Мб
  • ISC.IF.WordD - 1.5 Мб
  • ISC.IF.WordI - 1.1 Мб
  • ISC.IF.WordParts - 1.0 Мб
  • ISC.IF.WordRI - 1.2 Мб

PS: в презентации, кстати, указан примерный фактор для всех трёх типов индексов: Basic, Semantic и Analytic.
15 апр 14, 18:20    [15886883]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить