Loading article…
.png/500px-Super_column_family_(data_store).png)
スーパー列ファミリは、列ファミリを含むNoSQLオブジェクトです。これは、キーと値のペアで構成されるタプル(ペア)であり、キーは列ファミリである値にマップされます。[1]リレーショナル データベースと同様に、スーパー列ファミリは、複数のテーブルに対する「ビュー」のようなものです。テーブルのマップとして見ることもできます。[2]
利点
データ モデルを作成するときに、複数のテーブルに何らかのビューがあると便利です。スーパー列ファミリの使用は、分散データ ストアでの使用に似ています。ただし、 Apache Cassandraなどのデータ ストアは非リレーショナルである ため、「テーブル」間の「結合」はありません。
並べ替えとクエリ
スーパー列を挿入した後に並べ替える方法や、分散データ ストアで任意のクエリを実行する方法はありません。スーパー列は列ファミリーに追加されるときに並べ替えられます。また、スーパー列に含まれる列に別の並べ替え属性を使用することもできます。標準の列ファミリーと同様に、並べ替えは属性によって定義されます。この属性はApache Cassandraではと呼ばれ、次の値を持ちます。
CompareSubcolumnsWith
AsciiTypeBytesTypeLexicalUUIDTypeLongTypeTimeUUIDTypeUTF8Type
スーパー列をある方法でソートし、スーパー列内の列を別の方法でソートすることは可能ですが、スーパー列の一部を特別な方法で扱うことはできません。[3]
コード例
以下は他の列ファミリーを含むスーパー列ファミリーの例です: [4]
UserList = { Cath : {ユーザー名: { firstname : ” Cath ” 、lastname : ” Yoon ” }住所: { city : ” Seoul ” 、postcode : ” 1234 ” } } Terry : {ユーザー名: { firstname : ” Terry ” 、lastname : ” Cho ” }口座: { bank : ” hana ” 、accounted : ” 1234 ” } } }
ここで、「Cath」と「Terry」は行キー、「username」、「address」、「account」はスーパー列名、「firstname」、「lastname」、「city」などは列名です。
参照
参考文献
- ^ Ronald Mathies (2010-03-18). 「Java による Apache Cassandra のインストールと使用 パート 2 (データ モデル)」。 Sodeso - ソフトウェア開発ソリューション。 2011-03-28取得。
[...] 最大のコンテナーである SuperColumnFamily の場合、ColumnFamily を理解していれば、この構築はそれほど難しくありません。最も内側の Map に Column を置く代わりに、SuperColumn を配置します。つまり、次元が 1 つ増えるだけです。画像に示されているように、SuperColumn を含む Map の Key は、SuperColumn の名前と同じである必要があります (ColumnFamily の場合と同様)。
- ^ Arin Sarkissian (2009-09-01). 「WTF is a SuperColumn? An Intro to the Cassandra Data Model」 Arin Sarkissian. 2010-12-31 にオリジナルからアーカイブ。2011-03-28に取得。4
) 「スーパー カラム ファミリー」は、テーブルのマップ (= ネストされたテーブルのテーブル) です。
- ^ 「Java による Apache Cassandra のインストールと使用 パート 3 (データ モデル 2)」。 Sodeso - ソフトウェア開発ソリューション。2011-03-30取得。
ソートのルールは列だけでなくスーパー列にも適用されます。スーパー列の場合は、CompareSubcolumnsWith 属性を使用して 2 番目のソート ルールも指定する必要があります。 [...] 私はスーパー列とスーパー列内の列の両方に UTF8Type を使用しましたが、これは必ずしもそうである必要はなく、さまざまなソート タイプを使用してそれらを混在させることができます。 ただし、同じレベルで異なるソート タイプを使用することはできません。したがって、同じスーパー列ファミリー内の異なるスーパー列に UTF8Type と LongType を使用することはできません。同じルールが列に適用されます。
- ^ Terry (2010-03-22). 「Apache Cassandra クイックツアー」. Terry.Cho のブログ. 2011-03-25閲覧。
外部リンク
- Apache Cassandra データモデル
