私はnode.js
を初めて利用しています。mysqlのようなcassandraデータベーステーブルの結合方法
Express
フレームワークを使用し、cassandra
をデータベースとして使用してください。
質問とmysql
のような複数のテーブル関係を使用することができます。
mysql
は例えば、
について
select * from `table1`
left join `table2` on table1.id=table2.id
私はnode.js
を初めて利用しています。mysqlのようなcassandraデータベーステーブルの結合方法
Express
フレームワークを使用し、cassandra
をデータベースとして使用してください。
質問とmysql
のような複数のテーブル関係を使用することができます。
mysql
は例えば、
について
select * from `table1`
left join `table2` on table1.id=table2.id
短:号
ない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からの研修があります。
号は、Cassandraの(または任意の他のNoSQLデータベース)では不可能であるジョイン。
クエリの要件に基づいて、テーブルをcassandraで設計する必要があります。 NoSQLシステムを使用している間は、データを標準化解除することをお勧めします。
Cassandraの背後にある会社からこのブログ記事が返されます。https://www.datastax.com/2015/03/how-to-do-joins-in-apache-cassandra-and-datastax-enterprise 要するに、SparkまたはODBC接続によって結合が可能です。
このような結合のパフォーマンス特性には、次のようなものがあります。手による「結合」、すなわち、他方の各(関連する)行について1つのテーブルの検索照会を行うことと比較して、何か案は?
の可能な複製「SparkまたはODBC接続。 しかし、ええ、私も質問に潜入した可能性があることを認めます;) –
[cassandra CQLの内部結合](https://stackoverflow.com/questions/16790297/inner-join-in-cassandra-cql) – Raedwald