|
|
|
Несложная специфическая БД для 200 млн записей.
|
|||
|---|---|---|---|
|
#18+
Нужно сохранить 200 млн 32-байтных ключей и соответствующих им счётчиков. В общем, это около 10 гигов данных. Находить любую запись за 100 мс, сохранять всю базу без ущерба для обращений к ней. Поддержка языка SQL не обязательна. 1. Могут такое делать бесплатные БД? 2. Что почитать, если идти путём написания своего велосипеда на С++? Спецы по алгоритмам есть, деревьям всяким и т.п. Модератор: кросспостинг это зло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 13:55 |
|
||
|
Несложная специфическая БД для 200 млн записей.
|
|||
|---|---|---|---|
|
#18+
nu88Нужно сохранить 200 млн 32-байтных ключей и соответствующих им счётчиков. В общем, это около 10 гигов данных. Находить любую запись за 100 мс, сохранять всю базу без ущерба для обращений к ней. Поддержка языка SQL не обязательна. 1. Могут такое делать бесплатные БД? 2. Что почитать, если идти путём написания своего велосипеда на С++? Спецы по алгоритмам есть, деревьям всяким и т.п. Если дело только в этом, то вообще не нужно никаких баз данных. Можно, например, создать собственные файлы баз данных типа DBF с адресацией на 2^64 байт (8-ми байтный указатель) и работать с ними с помощью MMF технологии (файлами отображенными в память). Главное, научится эффективно строить индексные файлы типа CDX. Об этом в данном разделе есть моя статься «Алгоритм создания CDX файлов». Статья еще не закончена, так как остались не разгаданными еще несколько секретов Майкрософт, но все идет к тому, что их удастся «вычислить». ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 21:44 |
|
||
|
Несложная специфическая БД для 200 млн записей.
|
|||
|---|---|---|---|
|
#18+
nu88Нужно сохранить 200 млн 32-байтных ключей и соответствующих им счётчиков. В общем, это около 10 гигов данных. Находить любую запись за 100 мс, сохранять всю базу без ущерба для обращений к ней. Поддержка языка SQL не обязательна. Можно взять библиотеку BerkeleyDB и попробовать создать одну хеш-организованную таблицу. Для гарантии фиксированного отклика разместить базу на RAM-disk. Это уже особенности не БД а конфигурации операционки. Не знаю как насчёт Windows но Линукс это позволяет. Модератор: Тема перенесена из форума "Программирование". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 22:12 |
|
||
|
Несложная специфическая БД для 200 млн записей.
|
|||
|---|---|---|---|
|
#18+
один или несколько файлов, ключи организовать через хеш-функцию. возможно, кеширование файла средствами ОС или ram-disk. 100мс получить может быть сложно в сило того, что файл надо прочитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2009, 02:28 |
|
||
|
Несложная специфическая БД для 200 млн записей.
|
|||
|---|---|---|---|
|
#18+
Один из способов хранения данных таблиц в DB2 фактически является обычным массивом a la Pascal (т.е. с нижней и верхней границами) с числовыми индексами. см. CREATE TABLE statement , Код: plaintext 1. 2. 3. 4. Specifies that the table is organized in ascending key sequence with a fixed size based on the specified range of key sequence values. A table organized in this way is referred to as a range-clustered table. Each possible key value in the defined range has a predetermined location in the physical table. The storage required for a range-clustered table must be available when the table is created, and must be sufficient to contain the number of rows in the specified range multiplied by the row size ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2009, 11:26 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36144436&tid=1552902]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 370ms |

| 0 / 0 |
