发布于 2010-05-03 17:23:20
第一个问题:如果不需要ACID属性,为什么首先要使用关系数据库?这听起来像是在做某种非事务性的工作,因此获得一个带有事务的RDMBS对您的环境来说可能太重了。
第二个问题:你在存储什么样的数据?你听起来好像需要一个列存储数据库,而且它是用于某种数据仓库项目的。
第三个问题:如果您使用的是PostgreSQL (这是一个很好的数据库),那么它是当前版本吗?以前的8.x版本速度慢得出了名,但从那以后,很多工作都在改进,而你提到的一些问题--比如自动真空--现在很容易通过“设置和忘记”设置来解决。
* Data growing with snowball effect更多关于这个的信息会很好。为什么是雪球?你能把它标准化以减少存储吗?
* existing postgresql locks table etc for vaccuum tasks periodically如果这是一个问题,我已经可以看出,您正在运行一个较早的版本。较新的版本有每个表的控件,甚至可以完全关闭它。
* Archiving data is tideous currently在这里很难做出任何判断,因为没有什么可做的。档案被倾倒到什么媒体?涉及多少持续的I/O?你在什么时间范围内工作?多少数据?它需要是一个“热”的垃圾堆,还是可以是“冷的”?
* Human interaction involved in existing archive, vaccuum, ... process periodically我正在试图了解“正常”的使用将如何需要手动干预,因为它不应该。真空现在是自动的,并且(正如前面提到的)可以设置为根本不发生,并且大多数备份都是脚本化的(当您可以编写脚本时,您可以安排)。这是怎么发生的?
* Need a 'set it. forget it. just add another server when data grows more.' type of solution你说的是集群服务器的安排。
在我看来,这听起来是这样的:
除此之外,这里没有足够的信息来找出合适的人选。
发布于 2010-05-03 18:44:33
您可能也会考虑查看HBase和HyperTable;但是,正如Avery所提到的,您没有向我们提供任何有关当前应用程序的信息,只提供您的数据库平台。
有些事情要记住:
联接是在非SQL平台上手动完成的。他们不会做外键、聚合等事情,所有这些都是手动的。
现有的应用程序不一定容易移植。根据移植成本的不同,垂直(而不是横向)扩展PostgreSQL服务器可能更符合成本效益。
您没有ACID,您必须手动管理并发性。这可能是一个问题,取决于您的应用程序。同样,由于缺乏原子性,你也不能以传统的方式强制执行全球保护规则。
发布于 2010-05-05 00:22:25
卡桑德拉是你知道你需要扩大规模的最佳选择。
我推荐一些来自http://wiki.apache.org/cassandra/ArticlesAndPresentations的案例研究文章
https://serverfault.com/questions/138064
复制相似问题