成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從文檔上學習下OCEANBASE4

數據庫 其他數據庫
OB的社區(qū)版和企業(yè)版之間的差異并不太大,最主要是在支持與服務方面。在功能方面,OB社區(qū)版最主要是少了Oracle語法兼容租戶。另外少了ACS和SPM這兩個和SQL執(zhí)行與優(yōu)化有關的能力,以及安全審計和行級標簽與表空間透明加密功能。除了Oracle語法兼容問題外,其他功能并不是剛需。

?離首次測試Oceanbase 4.0社區(qū)版已經過去幾個月了,不過4.0的文檔一直還處于開發(fā)階段,昨天拿到了OB4文檔的預覽版。從個人在去年的體驗上今天看到的OB4.0的文檔來看,OB4和以前的OB3.X做了很多架構上的優(yōu)化,很多地方似乎都有重構的痕跡。雖然對OB的新用戶來說,整體架構的提升必然會提高可用性、可靠性和性能,不過對于OB的老用戶來說,這并不一定是一件好事。希望Oceanbase 4之后其主體能夠穩(wěn)定下來,今后的大版本升級能夠平順一些。今天我們先通過文檔來學習一下OB4.0企業(yè)版吧。

圖片

去年我寫過一篇吐槽國產數據庫文檔的文章,后來很多國產數據庫廠商都和我做了關于文檔方面的溝通,希望我給他們提一些建議。當時我和OB、高斯關于文檔的溝通做得都很細。十分高興的是,我對OB文檔的一些建議得到了很好的響應。在OB4文檔的預覽版中我十分高興地看到了《參考指南》這份文檔,更令我驚喜的是這份文檔十分詳盡,有7000多頁。從內容上來看,這份文檔并不是對v2.2.7文檔中SQL參考和數據庫參考的簡單合并,而是真正的把和OB數據庫相關的信息都相對完整地做了最細致的描述。對于一個數據庫產品而言,豐富的參考文檔可以為使用者提供更好的幫助。

在文檔中還是美中不足,缺少了一份十分重要的文檔,那就是《數據庫升級指南》,讓用戶能夠更順利的從OB 2.x和OB 3.X升級到4.x。數據遷移指南中有十分詳盡的從Oracle、MySQL等數據庫將數據遷移到OB的介紹,但是就是找不到如何從低版本的OB中將數據升級或者遷移到OB4的描述。

下面關于OB4的介紹都不是我直接體驗OB4產品后寫的,而只是從文檔中了解的。要了解OB4企業(yè)版,首先我們需要了解一下OB4的社區(qū)版與企業(yè)版之間的差異。社區(qū)版是我們可以在社區(qū)下載安裝的,而企業(yè)版是需要付費購買許可證的。

類目

功能

企業(yè)版

社區(qū)版

兼容性

Oracle 語法兼容

支持

不支持

高性能

高 級 執(zhí) 行 計 劃 管 理   (SPM,ACS)

支持

不支持

安全

審計

支持

不支持

安全

高級安全擴展能力

支持

不支持,社 區(qū) 版 本 不 支 持 行 級 標 簽 、數 據 和 日 志 加 密 存 儲(TDE)。

運維管理

圖形化開發(fā)及管控工具

支持

支持,社區(qū)版本支持     OCP、 OMS、ODC  等商業(yè)配套 圖 形 化 開 發(fā) 和 管 控 工 具 二 進 制 免 費 下 載 使 用 , 但不包含 OMA。

支持與服務

技 術 咨 詢  (產 品 技 術 咨 詢服務)

支持

社 區(qū) 版 本 僅 提 供 社 區(qū) 化 的 產 品 技 術 咨 詢 服 務 , 采用社區(qū) issues 運作模 式 , 不 提 供 商 業(yè) 化 專 家 團隊技術咨詢

支持與服務

服 務 獲 取  (獲 取 技 術 支 持的渠道)

專業(yè)商業(yè)支持團隊

社 區(qū) 版 本 僅 支 持 在      OceanBase 社區(qū)官方網 站 或 官 方 社 區(qū) 提 供 在 線 服 務 咨 詢 , 不 提 供 商 業(yè) 化專家團隊專屬服務

支持與服務

專 家 服 務  (規(guī) 劃 、  實  施 、巡 檢 、故 障 恢 復 、 生產保障)

商業(yè)專家駐場服務

社 區(qū) 版 本 不 提 供 專 家 保 障服務

支持與服務

故障響應

7*24 服務

社 區(qū) 版 本 不 提 供 故 障 應 急處理服務

 OB的社區(qū)版和企業(yè)版之間的差異并不太大,最主要是在支持與服務方面。在功能方面,OB社區(qū)版最主要是少了Oracle語法兼容租戶。另外少了ACS和SPM這兩個和SQL執(zhí)行與優(yōu)化有關的能力,以及安全審計和行級標簽與表空間透明加密功能。除了Oracle語法兼容問題外,其他功能并不是剛需。

