2017-07-19 7 views
-1

私はnode.jsを初めて利用しています。mysqlのようなcassandraデータベーステーブルの結合方法

Expressフレームワークを使用し、cassandraをデータベースとして使用してください。

質問とmysqlのような複数のテーブル関係を使用することができます。

mysqlは例えば、

について

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

[cassandra CQLの内部結合](https://stackoverflow.com/questions/16790297/inner-join-in-cassandra-cql) – Raedwald

答えて

3

短:号

ないCassandraの(および他のNoSQLデータベース)での結合はありません - リレーショナル・データベースとは異なります。

標準的な方法は、データを非正規化し、必要に応じて複数のコピーを保存することです。大まかに言えば、クエリをまず考え、データを後でクエリする必要があります。

データがクラスタ全体に均等に分散し、毎日のクエリが1つまたはわずかなプライマリキー(正確にはパーティションキー)に当たった場合、Cassandraは非常にうまく機能します。 https://academy.datastax.com/resources/ds220-data-modeling(および他すぎ):

は見ている:http://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling

をそしてDataStaxからの研修があります。

2

号は、Cassandraの(または任意の他のNoSQLデータベース)では不可能であるジョイン。

クエリの要件に基づいて、テーブルをcassandraで設計する必要があります。 NoSQLシステムを使用している間は、データを標準化解除することをお勧めします。

Basic Rules of Cassandra Data Modeling

0

Cassandraの背後にある会社からこのブログ記事が返されます。https://www.datastax.com/2015/03/how-to-do-joins-in-apache-cassandra-and-datastax-enterprise 要するに、SparkまたはODBC接続によって結合が可能です。

このような結合のパフォーマンス特性には、次のようなものがあります。手による「結合」、すなわち、他方の各(関連する)行について1つのテーブルの検索照会を行うことと比較して、何か案は?

+0

の可能な複製「SparkまたはODBC接続。 しかし、ええ、私も質問に潜入した可能性があることを認めます;) –

関連する問題