資料庫開源才是王道

2021-07-09 11:24:12 字數 2621 閱讀 6435

毫無疑問,資料庫的專業化趨勢變得愈加明顯。這不但體現在專業的資料庫型別適應專業的工作負載,還體現在專業的dba提供專業的資料庫服務上。

資料庫的多樣化

似乎在不久之前,業界還在爭論到底是通用的資料庫方向還是專業化的資料庫方向代表未來。前者的典型案例就是oracle,從一開始oracle的路線就是allinone,即使收購了timesten,仍然堅持將其中的技術合併到oracle中提供乙個記憶體儲存的選項。於是乎在oracle最新版本中,記憶體選項成為了亮點。但是我們看到的明顯的現象是什麼呢?

csdn的最新調查顯示,已經有很大一部分比例的使用者在其應用中混合採用了多種資料庫解決方案。比如mongodb和redis獲得了相當比例的使用者。其實我覺得這個調查甚至沒有反映更明顯的趨勢,因為它是按照使用者數,而不是資料規模來的。相當比例的使用者在分析型資料庫領域採用了greenplum、verica和gbase8a等專業的mpp資料庫,而因為使用者群在調研範圍外,所以未體現在調查報告之中。

除了關聯式資料庫的兩種主要形式:olap、oltp,非關係型資料庫的四種主要形式:文件、健值對、圖和列式,以及科學資料庫中的矩陣式和生物資料庫之外,2023年在資料庫的型別上專業化的趨勢得到了大力的延展。比如時間序列資料庫異軍突起。opentsdb、blueflood、kairosdb、influxdb均得到了長足的發展並嵌入到多個開源專案,其他一些資料庫也開始考慮增強對時序資料的儲存和訪問能力,比如rapiddb。又比如支援全球分布式事務的資料庫的發展。這得益於google的**提出了spanner,一系列類似的資料庫陸續被提出來。最近最火的當屬tidb,因為其創始人夠牛、開源模式夠帥。

專業化分工是推動人類社會發展的動力,但前提是這種專業化分工是可以達到規模效應的,這就引出了第二個看點。

資料庫的雲化

反思一下為什麼資料庫會出現專業化的潮流,或者說為什麼在現在出現而不是十多年前。當年通用資料庫是乙個多麼響亮的招牌,數個863專案都與此相關。我認為主要的原因是隨著軟硬體和商業模式的發展,每乙個專業化的資料庫方向都有了足夠規模,無論是「錢」上的規模還是「量」上的規模。

在csdn2015軟體開發者***中,有乙個調查非常有趣:「2023年資料庫開發人員比去年大幅下降15%」。毫無疑問,資料庫的使用量一定是增加了。那麼問題來了,這些人去哪兒了呢?如果有乙份資料可以補充在這裡,也許我們會發現,aws和阿里的雲資料庫的用量增加,與這些減少,不過現在資料庫本身在實現dbaas方面還有很多的不足,原生考慮了dbaas的資料庫系統目前只有google系和阿里的oceanbase,其他無非是通過虛擬機器或者容器的方式,實現乙個資料庫例項的快速安裝和配置。真正要享受dbaas帶來的專業化分工的好處,必須是在資料庫之上實現「虛擬化」,在資料庫內部實現良好的多租戶隔離、負載管理和計費等。在這方面現在大部分資料庫都需要進行重新設計。

如果資料庫的趨勢是以雲服務的方式提供,那麼應用開發者如果保證不被lockin,儲存在雲端資料庫的資料是否還是自己的呢?這個問題,就要靠下乙個趨勢來解決。

資料庫的開源化

回過頭來看圖1,其中開源資料庫軟體的已經超過閉源資料庫軟體了。開源作為軟體業的乙個趨勢,更加證明了賣軟體許可的商業模式是難以持續的,只有開源軟體+專業化服務的模式才是王道。

而這種專業化服務,如果以本地安裝服務的方式成本太高,難以為繼,最理想的方式就是雲服務模式。無論是針對中小企業的公有雲服務還是面向大型、超大型企業的私有雲服務。

資料庫軟體本身的開源提供了信任,無論是國家之間的信任還是企業之間的信任。2023年,一款經典的、重型的mpp資料庫——greenplum已經開始了自己的開源之旅,從年初宣布此事,到第四季度正式將**放到github上為止,業界一直保持了持續的關注。相關的meetup和社群快速的成長起來,據我所了解,某大廠正在基於此緊密開發自己的mppdbaas服務的人正相關。

雲服務給應用開發者帶來了極大的便利,優化、備份等事情不再需要專業的dba來實現,即買即用非常方便。對於雲服務商來說,原來分散的那麼多「業餘」dba可以集合成一位專業的大牛dba,專業化分工帶來了效率的提公升。這就是雲服務的商業模式給提供者和使用者帶來的價值。由此應用開發者得以使用一大堆專業的資料庫來解決問題,而不再受限於技能只能選擇自己熟悉的mysql等。資料庫的雲化和專業化兩個程序是同步的。

dbaas,這個詞彙在2023年進入了更多人的眼中。不僅是公有雲的大廠們紛紛推出更多的資料庫雲服務。就連一些網際網路大廠內部,也在普及自己的資料庫雲服務。比如小公尺近期的分享中提及已經實現了mysql和redis的資料庫雲化服務,通過restful的api為內部開發者快速提供資料庫的例項。一些專業提供paas的公司,例如mopaas、pivotal等,也將資料庫服務作為首要為使用者提供的服務之一。

2016的期待

2023年資料庫業界尚未受到新硬體的衝擊,無論是超融合架構、3dflash還是可持久化的記憶體,似乎離資料庫軟體都還有一截距離。但我們需要牢記摩爾定律的魅力(或者威力),牢記我們現在的資料庫軟體大多是為了30年前的硬體架構所設計的,他們中的大部分**比用他們的人的年紀還要長。硬體架構的革命性變化已經在眼前,隨著資料庫的專業化分工,原本耦合在一起的cpu、記憶體和外存已經不再適應多變的環境;機械式硬碟已經被電子盤所超越。一場血腥的創新資料庫服務提供商對傳統資料庫提供商的正在上演,未來就在眼前,讓我們拭目以待2016。

開源資料庫有感

這個星球上的資料庫實在不勝列舉,這裡只列一些我接觸過的常見的。可以稍微誇張點說,有互動的應用,起碼得用一下資料儲存,即便是自定義結構的資料儲存,還是最常見的ini xml等,都可以算是 資料庫 真正點的,如dbase系列 foxbase foxpro msaccess interbase ms sq...

資料庫開源ormlite

用途 運算元據庫 使用步驟 建立資料庫表結構的實體類.示例 databasetable tablename user public class user public user string name,int age,string tel 建立ormlitesqliteopenhelper的實現類....

C 開源資料庫介紹

1 前言 今天給大家介紹乙個記憶體資料庫,純c 寫的。sharphsql。這個資料庫我的意見是 對於大量高併發的情況最好還是不要用這個資料庫。可能有些朋友會問 那你還給大家介紹?呵呵,別慌,我們雖然不能在開發環境運用這個框架,但是我們可以看看他是怎麼一步一步實現了資料庫的。有些地方和oracle的邏...