[解決済み] カラムナデータベースとは?
質問
倉庫管理の仕事をしています。
私はColumnar Databasesと、それが提供するデータ検索の速度に興味をそそられています。
複数の質問があります。
- 列指向データベースはどのように機能するのですか?
- リレーショナル・データベースとの違いは?
どのように解決するのですか?
列指向データベースはどのように動作するのですか?
カラムナデータベースは
概念
ではなく、特定の
アーキテクチャ/実装
. 言い換えれば、これらのデータベースがどのように機能するかについての特定の説明はありません。実際、いくつかのデータベースは伝統的な行指向の DBMS をベースにしており、単に 1 つ (または多くの場合 2 つ) の列を持つテーブルに情報を格納しています (そして列データに簡単にアクセスするために必要な層を追加しています)。
リレーショナル データベースとはどのように違うのでしょうか。 一般に、従来の(行指向の)データベースとは、以下の点で異なっています...
- パフォーマンス...
- ストレージ要件 ...
- スキーマの変更のしやすさ ...
...DBMSの特定のユースケースにおいて
.
特に、典型的な用途が、与えられたエンティティのすべてまたはほとんどの列を取得しようとするのではなく、限られた数の列で集約値を計算することである場合、前述の領域で利点を提供します。
遊んでみるためにインストールできる列指向データベースの試用版はありますか。(私は Windows 7 を使用しています)
はい、商用、フリー、オープンソースのカラムナデータベースの実装があります。の末尾にあるリストを参照してください。
Wikipedia の記事
を手始めに。
これらの実装のうち、いくつかは
特定のニーズ
(例えば、非常に小さなフットプリント、高度に圧縮可能なデータの配布、または予備行列のエミュレーションなど) に対処するために導入されたものであり、それ自体が汎用列指向 DBMS を提供するものではないので注意が必要です。
注: いくつかの列指向 DBMS の単一目的の指向についての発言は、これらの実装を批判するものではなく、むしろ DBMS のためのこのようなアプローチが、レコード実体を格納するためのより自然なアプローチ (そして確かにより広く使用されている) から外れていることを示す追加のものです。 その結果、このアプローチは行指向のアプローチが満足のいくものでない場合に使用され、そのため、以下のような傾向があります。
a) 特定の目的のために目標とされる
b) 「汎用」、「試行錯誤」、「表形式」アプローチに関する作業よりも、リソースや関心が少ない。
暫定的に エンティティ-アトリビュート-バリュー (EAV)データモデルは、あなたが検討したいかもしれない代替ストレージ戦略かもしれません。 純粋な列挙型 DB モデルとは異なりますが、EAV は列挙型 DB のいくつかの特性を共有しています。
関連
-
SQL-初心者のためのベスト入門SQLクエリ I
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] SQL Server の CASE ステートメントで OR がサポートされていない。
-
[解決済み] SQLでランダムな行を要求する方法は?
-
[解決済み] 複数の列に対してSELECT DISTINCTする方法(またはできる方法)は?
-
[解決済み] SQLクエリは、複数のテーブルからデータを返す
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決策:java.sql.SQLException: ユーザー ''@'localhost'' (パスワード: YES を使用) のアクセスが拒否されました。
-
MySQL - ストアドプロシージャ (データ型、関数)
-
MHAの高可用性構成とフェイルオーバー
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] SQL Serverでシングルクォートをエスケープするにはどうすればよいですか?
-
[解決済み] SQL JOIN - WHERE句とON句の比較
-
[解決済み] SQL Server の CASE ステートメントで OR がサポートされていない。
-
[解決済み] SQL Server 2008を使用してIDENTITY_INSERTをオン/オフする方法は?
-
[解決済み] 複数の列に対してSELECT DISTINCTする方法(またはできる方法)は?
-
[解決済み] SQL/mysql - Select distinct/UNIQUE but return all column?