HBaseとCassandraの比較(図)
提供: LunaBiblos
Software > DataBase > KeyValueストア > Cassandraの構造 > HBaseとCassandraの比較(図)
| 観点 | HBase | Cassandra |
|---|---|---|
| Memory上Data | Memcache | Memtable |
| Disk上Data | HStore | SSTable |
| 先行Log | HLog | CommitLog |
| CAP原則 | CP 一貫性/整合性と分断耐性 | AP 可用性と分断耐性 |
| MasterNode | HBase HMaster HDFS Name Node | なし |
| 単一障害点 | HDFSにあり | なし |
| Replication実行層 | HDFS Name Node上 | Memory上 |
| 同一行に対する 読込書込処理 | 単独Nodeで処理 | 複数Nodeで並列処理 |
| Data競合問題の解消 | なし | 時間解決 Gossip Protocol |
| Data分散方法 | 自動Sharding | Consistent Hashing |
| Hive | ○ | ×? |
| Pig | ○ | ContributionModuleに有り |
| CAS操作 | 可能 | 不可能 |
| Node故障時対応 | 透過的 | 明示的 |
| Network障害発生時 (Network分断) | ||
| 欠損Nodeが保持していたデータ | 残RSで自動FailOver | 欠落 |
| Node動作 | 一方の島が自動的にシャットダウン | それぞれの島が動作 |
| 島の動作 | 処理能力の低下 | 一貫性強度の低下 Replica数が減る 一部Dataの読込不可? |
| Read/Write | 別RSへのFailOver完了まで 読込書込が待たされる | 中断なし |
| User/Clientから見た場合 | 待たされるがErrorは返ってこない | Errorが返る事がある |
| 多重Network分断 | 全体クラッシュとなる可能性あり | Gossip Protocolによる復旧が時間を喰う可能性あり |
| 故障Nodeの復旧 | 通常通りNodeの追加処理 | 以下の方法より選択 ・同一Tokenで復帰 ・新規Tokenで復帰 ・別PCとしてToken指定追加 ・別PCとして新規Token追加 |