2017-07-19 42 views
-1

我是node.js的新手。如何在cassandra数据库表中使用像mysql一样的连接

而且使用Express框架和使用cassandra为数据库。

我的问题是,可以使用join与像mysql多个表的关系。

对于例如

mysql

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

[Inner join in cassandra CQL]的可能重复(https://stackoverflow.com/questions/16790297/inner-join-in-cassandra-cql) – Raedwald

回答

3

简称:号

有在卡桑德拉(和其他NoSQL数据库)没有连接 - 这是从关系数据库不同。

在卡桑德拉的标准方法是进行非规范化的数据,也许如果需要保存多个副本。根据经验法则首先考虑查询 - 并以这种方式存储数据,以后需要查询。

卡桑德拉将执行非常非常好,如果你的数据是均匀分布翻过群集,每天的查询只投中一或少数几个主键(S)(准确的说 - 分区键)。

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

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

2

号加入不在卡桑德拉(或任何其他NoSQL数据库)成为可能。

你应该根据你的查询需求设计你的表卡桑德拉。 而在使用NoSQL系统时,建议您将数据解除规范化。

Basic Rules of Cassandra Data Modeling

0

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

它归结为这样的连接性能特点,ESP。与手工进行“连接”相比,即在每个(相关)行的一个表上的查询查询。有任何想法吗?

+0

“简而言之,它表示可以通过Spark或ODBC连接“。 但是,我承认我也可能偷偷提出一个问题;) –

相关问题