Хорошая библиотека ISAM или другой простой файловый менеджер для больших файлов на Windows x64 - PullRequest
1 голос
/ 25 сентября 2008

У нас есть очень большие файлы данных (от 5 ГБ до 1 ТБ), где нам нужен быстрый доступ для чтения / записи. Поскольку у нас фиксированный размер записи, похоже, что в качестве формы можно использовать ISAM. Но был бы рад услышать другие предложения.

В идеале решение должно иметь лицензию в стиле Apache или LGPL, но мы заплатим, если потребуется.

Должен иметь:

Масштабируемость - не менее 1 ТБ файлов
Стабильный - либо не повреждает данные, либо имеет быстрый процесс восстановления
Хорошо работает на X64 Windows

Приятно иметь:

Может участвовать в двухфазных коммитах
Внутренние компрессионные средства
Переносим на * nix платформы
C # API или Java API

Спасибо

Terence

Ответы [ 2 ]

3 голосов
/ 23 октября 2008

Вы также можете использовать ядро ​​базы данных ESENT, встроенное в Windows. Насколько ваши требования идут:

  • Масштабируемый: максимальный размер базы данных это 16 ТБ. База данных о мультитуберкулезе была используется в производстве.
  • Стабильный: восстановление после сбоя с запись с опережением записи.
  • X64 Windows: ESENT является частью Windows, поэтому она присутствует на вашем 64-битный компьютер.

Приятно иметь:

  • 2 фазовых коммитов: №
  • Сжатие: Нет.
  • Переносим на * nix: Нет.
  • API C # или Java API: Не совсем (в Codeplex есть уровень взаимодействия C #, но он не завершен).

Документация здесь: http://msdn.microsoft.com/en-us/library/ms684493(VS.85).aspx

Вы можете получить файл заголовка и lib, загрузив Windows SDK.

1 голос
/ 25 сентября 2008

Дайте Berkeley DB попробовать. Мнения могут быть разными, но они масштабируемы, стабильны (если вы используете все необходимые слои), и AFAIK хорошо работает на x64-окнах. Также переносим на * nix и имеет C и Java API. Не знаю о C # API.

...