Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Несложная специфическая БД для 200 млн записей. / 5 сообщений из 5, страница 1 из 1
14.08.2009, 13:55
    #36144436
nu88
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несложная специфическая БД для 200 млн записей.
Нужно сохранить 200 млн 32-байтных ключей и соответствующих им счётчиков. В общем, это около 10 гигов данных. Находить любую запись за 100 мс, сохранять всю базу без ущерба для обращений к ней. Поддержка языка SQL не обязательна.

1. Могут такое делать бесплатные БД?
2. Что почитать, если идти путём написания своего велосипеда на С++? Спецы по алгоритмам есть, деревьям всяким и т.п.

Модератор:
кросспостинг это зло
...
Рейтинг: 0 / 0
14.08.2009, 21:44
    #36145530
Emery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несложная специфическая БД для 200 млн записей.
nu88Нужно сохранить 200 млн 32-байтных ключей и соответствующих им счётчиков. В общем, это около 10 гигов данных. Находить любую запись за 100 мс, сохранять всю базу без ущерба для обращений к ней. Поддержка языка SQL не обязательна.

1. Могут такое делать бесплатные БД?
2. Что почитать, если идти путём написания своего велосипеда на С++? Спецы по алгоритмам есть, деревьям всяким и т.п.
Если дело только в этом, то вообще не нужно никаких баз данных. Можно, например, создать собственные файлы баз данных типа DBF с адресацией на 2^64 байт (8-ми байтный указатель) и работать с ними с помощью MMF технологии (файлами отображенными в память). Главное, научится эффективно строить индексные файлы типа CDX. Об этом в данном разделе есть моя статься «Алгоритм создания CDX файлов». Статья еще не закончена, так как остались не разгаданными еще несколько секретов Майкрософт, но все идет к тому, что их удастся «вычислить».
...
Рейтинг: 0 / 0
14.08.2009, 22:12
    #36145544
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несложная специфическая БД для 200 млн записей.
nu88Нужно сохранить 200 млн 32-байтных ключей и соответствующих им счётчиков. В общем, это около 10 гигов данных. Находить любую запись за 100 мс, сохранять всю базу без ущерба для обращений к ней. Поддержка языка SQL не обязательна.
Можно взять библиотеку BerkeleyDB и попробовать создать одну хеш-организованную таблицу. Для гарантии фиксированного отклика разместить базу на RAM-disk. Это уже особенности не БД а конфигурации операционки. Не знаю как насчёт Windows но Линукс это позволяет.

Модератор: Тема перенесена из форума "Программирование".
...
Рейтинг: 0 / 0
15.08.2009, 02:28
    #36145660
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несложная специфическая БД для 200 млн записей.
один или несколько файлов, ключи организовать через хеш-функцию. возможно, кеширование файла средствами ОС или ram-disk.
100мс получить может быть сложно в сило того, что файл надо прочитать.
...
Рейтинг: 0 / 0
15.08.2009, 11:26
    #36145743
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несложная специфическая БД для 200 млн записей.
Один из способов хранения данных таблиц в DB2 фактически является обычным массивом a la Pascal (т.е. с нижней и верхней границами) с числовыми индексами.

см. CREATE TABLE statement ,

Код: plaintext
1.
2.
3.
4.
CREATE TABLE ...(...)...
ORGANIZE BY KEY SEQUENCE ORGANIZE BY KEY SEQUENCE column-name
STARTING FROM constant
ENDING AT constant

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
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Несложная специфическая БД для 200 млн записей. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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