当前位置:  开发笔记 > 后端 > 正文

Cassandra或MySQL/PostgreSQL?

如何解决《Cassandra或MySQL/PostgreSQL?》经验,为你挑选了3个好方法。

我有庞大的数据库(有点wordnet),想知道是否更容易使用Cassandra而不是MySQL|PostrgreSQL

我一生都在使用MySQL,PostrgreSQL而且我可以很容易地用关系代数来思考,但几周前我了解了Cassandra,并且它在Facebook和Twitter中使用过.

它更方便吗?

现在通常使用什么DBMS来存储社交网络的数据,对象之间的关系,wordnet?



1> ajay..:

没有什么比银弹解决方案更好,一切都是为了解决具体问题而建立的,并且各有利弊.由您决定 - 您有什么问题陈述以及哪种解决方案适合您的问题.无论您使用的是Cassandra(NoSQL)还是MySQL(RDBMS),它都是根据您的系统要求驱动的.以下是有助于您在决定数据库时做出更好决策的输入.

为什么要使用NoSQL

对于RDBMS数据库,做出选择非常简单,因为几乎所有类似MySQL,Oracle,MS SQL,PostgreSQL的数据库都提供了几乎与ACID属性相同的解决方案.说到NoSQL,决策变得困难,因为每个NoSQL数据库都提供不同的解决方案,您必须了解哪一个最适合您的应用程序/系统要求.例如,MongoDB适用于系统需要无架构文档存储的用例.HBase可能适合搜索引擎,分析日志数据,任何需要扫描巨大的二维无连接表的地方.Redis旨在为树,队列,链接列表等各种数据结构提供内存搜索,并且非常适合制作实时排行榜,pub-sub类系统.同样,此类别中还有其他数据库(包括Cassandra),适用于不同的问题.现在让我们转到原始问题,并逐一回答.

什么时候使用Cassandra

作为NoSQL系列的一部分,Cassandra提供了解决问题的解决方案,您的要求是拥有非常繁重的写入系统,并且您希望在存储的数据之上拥有响应迅速的报告系统.考虑Web分析的用例,其中为每个请求存储日志数据,并且您希望在其周围构建分析平台,以按小时,按浏览器,按IP等实时计算点击次数.您可以参考博客文章(http://blogs.shephertz.com/2015/04/22/why-cassandra-excellent-choice-for-realtime-analytics-workload/)来了解更多有关Cassandra适合的用例的信息在.

何时使用RDMS而不是Cassandra/NoSQL

Cassandra基于NoSQL数据库,不提供ACID和关系数据属性.如果您对ACID属性有强烈要求(例如财务数据),那么Cassandra就不适合.显然,你可以用它来完成工作,但是你最终会编写大量的应用程序代码来处理ACID属性,并且会在时间上错误地推向市场.使用Cassandra管理这种系统对你来说既复杂又乏味.



2> APC..:

有许多不同风格的"NoSQL"数据库.如果您的应用程序非常像Wordnet,那么您应该查看一个图形数据库,例如Neo4j.



3> Robert Zarem..:

我建议分析你的要求.

    如果你要使用更多的集群,机器会使用NoSQL

    如果您的数据模型很复杂 - 需要有效的结构,请使用NoSQL(对列的类型没有限制)

    如果您适合没有秤的几台机器,并且您不需要超级性能来满足多个请求(例如在社交网络中 - 许多用户发送http请求),并且您认为您不涉及可销售性需要RDBMS( Postgres有一些很好的功能和结构,你可以使用,比如数组列类型).

Cassandra应该能够更好地处理大规模数据,多用途.neo4j - 对于特殊结构,图表会更好.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有