【发布时间】:2017-12-24 05:58:52
【问题描述】:
我是node.js的新手。
并使用Express 框架并使用cassandra 作为数据库。
我的问题是可以将join 与mysql 等多表关系一起使用。
例如,
在mysql
select * from `table1`
left join `table2` on table1.id=table2.id
【问题讨论】:
我是node.js的新手。
并使用Express 框架并使用cassandra 作为数据库。
我的问题是可以将join 与mysql 等多表关系一起使用。
例如,
在mysql
select * from `table1`
left join `table2` on table1.id=table2.id
【问题讨论】:
没有。在 cassandra(或任何其他 NoSQL 数据库)中无法进行连接。
您应该根据您的查询要求在 cassandra 中设计您的表。 在使用 NoSQL 系统时,建议对数据进行反规范化。
【讨论】:
短:没有。
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(以及其他人)。
【讨论】:
基本谷歌搜索从 Cassandra 背后的公司返回此博客文章:https://www.datastax.com/2015/03/how-to-do-joins-in-apache-cassandra-and-datastax-enterprise 简而言之,它表示可以通过 Spark 或 ODBC 连接进行连接。
归结为此类连接的性能特征,尤其是。与手动进行“连接”相比,即在一个表上对另一个表的每个(相关)行进行查找查询。有什么想法吗?
【讨论】: