程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> Aerospike-Architecture系列之大數據類型

Aerospike-Architecture系列之大數據類型

編輯:DB2教程

Aerospike-Architecture系列之大數據類型


Large Data Types(大數據類型)

大數據類型的bin可以存儲大量的對象集合。對象的類型可以是Integer/String/Map/List。Aerospike的單個記錄可以包含許多這樣的bin,這樣的bin允許在單獨的記錄中包含大量的數據,其限制基於存儲能力,記錄沒有最大值限制。

Aerospike LDT使用的存儲類型,我們叫做子記錄( sub-records)。子記錄與Aerospike常規記錄很相似,不同之處在於他們與父記錄連接。記錄與父記錄共享分區ID和內部記錄鎖,所以在遷移時與父記錄一起移動,與父記錄一起通過一樣的隔離機制保護。

LDT中的對象並不與其關聯的記錄連續存儲,而是分成子記錄(sub-records)(尺寸大約2kb到200kb,由寫入塊的大小來決定)。子記錄被一起連接和索引,通過用戶定義函數(UDFs)進行數據庫內部管理。使用子記錄意味著訪問LDT中的某一對象只影響幾個子記錄而不是整個記錄。

Large Ordered List(大型有序列表)

大型有序列表類型(llist) 管理大規模排序的列表。有序列表中的對象可以是原始類型(例如,integer, string, blob)或者是復雜數據類型(比如,map, list)
\

圖 5a 大型有序列表操作

物理上,大型由序列表由B+樹實現。樹的節點和葉就是子記錄(sub-records)。B+樹的根駐留在父記錄。
\

圖 5b 大型有序列表物理層

B+樹結構沒有深度限制,因此大型有序列表中存儲的對象數目也沒有限制。

LLIST控制結構中包含所有關於大型有序列表的元數據信息。例如,包括以下信息:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved