資料庫產業為什麼需要規模效應
前幾天寫了幾篇吐槽國產資料庫的文章,有些朋友和我做了十分深入的探討,讓我也受益匪淺,因此這些天也認真思考了一些問題。對於國產資料庫,我覺得最大的問題是碎片化和規模不足。我們的資料庫人才並不缺乏,不過因為力量分散,大多處於各自為戰的局面。大型資料庫企業幾乎沒有,僅有一些中小型企業。
這些天和我討論的不乏資料庫產業的從業人員和核心研發人員,他們對我的“規模”的看法持有不同的意見,認為資料庫核心研發是精英的遊戲,人多了,變成一個大專案了,反而不好管理,幾十人的研發隊伍足以支撐一個資料庫的核心程式碼研發了。
我當時就問他們,測試怎麼辦?文件工作誰來做?售後服務怎麼辦?你們的核心研發人員願意當測試人員去全面測試資料庫系統嗎?幾十個人能夠完整地測試一個如此龐大的資料庫系統嗎?如果不能,那麼誰來承擔測試的工作呢?只能交給使用者了,使用者願意幹這種事情嗎?如果讓他們明白了這個道理,他們還敢買你們的產品嗎?資料庫不是一個MIS系統,大不了上線了讓使用者來發現問題,資料庫系統是一個關鍵IT基礎設施,必須是十分穩定的,可靠的,高效的,全面的,這樣使用者才能用的舒心。
也有朋友同意我關於資料庫產業規模的觀點,說你以前經常提到的的PostgresqlPro也不過100多人,為什麼你認為這是一家成功的企業,而我們的規模不比他們小,你還認為我們的規模不足呢?實際上PostgresqlPro是一家基於PG開源社群程式碼做資料庫產品的開源下游企業,他們本身不研發PG的核心程式碼,僅僅參與PG社群的工作,他們的CEO 巴圖魯(上回有位網友指出正確的發音是巴圖魯,是蒙古裔的俄國人)是PG核心的COMMITER之一。他們實際上並不需要投入大量的研發人員去做核心程式碼開發,僅僅需要有幾個資料庫研發的極客高手就可以了,而他們發行PG社群的穩定版本,其測試是在社群推動下完成的,因此僅僅需要對自研部分進行迴歸測試就可以了。另外一方面,該公司的客戶規模也不大,僅僅100+的客戶數量,並且他們的發行版本與PG社群版差別不大,大部分使用者可以藉助PG社群來實現自助服務,因此售後服務的壓力也不是很大。
實際上從上面的例子可以看出,利用開源生態發展資料庫產業是可以大大降低資料庫產業創業的門檻的。實際上這些年以開源資料庫生態為基礎,開展資料庫服務的企業都有不錯的收益,比如愛可生、阿里雲等。阿里雲的好幾個RDS 雲資料庫產品在DB ENGINE上的排名也在逐年提升。實際上,在中國資料庫產業開始大熱的前幾年,基於開源生態做資料庫產品是最為普遍的行為。
不過這些年我們的國產資料庫企業已經不滿足用開源資料庫做RDS或者直接封裝企業版了。大量的資料庫企業開始基於開原始碼做大量的改造,起步做真正的“國產資料庫”了。基於開原始碼改造後必源做自己的國產資料庫這條路我並不反對,不過如果這意味著完全脫離社群版本,開始做一個完整的資料庫產品。這個時候,以前開源社群的力量就無法完全為你所用了,你如果還是以做開源資料庫封裝的規模去做自主研發的資料庫產品,那麼規模上不來,質量從何談起呢?
我這些年關注的某個國產資料庫,幾年前基於PG 9.4做自研,隨後幾年脫離了開源社群版本,發展出了自己的獨立版本。不過最近他們的最新版本發行以後,讓我大跌眼鏡,居然又回到了比較新的社群版本上了。這說明了什麼?我猜測最主要的原因是脫離社群版之後,企業的研發能力不足,資料庫核心的功能、效能提升幅度遠遠小於社群版本,因此他們不得不放棄這些年的研發積累,重新從一個比較新的開源社群版本上重複數年前的工作,修改SQL引擎,使之與Oracle保持較好的相容性。這個工作有一部分是無法隨著開源資料庫核心的更新直接更新的,對於新的開源核心,這部分工作有一些必須重來。因此我猜測再過幾年,這種情況會再發生一次。
其實如何更好地發展國產資料庫產業並不是只有一條路,條條大道通羅馬。現在出現200多家資料庫廠商也並不是壞事,市場會糾正所有的錯誤。目前的亂象來自於國產資料庫廠家之間為了生存而進行的黨同伐異的競爭,並不利於資料庫產業的健康發展。就像最近新能源汽車的DMI與增程模式的競爭,爭論出誰是落後的技術並不重要,使用者的認可才是最重要的。就像現在很多資料庫廠商一出來就說Oracle是基於40年前的軟硬體水平做出的設計,總體架構已經落後了。不過你的優秀新架構,先全面KO Oracle這個落後的老傢伙再說吧。
來自 “ 白鱔的洞穴 ”, 原文作者:白鱔;原文連結:https://mp.weixin.qq.com/s/2rnL14tix2CgeR368vDB_w,如有侵權,請聯絡管理員刪除。
相關文章
- 為什麼我們需要資料庫事務資料庫
- 為什麼需要資料治理
- 為什麼DBA需要資料庫廠商的資料庫概念文件資料庫
- ajax為什麼需要json格式響應資料?JSON
- 資料庫應用需要什麼樣的雲原生能力資料庫
- 為什麼需要大資料安全分析?大資料
- 織夢需要什麼資料庫織夢資料庫在哪資料庫
- 大資料應用於智慧交通產業發展規模分析大資料產業
- 為什麼需要應急響應?網路安全應急響應需要做什麼?
- 為什麼需要DTO(資料傳輸物件)物件
- 為什麼你需要更精準的資料?
- 【網路安全】組織為什麼需要應急響應?應急響應需要做什麼?
- 為什麼企業要做大規模敏捷?敏捷
- 資料湖架構,為什麼需要“湖加速”?架構
- 資料血緣系列(1)—— 為什麼需要資料血緣?
- 深度學習為什麼需要那麼多的資料?深度學習
- PG資料庫為什麼要用autovacuum資料庫
- 資料庫倉庫系列:(一)什麼是資料倉儲,為什麼要資料倉儲資料庫
- 什麼是資料庫?什麼是雲資料庫?資料庫
- 什麼規模的企業需要使用工單系統
- Oracle為什麼需要國家字符集及相應的資料型別Oracle資料型別
- 為什麼需要Docker?Docker
- 為什麼NoSQL資料庫這麼受歡迎?SQL資料庫
- 為什麼公司需要專業的測試資料管理?
- 醫學影像AI為什麼需要小資料學習?AI
- 我們為什麼需要模擬服務機器人?機器人
- 分享:CUDB for OceanBase分散式資料庫產品規模應用分散式資料庫
- 為什麼不用資料庫儲存圖片?資料庫
- 為什麼要選擇分散式資料庫?分散式資料庫
- 為什麼資料庫欄位要使用NOT NULL?資料庫Null
- 資料庫DBA為什麼拒絕DevOps?資料庫dev
- 為什麼PostgreSQL是最成功的資料庫?SQL資料庫
- 資料庫索引為什麼使用B+樹?資料庫索引
- 為什麼要對資料庫最佳化資料庫
- 為什麼會有這麼多種的資料庫資料庫
- 大資料時代,為什麼還需要客戶之聲(VOC)?大資料
- 後設資料管理為什麼需要統一的元模型?模型
- 大規模爬蟲為什麼要管理DNS快取爬蟲DNS快取