【问题标题】:How to use join in cassandra database tables like mysql如何在 mysql 等 cassandra 数据库表中使用 join
【发布时间】:2017-12-24 05:58:52
【问题描述】:

我是node.js的新手。

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

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

例如,

mysql

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

【问题讨论】:

标签: node.js cassandra


【解决方案1】:

没有。在 cassandra(或任何其他 NoSQL 数据库)中无法进行连接。

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

Basic Rules of Cassandra Data Modeling

【讨论】:

    【解决方案2】:

    短:没有。

    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(以及其他人)。

    【讨论】:

      【解决方案3】:

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

      归结为此类连接的性能特征,尤其是。与手动进行“连接”相比,即在一个表上对另一个表的每个(相关)行进行查找查询。有什么想法吗?

      【讨论】:

      • “简而言之,它表示可以通过 Spark 或 ODBC 连接进行连接。”但是,是的,我承认我也可能偷偷问了一个问题;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多