問題タブ [wide-column-store]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cassandra - 多くの人が Cassandra を列指向データベースと呼んでいるのはなぜですか?
インターネットでいくつかの論文やドキュメントを読んで、Cassandra データ モデルに関する多くの矛盾した情報を見つけました。それを列指向のデータベースとして識別し、他の人は行指向として識別し、両方のハイブリッドな方法として定義する人がたくさんいます。
Cassandraがファイルを保存する方法について私が知っていることによると、*-Index.dbファイルを使用して*-Data.dbファイルの正しい位置にアクセスし、そこにブルームフィルター、列インデックス、そして列を保存します必要な行。
私の意見では、これは厳密に行指向です。足りないものはありますか?
cassandra - 幅の広い列ストアを使用して複合主キーを構築するのは正しいパターンですか?
HBase と Cassandra は、行と列の両方の概念を使用して、幅の広い列ストアとして構築されています。
行は、RDBMS の主キーの概念に似たキーと、いくつかの列で構成される値で構成されます。
表現は次のようになります。
アプリケーション層で、構成された主キーを構築して、同じ場所にある行をすばやく反復処理できるようにすることは正しいですか。
これは次のように表現できます。
name
列は から に移動され、列名が 1 つValue
にKey
なりました。Value
value
cassandra - Cassandra 構造とリレーショナル データベースの比較
数日前、私は NoSQL のワイドカラム ストアド タイプと Apache-Cassandra のみについて読みました。
私が理解しているのは、Cassandra が次のもので構成されているということです。
キースペース (リレーショナル データベースのデータベースのようなもの) と、多数の列ファミリまたはテーブル (リレーショナル データベースのテーブルと同じ) および無制限の行のサポート。
Stackoverflow タグから:
ワイド カラム ストアは、キー値データベースの一種です。テーブル、行、および列を使用しますが、リレーショナル データベースとは異なり、列の名前と形式は同じテーブル内の行ごとに異なる場合があります。
Cassandra では、(テーブル内の) すべての行に行キーが必要であり、各行キーには複数の列を含めることができます。リレーショナル データベースと NoSQL (Cassandra) の実装とデータの格納の違いについて読みました。
しかし、私は構造の違いを理解していません:
テーブル (または Cassandra の列ファミリー) があるシナリオを想像してください。
次のようなクエリ(CQL)を実行すると:
ご覧のとおり、結果が得られます。
したがって、次のクエリを使用して、リレーショナル データベース (MS SQL) で上記のシナリオを実行します。
結果は次のとおりです。
Cassandra が動的列をサポートしていることは知っています。次のように sth を使用してこれを実行できます。
ただし、リレーショナル モデルで使用できます。たとえば、mssql では上記のコードも実装できます。何かのようなもの:
私が見ているのは、最初の選択と2番目の選択の結果が同じであることです。Cassandra では、スタンドアロン オブジェクトとして行キー (姓) を与えるだけですが、mssql (およびすべてのリレーショナル データベース) の一意のフィールド (ID やテキストなど) と同じであり、Cassandra の列の型が静的であることがわかります(私の例ではvarchar
)Stackoverflowタグで説明されているものとは異なります。
だから私の質問は:
カサンドラについての私の想像に誤解はありますか?!
では、2つの構造の違いは何ですか?! 結果が同じであることを示します。
リレーショナル データベースでは実装できないが、Cassandra がサポートする特別なシナリオ (JSON のようなもの) はありますか? (たとえば、Cassandra ではネストされた列がサポートされていないことを知っています。)
読んでくれてありがとう。
database - Key-Value vs ワイドカラム DB
永続的なキー値 DB とワイドカラム DB の違いを知りたいです。両方のDBでキーによって単一の値を取得することを理解していますが、値のタイプの違いは何ですか?
ありがとう!
pandas - pandas hdf5でデータを保存するときのワイドフォーマットとロングフォーマット
pandas データ フレームは、通常、長い (行数が多い) または幅が広い (列数が多い) 形式で表されます。
hdf ファイル ( df.to_hdf
) として保存した場合、どの形式が読み取りが速く、メモリの占有量が少ないか疑問に思っています。
一般的な規則や、いずれかの形式を優先する必要がある場合はありますか?
cassandra - カサンドラ幅の広い行のキーと値のペアのフィルター
カサンドラを使用して、多くのセンサー (> 50k) で時系列データをモデル化しようとしています。同時に複数のセンサーでフィルタリングを行いたいので、次の (幅の広い行) スキーマを使用するのが適切であると考えました。
すべてのセンサー値が RDBMS の列である場合、私のクエリは理想的には次のようになります。
私の cassandra スキーマに変換すると、クエリは次のようになると想定しました。
私は今2つの問題を抱えています:
- cassandra は、センサー列でフィルター処理できるのは 1 回だけだと教えてくれました。
センサーに Equal が含まれている場合、複数のリレーションによってセンサーを制限することはできません
- 明らかに、値のフィルターは現時点では意味がありません。同じ(広い)行で複数の列をフィルタリングするために、クエリでセンサーと値の関係を表現する方法がわかりません。
IN
最初の質問に対する解決策は、CQL の句を使用することであることは知っています。ただし、これは2番目の問題を解決しません。
このシナリオはカサンドラにも適していますか?
よろしくお願いします。