圖片

OB采用SHARE NOTHING架構的對等模式,通過多個ZONE來實現多副本高可用。在服務器上會運行叫做 observer 的單進程程序作為數據庫的運行實例,使用本地的文件存儲數據 Redo 日志。

OB在復制層使用日志流(LS、LogStream) 在多副本之間同步狀態(tài),每個OBSERVER中會有多個日志流,每個Tablet 都通過負載均衡的模式對應一個唯一的日志流,DML 操作寫入 Tablet 的數據所產生的 Redo 日志會持久化在日志流中。日志流的多個副本會分布在不同的可用區(qū)中,多個副本之間通過共識算法選擇其中一個副本作為主副本,其他的副本皆為從副本。日志流以租戶為單位,每個租戶在每臺機器上都會有一個唯一的主副本日志流,同時存在多個其他副本的日志流。這種設計實際上實現了真正的租戶隔離,我們在分析某個數據庫是不是原生態(tài)支持多租戶的時候,日志流的隔離是一個十分重要的判斷因素,只有基于租戶粒度的日志流隔離,才能確保一個租戶與另外一個租戶之間保持真正的隔離。

當創(chuàng)建新的Tablet的時候會基于負載均衡原則選擇一個日志流,而當某個日志流的負載不均衡的時候,OB會自動裂變生成新的日志流并進行自動均衡。OB4.0對副本做了優(yōu)化,以滿足不同的需求。其副本種類如下:

l全能型副本:也就是目前支持的普通副本,擁有事務日志,MemTable 和 SSTable 等全部完整的數據和功能。它可以隨時快速切換為 Leader 對外提供服務。

l日志型副本:只包含日志的副本,沒有 MemTable 和 SSTable。它參與日志投票并對外提供日志服務,可以參與其他副本的恢復,但自己不能變?yōu)橹魈峁祿旆铡H罩拘透北驹跇嫿p活系統(tǒng)中可以作為第三點存在,因為其只存儲日志,可以大大節(jié)約存儲空間。

l只讀型副本:包含完整的日志,MemTable 和 SSTable 等,但是它的日志比較特殊。它不作為 Paxos 成員參與日志的投票,而是作為一個觀察者實時追趕 Paxos 成員的日志,并在本地回放。這種副本可以在業(yè)務對讀取數據的一致性要求不高的時候提供只讀服務。因其不加入 Paxos 成員組,又不會造成投票成員增加導致事務提交延時的增加。

?當一個Tablet被修改的時候,可以通過WAL來確保其一致性,而如果當某個事務修改的數據跨多個日志流的時候,就需要通過兩階段提交算法來確保事務的一致性了。這時候事務層會選擇一個事務修改的日志流產生協(xié)調者狀態(tài)機,協(xié)調者會與事務修改的所有日志流通信,判斷WAL是否持久化,當所有日志流都完成持久化后,事務進入提交狀態(tài),協(xié)調者會再驅動所有日志流寫下這個事務的Commit日志,表示事務最終的提交狀態(tài)。協(xié)調者狀態(tài)機的存在會對分布式事務的延時有所影響,這也是我以前總說的分布式數據庫可以提高并發(fā)事務處理的并發(fā)量,但是不會直接提高單個事務的性能。

圖片

在存儲架構上,OB存儲層以一張表或者一個分區(qū)為粒度存儲數據,每個分區(qū)對應一個用于存儲數據的 Tablet(分片),用戶定義的非分區(qū)表也會對應一個 Tablet。Tablet的內部是分層存儲的結構。DML操作首先寫入 MemTable,等到 MemTable 達到一定大小時轉儲到磁盤成為 L0 SSTable。L0 SSTable 個數達到閾值后會將多個L0 SSTable合并成一個 L1 SSTable。在每天配置的業(yè)務低峰期,Major Merge會將所有的MemTable、L0 SSTable和L1 SSTable 合并成一個 Major SSTable。Major Merge是一個高開銷的工作,因此在這個窗口內不要安排大型的維護作業(yè)。

每個 SSTable 內部是以2MB定長宏塊為基本單位,每個宏塊內部由多個不定長微塊組成。

MajorSSTable 的微塊會在合并過程中用編碼方式進行格式轉換,微塊內的數據會按照列維度分別進行列內的編碼,每一列壓縮結束后,還會對多列進行列間等值/子串等規(guī)則編碼。在編碼壓縮之后,還可以根據用戶指定的通用壓縮算法進行無損壓縮,進一步提升數據壓縮率。從上述的存儲結構看,OB采用的是一種混合列壓縮結構的存儲機制。

圖片

為了數據掃描的提高性能,OB設置了多個緩沖區(qū), OceanBase是LSM-TREE存儲架構的,因此其數據庫緩沖區(qū)與Oracle、Mysql、Postgresql等是完全不同的,在DB CACHE中不會產生數據修改,不會存在臟塊,因此OB的緩沖區(qū)是一個只讀的“純緩沖”。OB4的緩沖區(qū)設計與2.2版本基本相似,除了一些字典緩沖有些變化外,主要的緩沖區(qū)都基本上沿用了以前版本的設計。

