我有非常简单的结构化数据,目前以自制文件格式存储,但我想知道我们是否应该迁移到更现代的东西。数据只是一个 s 的表,由一列double
索引。double
我需要执行的事情是:
- 遍历表。
- 插入和删除任意记录。
- 在给定键值之前和之后选择给定数量的行(其中键可能不在数据库中)。
要求是:
- 存储必须是基于文件的,没有服务器。
- 不必将整个文件读入内存。
- 生成的文件应该可以在不同的体系结构之间移植(wrt endian-ness ...)
- 必须是一个非常稳定的项目(数据非常关键)。
- 必须在 Solaris/SPARC 上运行,最好还可以在 Linux/x64 上运行。
- 访问时间应尽可能快。
- 必须作为 C++ 库提供。Fortran 和 Python 绑定的奖励积分 :)
- 可选的比双精度精度更高的数字表示将是一个奖励。
- 相对紧凑的存储空间也将是一个好处。
根据我有限的经验,sqlite将是一个有趣的选择,或者如果 sqlite 不够快,则可能是非服务器模式下的mysql 。但也许一个成熟的 SQL 数据库是矫枉过正的?
你有什么建议?