c# - 适用于 Windows x64 上大文件的良好 ISAM 库或其他简单文件管理器

标签 c# windows file-io 64-bit isam

我们有一些非常大的数据文件(5 GB 到 1 TB),需要快速读/写访问。由于我们有固定的记录大小,因此某种形式的 ISAM 似乎是可行的方法。但很高兴听到其他建议。

理想情况下,该解决方案应具有 Apache 或 LGPL 样式许可证,但如果必须的话我们将付费。

必备品:

可扩展 - 至少 1 TB 文件
稳定 - 不会损坏数据或具有快速恢复过程
在 X64 Windows 上运行良好

很高兴拥有:

可以参与两阶段提交
固有压缩设施
可移植到 *nix 平台
C# API 或 Java API

谢谢

特伦斯

最佳答案

您还可以使用 Windows 内置的 ESENT 数据库引擎。至于您的要求:

  • 可扩展:最大数据库大小 是16TB。多TB数据库已 用于生产。
  • 稳定:崩溃恢复 预写日志记录。
  • X64 Windows:ESENT 是 Windows,因此它存在于您的 64 位机器。

很高兴拥有:

  • 两阶段提交:否。
  • 压缩:否。
  • 可移植到 *nix:否。
  • C# API 或 Java API:并非如此(Codeplex 上有一个 C# 互操作层,但并不完整)。

文档位于:http://msdn.microsoft.com/en-us/library/ms684493(VS.85).aspx

您可以通过下载Windows SDK获取头文件和lib。

关于c# - 适用于 Windows x64 上大文件的良好 ISAM 库或其他简单文件管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/134052/

相关文章:

windows - 由于未初始化的数据指针,管道进入 SET/P 失败?

c - 如何读取整数并将其写入文件

c# - 沿直线寻找随机点

c# - Form.Show() 没有显示它的子控件

c# - 在 C# 中 try catch 的不同方法

android - Mac/Windows 和 Android 之间的 WiFi-Direct 通信

c# - 为一个键反序列化具有多种数据类型的 JSON 文件

c++ - 我正在使用 Dev-C++ 并收到一个编译器错误,提示 "collect2.exe"正在接收状态 1

java - 交错并行文件读取比顺序读取慢?

c++ - 使用 rdbuf 将文件内容复制到缓冲区失败