對于LSM-TREE存儲架構的數據庫,有可能同一行的數據存儲在多個SSTAB或者MEMTAB中,為了提高訪問效率,OB設置了融合結果緩沖區(qū)FUSE ROW CACHE,查詢可以直接在FUSE ROW CACHE中命中。

雖然SST是排序表,可以通過二分法定位到某一行,不過對于訪問比較頻繁的數據行,還是有個緩沖比較好,于是row cache就承擔了這個工作。

Block Index Cache存儲的是宏塊中的微塊的地址,通過這個cache提高在2MB的宏塊中查找數據的效率。

Block Cache是類似于Oracle DB CACHE的緩沖,存儲的是OB的微塊。因為OB的微塊是可變長的,因此OB的Block Cache在訪問算法與特性上與Oracle DB CACHE有較大的不同。

   OB的BloomFilter CACHE 是一個針對宏塊的過濾器,當一個宏塊上的空查次數超過某個閾值時,就會自動構建 BloomFilter,并放入BloomFilter  Cache。

OB的CACHE都是可變長的,為了便于管理,OB設計了ObKVCacheMap結構,以2MB為單位進行內存分配與釋放管理。

LSM-TREE存儲架構的數據庫在CACHE上比BTREE架構的要復雜的多,從CACHE的設計可以看出OB在這方面已經有了比較成熟的解決方案,并且這些緩沖區(qū)的設計都是面向不同的業(yè)務場景的。

圖片

最后我們來看看OB的高可用,實際上OB高可用涉及的技術細節(jié)十分復雜,今天我們僅僅從集群架構來看看應用如何實現高可用。OB的高可用架構在OB4里變化不大,除了數據庫本身通過Multi-Paxos共識協(xié)議實現副本之間的選舉與同步外,OBProxy依然是OB高可用的不可或缺的組件。應用通過本身帶有高可用與負載均衡能力的OBProxy訪問單個或者多個OB集群,從而實現應用級的高可用。當客戶端通過OBProxy代理連接OBServer的時候,OBProxy需要幫助客戶端維持集群中的可用性狀態(tài),OBProxy通過多種方式實現探活,并隨時更新黑名單,確保應用的正確訪問。

今天簡單的分析一下OB,下周OB4.1的商用版就要發(fā)布了,我們也準備等下周OB 4.1發(fā)布之后對OB4商用版進行試用,屆時我再把測試的情況寫出來和大家分享吧。?

責任編輯:武曉燕 來源: 白鱔的洞穴
相關推薦

2020-09-17 11:08:53

GitHubPython倉庫

2011-08-17 15:23:37

iPhone開發(fā)Objective-CCocoa Touch

2011-08-18 10:17:21

Xcode4Xcode

2011-10-18 11:43:25

UNIXC語言丹尼斯·里奇

2022-07-27 08:15:31

C 語言Linux

2014-06-05 14:46:05

設計設計師

2019-10-22 20:12:22

戴爾

2011-10-27 17:01:44

應用開發(fā)移動開發(fā)

2011-10-17 10:24:33

C語言

2013-07-29 11:06:22

微信微信公眾平臺案例

2020-11-30 13:57:48

Hi3861

2009-06-16 15:52:18

Hibernate文檔

2025-02-10 08:05:03

2023-07-15 08:01:38

2009-11-13 16:53:12

Oracle文檔

2017-04-25 16:45:11

2020-02-19 11:07:40

運維架構技術

2009-10-26 10:31:20

linux庫

2011-09-01 10:27:42

jQuery Mobi
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 丁香一区二区 | 国产日韩欧美在线观看 | 国产精品久久久久久久久久了 | 亚洲 中文 欧美 日韩 在线观看 | 精品中文字幕一区二区 | 国产精品v | 国产精品日韩在线观看一区二区 | 午夜影院在线观看免费 | 日韩午夜网站 | 99精品国产一区二区三区 | 欧美日韩亚 | 手机av免费在线 | 日韩电影中文字幕 | 久久电影一区 | 久久久久久综合 | 免费a v网站 | 欧美一级黄色免费看 | 天天影视网天天综合色在线播放 | 91成人| 日本三级在线网站 | 一区二区不卡 | 亚洲精品视频一区 | 自拍偷拍中文字幕 | 国产精品美女久久久久aⅴ国产馆 | 国产伦精品一区二区三区精品视频 | 天天操天天天 | 日韩h | 亚洲高清在线视频 | 久久a久久 | 91亚洲国产成人精品一区二三 | 99在线国产| 久久久人成影片免费观看 | 国产九九九九 | 欧美日韩综合 | 亚洲视频一区在线播放 | 久久久久亚洲精品 | av影音资源 | 在线看亚洲 | 日韩在线三级 | 久久免费高清 | 精品国产18久久久久久二百 |