数据库 – postgreSQL vs Cassandra vs MongoDB vs Voldemort?

前端之家收集整理的这篇文章主要介绍了数据库 – postgreSQL vs Cassandra vs MongoDB vs Voldemort?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
要决定哪个数据库?任何比较?

>现有:postgresql
>问题

>水平不易扩展.需要分片等
>群集无法解决数据增长问题


>寻找:任何易于水平扩展的数据库

> Cassandra(Twitter使用它?)
> MongoDB(迅速普及)
>伏地魔
>其他?


>为什么?

>数据随着雪球效应而增长
>现有的postgresql锁定表等定期进行真空任务
>存档数据目前很潮流
>人工互动涉及现有档案,真空,……定期处理
>需要一个’设置它.算了吧.只需在数据增长时添加另一台服务器.解决方案的类型

解决方法

第一个问题:如果您不需要ACID属性,为什么要开始使用关系数据库?这听起来像是在进行某种非事务性的工作,因此使用事务处理RDMBS可能对您的环境来说太沉重了.

第二个问题:您存储的是哪种数据?你听起来像需要一个列存储数据库,它适用于某种数据仓库项目.

第三个问题:如果你坚持使用Postgresql(这是一个很好的数据库)是当前的版本吗?较早的8.x之前版本的速度非常慢,但是从那时起,很多工作都进行了改进,你提到的一些问题 – 比如autovacuum – 现在可以通过“一劳永逸”的设置轻松解决.

*  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

你在谈论集群服务器安排.

对我来说听起来如下:

>您使用的是RDBMS,其交易性质不适合您的应用程序.
>您的应用程序似乎需要一种主要读取的数据库样式.它听起来并不像你需要它具有事务完整性.
>您正在处理的数据量很可能未正常化,也没有尝试对其进行标准化.
>你手工做太多太多了,需要更多的自动化.
>您喜欢集群解决方案的想法,可能是“云样式”计算.

除此之外,这里没有足够的信息来确定什么是合适的.

猜你在找的MongoDB相关文章