2011-11-22 30 views
0

我保留某种内容类型的内容修订历史记录。它存储在MongoDB中。但由于数据并不经常被访问,我并不需要它,占用内存。我会把它放在一个较慢的硬盘数据库中。内容修订历史移动数据库?

我应该放哪个数据库?我正在寻找一些非常便宜的产品,并提供云托管服务。我不需要速度。我正在看SimpleDB,但它看起来不太受欢迎。由于我的数据结构化为文档,rdbms看起来似乎不够容易处理。我有什么选择?

感谢

+1

它是你担心的磁盘空间吗?因为如果您根本不访问集合,它将不会占用MongoDB中的内存(如RAM)。 – Thilo

+0

是的,但我正在使用云主机。他们向我收取多少存储空间,无论它是否在内存中。 – Harry

+0

'云托管'应该是什么?你的数据有多大,存储真的是一个问题(>> 1TB)?你可以花多少钱?最重要的是:如果你关心的是数据大小,数据库应该如何改变?也许你想考虑增量压缩?如果您关心的是存储大小,压缩文件夹会有帮助吗? – mnemosyn

回答

0

取决于你想要多久看这个旧数据:

你为什么不它时,你想回去mongodump到本地磁盘和mongorestore。

文档here

OR

设置本地蒙戈实例,并使用基于您的问题和意见的信息here

+0

我希望能够像访问正常数据一样访问它并进行查询。我需要把它放在一个更便宜的数据库中,而不是隐藏它。我也不想管理自己的数据,宁愿将其留给云服务。 – Harry

0

克隆的数据库,你可能无法找到完美的解决方案。您想要免费或低价的便宜存储空间,并且希望在线提供您的数据。

只有一个解决方案,我可以看到可行的:

  1. 棒用MongoDB的。 SimpleDB不允许你存储文档,只有键值对。
  2. 您可以为您的历史创建一个单独的集合。使用可为您提供免费套餐的云服务。例如,http://MongoLab.com可为您提供240Mb免费套餐。
  3. 如果您超过免费套餐,您可以查看丢弃最旧的数据,将其移至离线存储或开始为您使用的内容付费。

如果你的数据增长很多,你将不得不作出是否为它付费的决定,保持它可以在线或离线使用,或放弃它。

+0

我已经在使用http://MongoLab.com,并且正在寻找更便宜的东西来存储我的旧数据。我使用它们来存储我的实时数据......在这一点上,我正在考虑自己托管数据库,并且只是备份到S3。 – Harry

+0

但是通过这样做,您将不具备在线系统的可靠性,并且您将为将在其中离线托管数据的服务器付款。答案的要点是强调您将以这种或那种方式支付解决方案,即支付托管费用,或为自己的服务器支付费用,或者如果您拥有脱机存储,则牺牲可用性来支付费用。您只需要优先考虑放置在顶端的功能:可用性或成本。祝你好运。 – agarcian

0

如果您正在处理大量大对象(BLOBS或CLOBS),您还可以将与数据库分开的“非索引”数据存储起来。这使数据库既便宜又快速。需要时,可以从任何便宜的存储中检索大型对象。

0

Cloudant.com是非常酷的托管您的数据库在云中,它使用的大Couch这是一个nosql的东西。我将它用于我的社交网站,因为Couch DB(Big Couch)类似于开放式结构,您可以通过JSON与它交谈。它非常棒的东西,但很奇怪,从SQL转移到使用Map-Reduce,但一旦你做到了它的价值。我做了一些研究,因为我很长一段时间是一个.NET人物,但是转向Linux和Node.js的部分原因是JavaScript和JavaScript的热爱。这些东西只是合在一起,因为Node.js是后端的所有JavaScript,并且无缝地与Couch DB交谈,整个事情都变得疯狂。