Aerospike-Architecture系列之大資料類型,aerospike資料庫

來源:互聯網
上載者:User

Aerospike-Architecture系列之大資料類型,aerospike資料庫
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控制結構中包含所有關於大型有序列表的中繼資料資訊。例如,包括以下資訊:

  • key的類型
  • 儲存配置及限制
  • 根,節點和葉的數量。
  • 儲存狀態及閥值
  • 根值和節點指標數組(B+樹根節點)
Useful Links
  • LDT Feature Guide

原文連結: <http://www.aerospike.com/docs/architecture/ldt.html>

譯      者:北京IT爺們兒

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.