國內做分散式資料庫開發的現狀如何,有怎樣的發展前景?
主要是指在雲存儲方面做分散式MySQL開發的現狀,阿里應該有在做。哪位大牛能解讀一下現狀,展望一下情景,謝謝!!
OceanBase是阿里巴巴/螞蟻金服完全自研(從零開始編碼)的分散式資料庫,是一個通用的關係資料庫,兼容MySQL,目前主要針對OLTP,今年雙11,支付寶核心交易、支付、會員、賬務等核心數據鏈全都運行在OceanBase上。OceanBase不是專門針對阿里巴巴/螞蟻金服的,目前在阿里雲官網上有一些外部用戶。
謝邀!分散式資料庫需要在高可用(比如paxos,raft),高性能存儲(比如LSM Tree,mvcc),分散式一致性(比如2pc,HLC,truetime),集群管理,多租戶,分散式sql plan等方向都做出技術突破,目前來看oceanbase是分散式資料庫方向的領先者,是金融級的分散式RDBMS,他們在工業上實現的一些技術,從各廠近期的技術分享來看,在工業界至少要領先2年的,甚至有一些方向,在學界也是領先的,最近讀了張曉東教授小組的一篇paper,提到的技術,ob在3年前就實現了類似的方案。
我廠也在做分散式資料庫的研發,也召集了業內很有經驗的人,還在造輪子的早期階段。歡迎有熱情的同學加入。阿里雲上業務RDS作為通用的資料庫基礎設施支撐了大規模的雲資料庫需求,在產品形態上支持單節點(成本)、雙節點(平衡)、三節點(可靠性)、分散式資料庫(對標AWS Aurora)、HTAP(對標AWS Redshift), 系統做到無縫遷移和統一體驗, 當然安全合規、自動運維體系、數據延伸的計算搜索分析需求一攬子解決掉。
ApsaraDB產品總覽:https://promotion.aliyun.com/ntms/product/apsaradb.html?spm=5176.8006303.416540.25.KcLaUg ,歡迎造訪!
阿里雲ApsaraDB相應的團隊配套就涉及到OS內核、存儲、引擎(TP、AP)、資料庫內核、管控、監控、數據流動、計算、搜索、服務等,是個複雜和精美的協作團隊, 已經有10幾個資料庫相關產品,在市場地位和收入上都有不錯的表現,團隊有業內非常有經驗的人,歡迎大家加入,團隊主力主要在北京和杭州!
註:今天,2016年12月12日, Group Replication GA啦!GA的版本是MySQL-5.7.17. 參看:High Aavialability with Group Replication從此MySQL的高可用進入一個新的高度,MySQL三節點變成民用科技!PingCAP - pingcap/tidb
基礎軟體創業其實我覺得是個好生意,尤其是資料庫,但是前提是確實在技術上有所創新,這麼一來技術壁壘就巨高,這就是護城河。如果只是去模仿 Oracle,是沒有太大前途的(當然靠關係那種就另說了,反正我本人不認為這樣是正確的價值觀),想想人家 O 記在這個領域做了 30 年,你走人家的老路憑什麼幹得動人家?目前來說我覺得之所以國內還沒有太大成功的公司湧現說到底還是因為技術不行或者路子不對或者客戶的歷史包袱太重,拿個 Hadoop 改改就是大數據了嗎?真正的 OLTP 業務敢碰嗎?所以就造成了做項目掙快錢攢方案搞數據分析的公司扎堆,真正在 OLTP 端的創新沒人敢碰。另外一個重要的問題就是,國內幾乎沒人懂開源。最近幾年重要的基礎軟體創新都在開源社區,比如 Docker / Kubenetes (Mesos) / Spark ... 憑一個公司的力量是很難跟上社區的發展速度的。國內的大多數開源項目不管是代碼質量,用心程度,設計的視野上都太弱了,連最基本的英文交流都很少有開源項目注意,更不用說生態了。不過,還是有希望的,至少學術界最近幾年的進展,讓我們看到了在分散式 OLTP 系統 (NewSQL) 上的一些希望,而且這塊在全球範圍內都是一個藍海。基於這個背景,我們創立了 PingCAP,從零開始拋開一切歷史包袱去實現一個全新的資料庫 TiDB,TiDB 的目標就是瞄準世界頂級的通用分散式資料庫開源項目和未來的行業標準去的。雖然這個東西確實很難, 但我也不覺得我們會比矽谷的頂級基礎軟體公司差:),不客氣的講,我們在這個領域也遠遠走到了各個友商的前面,另外一方面如果不難也沒有做它的價值,如果未來的資料庫還是需要像現在分庫分表中間件 Oracle,我覺得就太無趣了。就說一個 Cloud-Native,目前來說基本沒有 OLTP 的資料庫能搞定。我的郵箱是 huang at pingcap.com,如果有想一起打造面向未來的資料庫,可以聊聊。謝邀!資料庫是一個相對底層的系統軟體,一般來說只有大公司才有空間、成本和人才來做,小公司一般都是採用開源的資料庫,如HBase,SpringDB和MongoDB等。國內自己做資料庫的公司主要是阿里,包括OceanBase和MySQL兩個團隊,另外一些公司也在做比如百度、騰訊、搜狐和豆瓣,也有自己的資料庫團隊,但總體來說可能不如阿里團隊大。總的說來,資料庫是大公司的遊戲,小公司還是要更專註自己的業務。
來說說我所知目前這個方向的一些發展,再來替我團隊打個硬廣。
首先,鑒於提問是關於分散式MYSQL,所以貼上我之前的一個答案,是我總結的現在mysql的分散式數據訪問層主流方案有哪些? - 知乎用戶的回答 - 知乎
對這個問題,我先上結論:目前所有的方案中,執行的最徹底,最深入,經驗最豐富的就是阿里巴巴。
首先是因為業務場景,阿里淘寶和支付寶的應用場景,就直接決定了他是國內最重視OLTP的公司,就是因為大量交易類,電商類,秒殺類,支付類場景都是需要事務一致性,而且對於事務一致性的錯誤絕對是零容忍,反觀BAT其他兩家,至少出錯了,比如微信多發了一條消息,或者是百度搜索少存了一個已經爬蟲爬好的html網址,影響絕對沒有一筆交易被執行了兩次或是一個發貨訂單沒有執行來得嚴重。同時阿里的產品不僅僅只在公司內部接受考驗,在阿里雲中,每隔一段時間,就會推出一個集合了多年使用經驗,有非常多開源改進的產品來,具體可以看這個頁面:雲資料庫ApsaraDB_產品總覽
而ApsaraDB這個平台的願景,就是為用戶提供一種無縫的,實時購買,一鍵生效,從OLTP到OLAP到流式計算,甚至是中間件,系統,部署自動運維的一站式體驗。在阿里雲不僅僅可以做到單面突破,還可以結合上游比如中間件,下游存儲以及物理硬體,開源產品比如swarm,docker一起,此外還能有豐富的內部,外部使用場景,現在做分散式資料庫的都懂,沒有業務量和場景的分散式資料庫,那就是水中望月,不能真正贏得客戶的信任,沒有上下游的完美配合,產品容易出現最短板,雲計算或是分散式的產品,從來都不是單打獨鬥,如果有人感興趣阿里雲的產品和服務,可以私信我。建議:如果你喜歡做資料庫開發並且打算留在北上廣深+杭州,可以投入這個行業,其他城市機會和發展空間有限
你們別打廣告了!想玩自研分散式資料庫的,歡迎查看jd Sina Visitor System (阿里雲ApsaraDB組)
不考慮雲,雲上買的好的,或者值得購買的主要也就是MySQL+各種緩存K/V,有不依賴於行政體系支持,在商業上獲得還不錯的基礎資料庫軟體供應商嗎?
大家不願意將錢以購買軟體/軟體服務的形式給到Oracle,就願意將錢給到別的資料庫廠商嗎?
我就單說MySQL好咯~這個坑慢慢填
==目前國內針對分散式資料庫的開發,(⊙o⊙)…就我了解的而言,主要是集中在各種框架上面。比如Guzz。以Java為例的話,MySQL不能支持JTA,好像是因為XA有問題。MySQL Bugs: #73033: Not possible commit XA transaction from different connection看來知道微軟cosmos DB的人比較少啊
先參考另一篇關於國產資料庫發展情況的回答。應該說,現在是國產分散式資料庫發展的利好時期。在討論發展前景前,首先要先看看分散式資料庫的發展方向。
大家把傳統關係型資料庫稱作oldSQL,給人感覺要被淘汰似的。但其實數據量不是很大或者事務處理的場景夏,關係型資料庫的還是佔優的。
關係型資料庫的主要問題在於:
- 性能瓶頸,
- 單一模型(關係模型),只適合OLTP
- 應對業務的靈活性不夠,
- 彈性擴充能力不夠,
- 兩地三中心和雙活等問題上不足。
隨著互聯網和手機的飛速發展,無論從用戶規模、使用頻率、還是場景多樣性都使得這些問題浮出水面。其實Oracle在92年就開始嘗試轉向分散式,還當時引起了業界的巨大爭論,最後失敗。更何況過去CPU、內存、存儲、帶寬的高成本導致分散式資料庫的性價比並不高,只能停留在學術階段,限制了分散式的發展。
新分散式資料庫首先是要避免和傳統關係型資料庫的競爭,這是明智的選擇,能夠輕裝上陣。因此從幾個方面入手,應對海量數據處理、分析、緩存、流式處理、開發模式等等。相對應列式,KV,Document等多種存儲數據結構。
所有這些都被稱為NoSQL資料庫,放棄ACID和事務能力還換取性能。然而,NoSQL又收到了大量的批評反對意見,主要是說把資料庫應該處理的問題交還給了開發是種發展的倒退。這些問題包括,索引、版本、SQL支持、事務支持等等。市場上超過90%的開發員都需要SQL,而且SQL也是非常有效和成熟。於是大家無論底層是什麼存儲結構又開始支持SQL,形成了NewSQL。
這裡插一句題外話,在矽谷已經不再用SQL、NoSQL、NewSQL來劃分資料庫了。理由很簡單,SQL是一種語言,從來沒有SQL資料庫的說法,自然也不應該有NoSQL資料庫的說法。NewSQL資料庫就更不合理,用的SQL並非什麼「New「的新東西。所以專業上用關係型和非關係型資料庫來劃分,分散式資料庫主要都是非關係型資料庫。
回過頭來看國內分散式資料庫市場需求,中小企業不滿足Mysql的性能,分庫分表又很難搞,也不徹底;大型企業被Oracle等壟斷支付高額成本,而且又不解決實際碰到的瓶頸問題。因此,用戶都在尋找新的解決方案。小型用戶、雲計算的用戶、大型企業都需要對應的分散式資料庫產品。
再加上國產自主和去IOE浪潮,更加推動了國產分散式資料庫的發展利好。值得注意的是,資料庫研發是個嚴肅的事情,沒法短平快。
這裡也打個小廣告,巨杉資料庫近期會和Gartner聯合發布《分散式資料庫的核心特性和發展方向》,敬請期待。
-----------------------------2017-11-20更新------------------------------------
巨杉資料庫和Gartner聯合發布《金融級資料庫的未來發展方向》已經發布了,歡迎大家關注並下載。
首選南大通用
推薦看一下這個視頻:
【阿里雲大學課程】MySQL大牛丁奇:分散式資料庫技術與實現 - 知乎專欄oracle已經有點想封閉mysql了。。個人覺得mysql在往下,pg在往上
既不能說傳統資料庫(如:oracle、MySQL)走向沒落,也不能說分散式存儲(如HBASE)未來趨勢,一統天下,他們之間各有優勢。如應用層講究現寫現用,肯定傳統關係型資料庫適用,如果要是想視頻,或者其他類既大又雜的數據,肯定適用分散式資料庫更強,方向不同,應用類型不同,暫時看不出誰能取代誰!
存儲是個技術鑽研的方向是不錯,不錯拿來創業的確不是一門好生意。我國是不可能出現像cloudera 這一類的公司的。在國內做基礎軟體基本上是沒有商業前途。阿里方面,是做了一些基礎技術開發,不過都是基於自己的業務特點而做的。就拿他們得dubbo框架來說,最晚的一次commit實在兩年前,據說團隊解散了。想表達什麼意思呢!完全從社區孵化出來的和從大公司內部孵化出來的在國內看來還是有很大區別的。 國內的做的比較好的供存儲服務的公司也不多,七牛,金山雲。 所以,對於個人而言就看你怎麼權衡了。
推薦閱讀:
※mysql是如何工作的?
※使用外鍵約束還是還是自己來寫代碼做約束?
※php+mysql開發的網站 如何使用hadoop+hbase+hive,能代替mysql么?
※mysql 每次查詢一條數據查10次 和一次查詢10條數據效率有多少差距?
※如何用C++介面備份MySQL的二進位數據?