0

列ファミリーが任意の構造の行を持つことができるとすると、すべての行を単一の「ストア」に格納できます(意図的に「columnfamily / table」という名前を避けます)。では、列ファミリーの目的は何ですか?

4

3 に答える 3

1

すべての理由の中で最も単純なのは、名前自体が「列ファミリー」であることから明らかです。列ファミリは、関連する一連の列をグループ化します。これは、関連する列を含む名前空間と見なすことができます。

たとえば、列「名前」自体にはコンテキストがなく、「従業員」や「都市」などのColumnFamiliesによって提供されます。または、各列は、関連する列の概念なしに、それ自体ですべてのコンテキストを保持する必要があります。

于 2013-01-18T22:54:09.157 に答える
1

アトミシティ

Cassandra 1.1以下では、同じ行への書き込み(つまり、同じキーを使用)がアトミックであることが唯一のアトミック保証です。

したがって、書き込みが失敗した場合にアプリケーションが適切に動作するように、列に何を入れたいか、およびそれらの列をどの行に入れるべきかについて非常に慎重に検討します。

于 2013-01-20T20:44:32.860 に答える
0

理由:

  • 行内の列の並べ替え順序を変えるため。コンパレータは列ファミリの作成時に指定され、後で変更することはできません。したがって、列をアルファベット順または数値順に並べ替える必要がある行がある場合は、さまざまな列ファミリーを作成する必要があります。
  • 列ファミリーごとに設定できるストレージオプションをカスタマイズします。たとえば、キャッシュまたは行、圧縮、期限切れの列の削除など。列ごとのファミリストレージオプションはここにあります。
  • 同じ列ファミリーにカウンター列と非カウンター列を混在させることはできません
  • 他の回答で述べたように、論理的なまとまりにより、列は行IDで識別されるエンティティの属性を表します。
于 2013-07-20T21:51:30.860 に答える