我有庞大的数据库(还挺共发现),并想知道,如果它更容易使用,而不是MySQL卡桑德拉| PostrgreSQL

我所有的生活中,我是用MySQLPostrgreSQL,我可以很容易地认为,在关系代数方面,但几个星期前,我了解到卡桑德拉,它在Facebook和Twitter上使用。

是不是更方便?

什么DBMS通常采用时下存储社交网的数据,对象之间的关系,共发现?

有帮助吗?

解决方案

有的“NoSQL的”数据库许多不同的口味。如果你的应用是很喜欢 WORDNET 也许你应该看看图形数据库如的 Neo4j的

其他提示

有什么比一个一劳永逸的解决方案,一切是建立在解决具体的问题,有其自身的优点和缺点。它是由你来决定 - 你有什么问题的陈述,什么是适合你的问题最好的解决方案。无论您使用卡桑德拉(NoSQL的)或MySQL(RDBMS),它是所有从系统的需求驱动。以下是将帮助您采取更好的决策,而决定数据库的输入。

<强>为什么要使用的NoSQL

在RDBMS数据库的情况下,做出的选择是很容易的,因为几乎所有的数据库如MySQL,甲骨文,MS SQL,PostgreSQL的在这个类别的报价几乎是同一种面向ACID特性的解决方案。当涉及到的NoSQL,决策变得困难,因为每一个的NoSQL数据库提供了不同的解决方案,你必须要了解哪一个是最适合你的应用/系统的需求。例如,MongoDB的配合使用的情况下,你的系统需要的无模式文档存储。 HBase的可能适合搜索引擎,分析日志数据,其中扫描巨大的任何地方,二维加入少的表是必需的。 Redis的建立提供内存中寻找品种,如树,队列,链表等数据结构的,可以是非常适合做实时排行榜,发布 - 订阅类型的系统。类似地,存在此类别(包括卡桑德拉)了适合不同的问题在其他数据库。现在让我们移动到原来的问题,并回答他们一个接一个。

:当使用卡桑德拉

正在为问题的NoSQL家族,卡桑德拉提供解决方案的一部分,在您的要求是有很重的写系统,你想有非常敏感的报告系统上存储的数据之上。考虑这样的日志数据被存储为每个请求的Web分析的用例,你想它周围建分析平台按小时来算命中,通过浏览器,通过IP等实时方式。你可以参考博客文章(的 http://blogs.shephertz.com/2015/04/22/why-cassandra-excellent-choice-for-realtime-analytics-workload/ )了解更多关于哪里卡桑德拉适合于用例

:当使用一个RDMS代替卡桑德拉/ NoSQL的

卡桑德拉基于NoSQL的数据库和不提供ACID和关系数据属性。如果你有ACID特性(例如财务数据)的强烈需求,卡桑德拉就不会在这种情况下,一个合适的。很明显,你可以做的工作了吧,但是你最终会编写大量的应用程序代码来处理ACID属性,并会严重按时失去市场。同时管理那种与卡桑德拉系统将是复杂和繁琐的你。

我建议来分析您的要求。

  1. 如果您正在使用多个群集去,生产的机器的NoSQL
  2. 如果数据模型是复杂的 - 需要高效的结构采取的NoSQL(具有类型列没有限制)
  3. 如果您适合在无鳞几台机器,你不需要为多要求超级性能(例如社交网络中 - 其中很多用户发送HTTP请求),你不觉得你涉及适销性采取RDBMS(Postgres的具有可以使用,像阵列列型一些很好的功能和结构)。
  4. 卡桑德拉应该工作与大尺度的数据,多用途更好。 Neo4j的 - 将是更好的特殊结构,曲线图

卡桑德拉和其他NoSQL的商店都被用于因为他们需要大量的基础写操作基于社交网站。这并不是说MySQL的和Postgres不能达到这一点,但NoSQL的需要少得多的时间和金钱,一般来说。

像你这样的声音可能想看看的Neo4j虽然,只是在你的对象模型的需求方面。

所有不同的产品,他们都有自己的亲的和康涅狄格州的。什么样的问题,你有没有解决?

巨大的,如在TB的?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top