寫在前面
個人比較喜歡在大家都休息的時候,研究一些自己感興趣的東西,比如這篇文章,只是做到了對polardb的乙個認識,先寫在這裡,等以後用到了再來細究。
在當下,關係型資料庫仍然佔據主導地位,最主要的原因之一就是關係型資料庫採用了sql標準,這種高階的非過程化程式設計介面語言,將電腦科學和易於人類理解認知的資料管理方式完美的銜接在了一起,目前還難以超越
polardb是什麼及其由來
polardb是阿里雲自主研發的新一代雲託管關係型資料庫。
雲計算時代:在it時代,傳統的計算力(例如用關係型資料庫來處理結構化資料等)是服務於系統硬體隔離環境下的多使用者使用場景的。而雲計算時代是多客戶self-service租用環境,各種計算負載場景更加複雜,在這種計算負載變遷的環境下,如何解決it時代的技術產物和雲計算時代應用場景的適配矛盾,是雲計算自我進化的內在推動力。但是當前雲計算時代還遠遠沒有到達鼎盛時期,除非它通過自身進化演變,在不斷保持價效比優勢的同時,在具有快速靈活彈性的內在屬性基礎上,擁有超過傳統 it計算力的能力之後,雲計算才會真正進入它所主宰的時代,這只是個時間問題。
所以所有的雲計算廠商都不可避免要經歷這樣乙個階段。只不過阿里雲相對別的廠商走在了前面。
polardb關鍵技術點
先來看看polardb的產品架構:
我們可以看到,polardb 產品是乙個分布式集群架構的設計,計算節點和儲存節點之間採用高速網路互聯,並通過 rdma 協議進行資料傳輸,使得i/o 效能不再成為瓶頸。db 的資料檔案、redolog等通過 user-space 使用者態檔案系統,經過塊裝置資料管理路由,依靠高速網路和rdma 協議傳輸到遠端的 chunk server,同時 db server 之間僅需同步 redo log 相關的元資料資訊。chunk server的資料採用多副本確保資料的可靠性,並通過 parallel-raft 協議保證資料的一致性。
shared disk架構
分布式系統的精髓就在於分分合合,有時候為了併發效能進行資料切分,而有時候為了資料狀態的一致性而不得不合,或者由於分布式鎖而不得不同步等待。
polardb 採用 shared disk 架構,邏輯上 db 資料都放在所有 db server 都能夠共享訪問的資料 chunk 儲存伺服器上。而在儲存服務內部,實際上資料被切塊成 chunk 來達到通過多個伺服器併發訪問 i/o 的目的。
物理 replication
由於單個資料庫例項的計算和網路頻寬有限,一種典型的做法是通過搭建多個唯讀例項分擔讀負載來實現 scale out。polardb 通過將資料庫檔案以及redolog 等存放在共享儲存裝置上,解決了唯讀節點和主節點的資料replication 問題。
由於資料共享,唯讀節點的增加無需再進行資料的完全複製,共用乙份全量資料和 redo log,使得系統在主節點發生故障進行 failover 時候,切換到唯讀節點的故障恢復時間能縮短到 30 秒以內。
總結
關係型資料庫 非關係型資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
關係型資料庫 非關係型資料庫
2019 02 25 20 38 36 關係型資料庫和非關係型資料的比較 一 關係型資料庫 關係型資料庫最典型的資料結構是表,由二維表及其之間的聯絡所組成的乙個資料組織 優點 1 易於維護 都是使用表結構,格式一致 2 使用方便 sql語言通用,可用於複雜查詢 3 複雜操作 支援sql,可用於乙個表...
關係型資料庫與非關係型資料庫
關係型資料庫與非關係型資料庫的區別 非關係型資料庫的優勢 1.效能 nosql是基於鍵值對的,可以想象成表中的主鍵和值的對應關係,而且不需要經過sql層的解析,所以效能非常高。2.可擴充套件性 同樣也是因為基於鍵值對,資料之間沒有耦合性,所以非常容易水平擴充套件。關係型資料庫的優勢 1.複雜查詢 可...