2008-09-25 5 views
1

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

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

Must имущих:

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

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

Может участвовать в 2 этапе совершает
характеристических средств сжатия
портативной * NIX платформа
C# API или Java API

Спасибо,

Terence

ответ

1

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

+0

Спасибо - это выглядит многообещающим, и его использование Subversion служит хорошим предзнаменованием для возможности масштабирования. Кто-то только что выпустил обертку C# - http://www.oreillynet.com/xml/blog/2005/12/net_c_wrapper_for_berkely_db_n.html – Terence 2008-09-27 17:28:01

3

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

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

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

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

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

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

+0

Извините за запоздалое спасибо и голос. Это не подходит для этого проекта, но я могу использовать эту информацию в другом месте. Смущаю, что я не знал о ESENT, учитывая, как долго я кодирую Windows. – Terence 2009-06-05 14:46:57