OrioleDB是PG的一個(gè)新存儲(chǔ)引擎,為世界上最受歡迎的數(shù)據(jù)庫平臺(tái)帶來一種現(xiàn)代化數(shù)據(jù)庫容量、功能和性能方法。
它以擴(kuò)展的形式組成,建立在新的表訪問方法框架以及其他表中PG擴(kuò)展接口之上。通過擴(kuò)展和增強(qiáng)當(dāng)前的表訪問方法,OrioleDB為未來更強(qiáng)大的存儲(chǔ)模型打開了大門,這些模型對(duì)云和現(xiàn)代硬件架構(gòu)進(jìn)行了優(yōu)化。目前是標(biāo)準(zhǔn)的PG許可。
1)專為現(xiàn)代硬件而設(shè)計(jì)。OrioleDB的設(shè)計(jì)針對(duì)數(shù)十個(gè)和上百CPU內(nèi)核現(xiàn)代服務(wù)器,避免CPU瓶頸,提供了針對(duì)現(xiàn)代存儲(chǔ)技術(shù),例如SSD和NVM,的使用方法。
2)減少維護(hù)需求。實(shí)現(xiàn)了undo log和page-mergins的概念,消除了對(duì)專用垃圾回收進(jìn)程的需要。此外,還實(shí)現(xiàn)了默認(rèn)的64位事務(wù)標(biāo)識(shí)符,從而消除了眾所周知的回卷問題
3)分布式設(shè)計(jì)。實(shí)現(xiàn)了一個(gè)支持并行回放的行級(jí)WAL日志。此日志架構(gòu)針對(duì)基于RAFT共識(shí)的復(fù)制進(jìn)行優(yōu)化,允許active-active多主。
OrioleDB關(guān)鍵技術(shù)差異:
1)無緩沖區(qū)映射和無鎖page讀取。OrioleDB內(nèi)存中page直接連接到存儲(chǔ)層的頁。消除了對(duì)緩沖區(qū)映射及相關(guān)瓶頸。此外,內(nèi)存中頁面讀取不涉及原子操作。這些設(shè)計(jì)決策共同將PG的垂直擴(kuò)展性提升到了一個(gè)全新的水平。
2)MVCC基于UNDO日志。舊版本的元組不會(huì)導(dǎo)致主存儲(chǔ)系統(tǒng)膨脹,而是將其放逐到undo鏈的undo日志中。頁級(jí)別的undo記錄允許系統(tǒng)很方便地盡快回收已刪除元組占用的空間。大多數(shù)情況下,這些機(jī)制與page-mergins一起消除了膨脹。也不需要對(duì)表進(jìn)行專門的VACUUM,從而消除了系統(tǒng)性能下降和數(shù)據(jù)庫中斷的一個(gè)重要且常見的原因。
3)copy-on-write檢查點(diǎn)和行級(jí)WAL。OrioleDB利用copy-on-write檢查點(diǎn),每時(shí)每刻都提供結(jié)構(gòu)上一致的數(shù)據(jù)快照。這對(duì)現(xiàn)代SSD很友好,并允許行級(jí)WAL日志記錄。反過來,行級(jí)WAL日志記錄很容易并行化(已做),緊湊且適合active-active多主(計(jì)劃)。
狀態(tài)
當(dāng)前僅alpha狀態(tài),僅推薦測(cè)試,不推薦生產(chǎn)環(huán)境使用。
安裝
需要PG14、libzstd和python3.5+及其testgres包。編譯安裝方法:

$ cd orioledb
$ make USE_PGXS=1
$ make USE_PGXS=1 install
$ make USE_PGXS=1 installcheck
啟動(dòng)前,在postgresql.conf中配置庫文件:
shared_preload_libraries = 'orioledb.so'
也可以通過SQL:
CREATE EXTENSION orioledb;
創(chuàng)建表方法:
CREATE TABLE table_name (...) USING orioledb;
-
存儲(chǔ)
+關(guān)注
關(guān)注
13文章
4897瀏覽量
90311 -
服務(wù)器
+關(guān)注
關(guān)注
14文章
10371瀏覽量
91772 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
4085瀏覽量
68569
發(fā)布評(píng)論請(qǐng)先 登錄
瀚高數(shù)據(jù)庫深度參編國(guó)家標(biāo)準(zhǔn)《信息技術(shù) 云原生關(guān)系數(shù)據(jù)庫管理系統(tǒng)技術(shù)要求》正式發(fā)布
使用MoonBit和Raylib構(gòu)建原生移動(dòng)端游戲
云原生全球廣域網(wǎng)架構(gòu)深度科普:從單點(diǎn)集中到全域互聯(lián)
NVIDIA攜手合作伙伴基于AI-RAN平臺(tái)構(gòu)建未來AI原生無線網(wǎng)絡(luò)
基于NVIDIA GPU加速端點(diǎn)使用千問3.5 VLM開發(fā)原生多模態(tài)智能體
NVIDIA BlueField-4數(shù)據(jù)處理器重塑新型AI原生存儲(chǔ)基礎(chǔ)設(shè)施
在“放開”與“限制”的夾縫中:構(gòu)建不依賴“地點(diǎn)”的芯片出廠能力
硬件加密引擎在保障數(shù)據(jù)安全方面有哪些優(yōu)勢(shì)呢?
K8s存儲(chǔ)類設(shè)計(jì)與Ceph集成實(shí)戰(zhàn)
Unity發(fā)布團(tuán)結(jié)引擎全新技術(shù)路線,中國(guó)原生及全球同步
如何構(gòu)建高可用Prometheus監(jiān)控體系
云原生環(huán)境里Nginx的故障排查思路
廣和通出席2025春季火山引擎FORCE原動(dòng)力大會(huì)
英特爾亮相火山引擎春季原動(dòng)力大會(huì),共同發(fā)布第四代通用型計(jì)算實(shí)例家族
開源+安全雙引擎!STM32MPU白皮書解鎖可信系統(tǒng)構(gòu)建新范式
OrioleDB:構(gòu)建現(xiàn)代云原生存儲(chǔ)引擎
評(píng)論