【Cassandra】 數據存儲結構

Cassandra 的數據模型是基於列族(Column Family)的四維或五維模型。它借鑑了 Amazon 的 Dynamo 和 Google’s BigTable 的數據結構和功能特點,採用 Memtable 和 SSTable 的方式進行存儲。在 Cassandra 寫入數據之前,需要先記錄日誌 ( CommitLog ),然後數據開始寫入到 Column Family 對應的 Memtable 中,Memtable 是一種按照 key 排序數據的內存結構,在滿足一定條件時,再把 Memtable 的數據批量的刷新到磁盤上,存儲爲 SSTable 。

圖 1. Cassandra 的數據模型圖:

在這裏插入圖片描述

Cassandra 的數據模型的基本概念:

1. Cluster : Cassandra 的節點實例,它可以包含多個 Keyspace
2. Keyspace : 用於存放 ColumnFamily 的容器,相當於關係數據庫中的 Schema 或 database
3. ColumnFamily : 用於存放 Column 的容器,類似關係數據庫中的 table 的概念
4. SuperColumn :它是一個特列殊的 Column, 它的 Value 值可以包函多個 Column5. Columns:Cassandra 的最基本單位。由 name , value , timestamp 組成
下面是關於數據模型實例分析 :

圖 2. 數據模型實例分析

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章