我有一个假设的值数据库,每个值的大小为4个字节(即4,000,000,000)。所有值都存在于数据库中,因此它以0开头,以最大的4字节数字结尾。
仅一次,我想在数据库中通过在它们前面的列(或空格)中添加一个1到10000之间的数字来标记其中的一些值。
例如,我的数据库是:
0 1个 2 3 4 5 。 。 。 。 10000
仅一次,我想标记其中一些数字,并在它们前面添加一个数字:
0 90 1个 2 3 10 4 55 5 6 7 8 9 。 。 。 。 10000
如您所见,我在3个值(0、3、4)的前面添加了一些数字。
我的问题是我尝试了多种数据库,例如SQL,NoSQL,JSON等。但是,每当我将这些数字添加到这3个值中时,兆字节的数据就会超出我的期望而添加到数据库大小中。
换句话说,我希望能够向数据库中添加n MB的信息,并且保持大多数数据库值不变,并且我希望数据库中的大小只会增加n MB,而不会增加更多。你能帮我吗?
答案 0 :(得分:1)
真正的问题是:为什么您要关心“兆字节”数据?除非您在移动设备上运行它,否则这不太可能是现实世界中的考虑因素。
数据库会产生大量开销-它们具有索引,部分填充的页面,日志文件等。它们支持多个处理器,分布式内存和多个磁盘。它们旨在实现ACID属性并用于数据检索操作。它们并非旨在最小化空间。
如果您担心空间不足,则应该以压缩的平面文件格式存储数据,并放弃数据库提供的其他功能。