原文地址:http://www.fromgeek.com/ai/15...html
最近吳寧川一篇《厲害了,螞蟻金服!創造了中國本身的數據庫OceanBase》報道了OceanBase誕生的來龍去脈。內容很是詳實,值得分享。同時本身也分享幾點雜想:數據庫
第一,殺熟不只僅是大數據時代的產物服務器
以前從某網平臺爆出的訂購酒店或者是約車出行的殺熟案例。說明大數據時代咱們每一個人都處於一個小白,隨時宰割的狀態。分佈式
其實這種現象在各個領域都存在。好比,技術壁壘也是殺熟的條件之一。就像文章中談到的,王堅在2008年阿里的時候,提出的去IOE行爲。就是由於技術壁壘產生的殺熟狀況。正常來看,IT採購是一個促進企業效率的工具。可是採購包括向小型機、高端存儲、數據庫,其採購的越多,成本是呈現幾何式增加。其IT採購不在是促進因素,甚至嚴重的阻礙了企業的發展。工具
就像IOE這樣的設備在阿里雲業務大規模發展過程當中,帶來的成本愈來愈高。對於阿里來講,失去了其技術促進生產的原動力。在這樣的狀況下,螞蟻金服自主研發的OceanBase數據庫。區塊鏈
第二,真正的分佈式數據庫誕生,打破了傳統的「數據湖」概念。大數據
何爲傳統的「數據湖」概念,就是把多個物理上的磁盤當作是虛擬的一個存儲單元,OceanBase 團隊SQL開發方向負責人陳萌萌的說法是把全部的數據庫看到的是同一個數據磁盤、共享數據訪問,能夠確保全部的數據均可被訪問到,可是對硬件要求提出很高的要求,就是底層硬件自己要穩定可靠。能夠看到這種理念被絕大多數的傳統企業甚至包括互聯網企業所接受。優化
而阿里打破了這個理念,全球僅有兩家企業打破了這個理念,一個是阿里,一個是Google。
陳萌萌認爲目前真正的分佈式數據庫全球僅有兩家,阿里的OceanBase,以及谷歌於2017年2月發佈的所有自研的Spanner分佈式數據庫雲服務。阿里雲
即便是AWS推出的Aurora數據庫,其設計原理更接近於傳統數據庫的共享磁盤設計。
具體來說OceanBase在處理數據訪問的時候,至關於把一臺原來的小型機或存儲設備從縱向「切片」成不少機器,再把數據分佈到這些分散在不一樣的機器上,我的理解應該是把一個總體「數據湖」分紅了多個小的「數據池」。.net
OceanBase的一個基礎設計思想是把每一份數據存放在三臺不一樣的機器上,那麼一臺PC服務器出故障的機率爲千分之一的話,兩臺同時壞的機率可能就是百萬分之一,三臺同時壞的機率則是十億分之一。
第三,OceanBase分佈式數據庫是否能夠與區塊鏈技術結合?
首先咱們看到王堅提出阿里要建設分佈式數據庫與中本聰提出的比特幣白皮書是同一個時期。這裏咱們看到,從2009年開始,王堅就在考慮一個真正適應將來互聯網業務的分佈式數據庫。你們能夠換個角度看,也是在同一時期,中本聰提出了一種點對點的電子貨幣系統,其背後採用的區塊鏈(被人們戲稱也叫作「有史以來最慢的分佈式數據庫」)技術。
不一樣的是,Oceanbase做爲一個商業項目,通過這幾年的不斷髮展,單純看這個數據庫,既實現了分佈式的數據存儲,又作到了數據庫查詢優化。在真是應用場景上,相對於傳統的銀行櫃檯,人工窗口提供服務花費大量的時間得到服務,螞蟻金服基於oceanbase提供的互聯網金融應用,爲用戶提供了優質的互聯網服務體驗。
全部區塊鏈這種緩慢的分佈式數據庫技術,能夠參考阿里的Oceanbase或者Google的Spanner數據庫技術。這樣,對於區塊鏈技術的推動有着積極的做用。