![]() |
1
6
你考虑过用 SQL Server Compact Edition ?
现在,这将有与sqlite相同的问题,因为数据结构,从你告诉我们的,可能会变得复杂,但这将是正确的,即使你滚动你自己的二进制格式。 顺便说一句,我突然想到你还没有弄清楚“相当大”到底是什么意思。如果“sizeable”意味着接近或超过4gb,那么很明显,sql compact将不起作用,许多其他数据库文件格式也不会起作用。 编辑 我注意到,在我的文章之后,您已经将sql compact版本添加到了“太重”列表中。根据数据库的大小,sql compact只需要5mb的ram和2mb的磁盘存储空间。所以,问题不可能是重量级的。现在,关于声称数据结构的第二点是相当复杂的。如果这是真的,我怀疑任何关系数据库产品都会是真的,并且滚动您自己的二进制格式将更加复杂。因此,您可以查看非关系数据库产品,如 mongodb . |
![]() |
2
1
|
![]() |
4
1
这里有一个有趣的选择:从思科蚀刻,在apache许可下可用(你不支付版税,你的软件仍然是商业的和你的)。 这个想法是使用蚀刻在系统组件之间以二进制形式进行通信。该格式对版本更改具有弹性,并且可以根据您的需求状态处理缺少的字段等。 这样做的好处是,您可以在二进制格式的基础上获得更完整的传输系统。它被认为非常快(一台机器每秒执行900个soap xml事务,生成50000个蚀刻事务)。 如果需要多个索引,可以将二进制形式存储在轻量级rdbms中。如果只有一个索引就足够了,那么一个简单的键/值存储(couchdb/mongodb甚至cassandra用于分布式环境)也将为您提供出色的存储性能! |
![]() |
5
0
如果XML由于空间消耗而不能满足需求,可以通过
|
![]() |
6
0
我不会这么快就注销协议缓冲区的。当然,你提到的手动输入是一兆字节的顺序,你要处理的是几十兆字节……但你有没有尝试过一项研究,看看这个限制是否会影响到你? 如果它仍然对您有影响,我的建议是采用混合方法:将您的数据集切成1 MB大小的块,然后将每个块存储为sqlite表的字段(作为二进制blob)。为要索引(或搜索依据)的元素向表中添加其他字段。 是的,它增加了复杂性,但似乎没有什么能让你接近你需要去的地方。 |
![]() |
7
0
你看过二进制序列化吗? 看我的帖子 here 更多信息。它有示例代码来序列化dictionary对象中包含的自定义类。不知道你的结构有多复杂,但它应该很直接地适应你的需要。 如果需要更多帮助,请添加注释… |
![]() |
Glory to Russia · 这个m4文件的格式是什么? 9 年前 |
|
user3726821 · 此文件的格式是什么? 10 年前 |
![]() |
Moshe · 什么样的文件是有效的Xcode行为脚本? 11 年前 |
![]() |
Ryan · 索引图形的预排序三维文件类型 12 年前 |