cassandra限制(RDBMS与CASSANDRA)

时间:2014-01-02 21:26:41

标签: cassandra datastax-enterprise datastax cassandra-jdbc

我的项目环境:SpringWS,Hibernate,Oracle和jBoss。 我得到了一个POC工作,以便在我的RDBMS(oracle)关闭的情况下将数据保存到cassandra中。因此,Cassandra将充当Oracle的故障转移/备份。 我是cassandra的新手,并计划使用datastax来保存cassandra中的数据,并希望了解挑战。 (因为它的POC我的cassandra(2.0.3)在单个节点中运行)

我知道的挑战(可能是我错了)

  1. 与RDBMS一样,我无法在cassandra中定义增量键定义,PK应由应用程序处理(使用TimeUUID)
  2. Cassandra不会支持多对多。所以在这种情况下,就像RDBMS hibernate一样,我不能在Department Entity中设置多个Person Entities并坚持使用cassandra。相反,将有两个插入调用cassandra。一个用于保留DEPARTMENT而另一个用于PERSON表。
  3. 加入cassandra是不可能的。无法在一个CQL(v3)中获取PERSON和DEPARTMENT信息。
  4. 您能指出其他挑战吗?

2 个答案:

答案 0 :(得分:1)

这篇文章可能有所帮助:

Switching from MySQL to Cassandra - Pros/Cons?

以及一些数据建模技巧......

What's The Best Practice In Designing A Cassandra Data Model?

谢谢, 斯文

答案 1 :(得分:0)

分层结构不能直接支持M2M。 1.将一个吸收到另一个作为数组。例如,部门有很多人。将人员置于复合结构中。 2.如果对人有很多维护,请保持部门和人员,但添加复合结构。复合结构是一种预先连接。