gpt4 book ai didi

RavenDB : Storage Size Problems

转载 作者:行者123 更新时间:2023-12-04 05:19:25 27 4
gpt4 key购买 nike

我正在使用RavenDB进行一些测试,以基于iphone应用程序存储数据。该应用程序将发送一个带有GPS key 的5个GPS坐标的字符串。我在RavenDB中看到每个文档约为664-668字节。这是10个小数和一个GUID的巨大数。有人可以帮助我了解我在做什么错吗?我注意到当磁盘上的一百万条记录超过一百万条记录时,其大小异常大。根据我的计算,它应该小得多。纯粹基于数据大小,文档不应该在100个字节左右吗?考虑到文档数据库具有内置的对象架构,我们可以说将其翻倍至200字节。考虑到该计算,数据库应为约200兆,具有100万条记录。但是它大了十倍。有人可以帮我解决这里数学上的问题吗?

(让一个 friend 检查我的数学,我有点不满意-数字已更新)

最佳答案

作为一般原则,NoSQL数据库并未针对磁盘空间进行优化。这是RDBMS的传统要求。通常使用NoSQL,出于各种原因,您将选择将数据存储为重复数据或三次数据。

特别是对于RavenDB,每个文档都是JSON格式的,因此您那里有一些开销。但是,它实际上是以BSON格式保存在磁盘上的,从而为您节省了一些字节。客户端看不到此实现细节。而且,每个文档都有两个流-主文档内容和关联的元数据。这是非常强大的功能,但是会占用额外的磁盘空间。文档和元数据都以BSON格式保存在ESENT支持的文档存储中。

然后,您需要考虑如何访问数据。您创建的任何静态索引,以及您要求Raven通过其LINQ API为您创建的任何动态索引,都会将数据复制到索引存储中。这是通过Lucene.net使用其专有索引文件格式实现的单独存储。如果要估计磁盘空间需求,则需要考虑到这一点。 (顺便说一句-您还将对RDBMS解决方案中的索引有这种担忧)

如果您非常担心优化磁盘空间的每个字节,那么NoSQL解决方案可能不适合您。市场上几乎每种产品都有这些类型的间接费用。但是请记住,今天的磁盘空间很便宜。关系数据库针对磁盘空间进行了优化,因为发明它们时存储非常昂贵。世界已经改变了,NoSQL解决方案也接受了这一点。

关于RavenDB : Storage Size Problems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13455366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com