2012-10-27 75 views
0

我正在寻找一个数据库软件,我可以存储1TB +数据。
一行的平均大小将是5KB。
我一直在做我的功课这在过去的一个月,我已经入围的两个软件:数据库软件存储1TB数据

  1. SQLite的
  2. 的MySQL的MyISAM

从本质上讲,数据库不应该用太多的额外数据存储行,它应该符合ACID。
我也接受任何其他数据库软件建议。
我打算使用的应用程序将只有一个并发连接。

SQLite是很好的,满足不同的是要求,当你删除一行,不会删除该文件中的数据,并保持释放的资源,直到数据被新数据覆盖。人们需要使用VACUUM清理免费资源,这需要花费相当多的时间和资源。 SQLite在存储数据方面也非常高效。它不会向内容添加太多数据。 SQLite也不允许分开INDEX文件,以便它可以放在SSD上以加快查找速度。

的MySQL的MyISAM是好的,它也是存储数据非常高效和犯规添加内容。但是MyISAM不符合ACID标准,并且可能会导致数据丢失,从而导致电源故障等。另一方面,INNODB存储数据的效率并不高,并且与MyISAM相比,它添加到存储每行的额外数据相当高。

那么,有没有克服了这些限制任何免费的数据库软件或这是我最好的选择?

+1

“innodb ..效率不高......” - 比较什么? – ethrbunny

+0

@ethrbunny好像他一直在读10岁的FUD。 – bobwienholt

+0

在选择数据库引擎时,磁盘存储的效率真的是您最关心的问题吗?我还没有看到这是一个问题,因为硬盘驱动器每兆字节花费一美元...... –

回答

3

你应该问自己,你将如何使用这些数据。 1TB很大,但可管理,但问题是这些数据将如何存储。它是单个表还是关系结构?根本就没有任何结构,或者你更喜欢像MongoDB这样的数据库,它基本上可以让你存储对象。

的读取写入VS数数,这些是更重要的数字。

我觉得现在你正专注于开销大小太多。一些额外的GB不会花费你,但迁移到不同的数据库,因为你做出了错误的选择。

+0

这是一个关系结构。 MongoDB需要2-3倍的空间来存储任何数据。我同意这个开销点,但我只是好奇如果有更好的软件存在。经常会有写入和读取。 – user1066991