C-ストア:列指向データベースマネジメントシステムマイク

本論文では、カラムはより基本的な論文を保持され、古いを比較します

ほとんどすべての列が存在するか、この論文の意志で参照OLAP

書き込み用のラインメモリ、OLTPのためのサポート

読書のための列の預金、サポートOLAP

 

ベーシックディスクIOは、すべての作業は、ディスクIOディスクベースのDBMS、ボトルネックのための余分なCPU交換で行われています

全体的なアイデアは、その圧縮されたデータは、少ないメモリ、densepack、より多くのデータとのデポジットが必要に、それはよりコンパクトになりますか?

 

 次のように本論文の革新があります

 

 

ハイブリッドアーキテクチャ

構造は、TPとAPのニーズを満たすことが困難であるため、この基準アーキテクチャは、非常に可能です

したがって、2つのシステムのための1つの書き込み最適化タプル可動子とリード最適化され、中間データ同期のために、

多くの列がシステムとAPで使用され、このアーキテクチャ後続ストレージ

 

データモデル

データモデルは、ここで提示し、より興味深いです

表は論理的な概念である、実記憶が投影され、

投影列のコレクションであり、突起は間のオーバーラップすることができ

これは、複数のテーブルにテーブルを分割しない置くこと、実際にはないのですか?あるいは行と列が格納されたバランスを保つと考えることができますか?同様のHBaseの列ファミリー

データベース管理のコストを削減

投影の別の種類のために異なる場合があり、コストの現在の別の種類が非常に高く、我々はマルチデータを保持する必要があります

多くの場合、異なる投影における預金のcolunmあるとして、データの冗長性は、データ回復のために使用することができます

回避は、この突起は、フィールドの外観を含むことができるので、参加、しかしによるテーブルの解体に参加、両刃の剣の確率を増加させるので、小さいです

 

 

データ圧縮

RSの終わりには、データ圧縮の必要性は、ディスクIOを減らすために

WSの最後に、あなたは、データの量を圧縮を追加する必要があり、かつので、メモリ内の独自のデータの、そして唯一のリアルタイムのデータ・キャッシュをWSはありません

これは、4例に分けられ、

、繰り返しの多くを自分自身を命じ、記録長

障害自体、繰り返しの多い、ビットマップ

、重複レコードのデルタを少量そのものを命じました

自己無秩序、繰り返し少量の、無ソリューション

そして、データ値は、何のRSが更新されていないため、インデックスは、非常にコンパクトな構造とすることができ、densepackボイドは存在しません、B-treeインデックスと結合することができます

 

 

Snapshot Isolation

SI的核心问题,是在查询时间ET,我们要决定在WS和RS中哪些records是visible的?

SI,之所以是Snapshot,就是不能update in place,写不影响原来的读

所以update变成,一个insert和一个delete,这样如果我们记录下,insert和delete的时间,然后和ET比较,就可以判断这个record是否可见

这里决定以绝对时间来作为visible的判断,粒度太小,所以提出epoch

所以会保存insertion vector和deleted record vector,记录每个record的insert和delete的epoch

 

Epoch是什么,

对时间的划分

有个leader TA,会定期发送message,告诉大家可以epoch+1

然后大家会进入下一个epoch,并且等当前epoch的Transaction都结束后,reply到TA

TA收到所有的reply,就会把HWM设为改epoch,然后广播给大家,这样HWM以下的数据都是被读到的

 

おすすめ

転載: www.cnblogs.com/fxjwind/p/12072489.html