如何在像caql

时间:2017-07-19 06:28:03

标签: node.js cassandra

我是node.js的新手。

使用Express框架并使用cassandra作为数据库。

我的问题是,可以将joinmysql等多个表关系一起使用。

例如,

mysql

select * from `table1` 
left join `table2` on table1.id=table2.id

3 个答案:

答案 0 :(得分:3)

简短:没有。

cassandra(和其他nosql数据库)中没有连接 - 这与关系数据库不同。

在cassandra中,标准方法是对数据进行非规范化,并在必要时存储多个副本。根据经验,首先考虑查询 - 并以这种方式存储数据,您需要稍后查询。

如果你的数据在你的集群中均匀分布,并且每天查询只打中一个或只有几个主键(确切地说 - 分区键),那么Cassandra的表现会非常好。

查看:http://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling

还有来自DataStax的培训:https://academy.datastax.com/resources/ds220-data-modeling(以及其他人)。

答案 1 :(得分:2)

没有。在cassandra(或任何其他NoSQL数据库)中不可能加入。

您应该根据查询要求在cassandra中设计表格。 在使用NoSQL系统时,建议对数据进行反规范化。

Basic Rules of Cassandra Data Modeling

答案 2 :(得分:0)

基本的Google搜索从Cassandra背后的公司返回此博文:https://www.datastax.com/2015/03/how-to-do-joins-in-apache-cassandra-and-datastax-enterprise 简而言之,它表示可以通过Spark或ODBC连接进行连接。

归结为此类连接的性能特征,尤其是与制作"加入"手动,即在一个表上查找另一个(相关)行的查询。有什么想法吗?