歡迎光臨
每天分享高質量文章

正確選擇開源資料庫的 5 個技巧 | Linux 中國

對關鍵應用的選擇不容許絲毫錯誤。
— Barrett Chambers


致謝
編譯自 | 
https://opensource.com/article/18/10/tips-choosing-right-open-source-database
 
 作者 | Barrett Chambers
 譯者 | Hank Chow (HankChow) ???共計翻譯:21.0 篇 貢獻時間:332 天

對關鍵應用的選擇不容許絲毫錯誤。

你或許會遇到需要選擇合適的開源資料庫的情況。但這無論對於開源方面的老手或是新手,都是一項艱巨的任務。

在過去的幾年中,採用開源技術的企業越來越多。面對這樣的趨勢,眾多開源應用公司都紛紛承諾自己提供的解決方案能夠各種問題、適應各種負載。但這些承諾不能輕信,在開源應用上的選擇是重要而艱難的,尤其是資料庫這種關鍵的應用。

憑藉我在 Percona[1] 和其它公司擔任 IT 專家的經驗,我很幸運能夠指導其他人在開源技術的選擇上做出正確的決策,因為需要考慮的重要因素太多了。希望通過這篇文章能夠向大家分享這方面的一些技巧。

有一個明確的標的

這一點看似簡單,但在和很多人聊過 MySQL、MongoDB、PostgreSQL 之後,我覺得這一點才是最重要的。

面對繁雜的開源資料庫,更需要明確自己的標的。無論這個資料庫是作為開發用的標準化資料庫後端,抑或是用於替換遺留代碼中的原有資料庫,這都是一個明確的標的。

標的一旦確定,就可以集中精力與開源軟體的提供方商討更多細節了。

瞭解你的工作負載

儘管開源資料庫技術的功能越來越豐富,但這些新加入的功能都不太具有普適性。譬如 MongoDB 新增了事務的支持、MySQL 新增了 JSON 儲存的功能等等。目前開源資料庫的普遍趨勢是不斷加入新的功能,但很多人的誤區卻在於沒有選擇最適合的工具來完成自己的工作 —— 這樣的人或許是一個自大的開發者,又或許是一個視野狹窄的主管 —— 最終導致公司業務上的損失。最致命的是,在業務初期,使用了不適合的工具往往也可以順利地完成任務,但隨著業務的增長,很快就會到達瓶頸,儘管這個時候還可以替換更合適的工具,但成本就比較高了。

例如,如果你需要的是資料分析倉庫,關係資料庫可能不是一個適合的選擇;如果你處理事務的應用要求嚴格的資料完整性和一致性,就不要考慮 NoSQL 了。

不要重新發明輪子

在過去的數十年,開源資料庫技術迅速發展壯大。開源資料庫從新生,到受到質疑,再到受到認可,現在已經成為很多企業生產環境的資料庫。企業不再需要擔心選擇開源資料庫技術會產生風險,因為開源資料庫通常都有活躍的社區,可以為越來越多的初創公司、中型企業甚至 500 強公司提供開源資料庫領域的支持和第三方工具。

Battery Ventures 是一家專註於技術的投資公司,最近推出了一個用於跟蹤最受歡迎開源專案的 BOSS 指數[2] 。它提供了對一些被廣泛採用的開源專案和活躍的開源專案的詳細情況。其中,資料庫技術毫無懸念地占據了榜單的主導地位,在前十位之中占了一半。這個 BOSS 指數對於剛接觸開源資料庫領域的人來說,這是一個很好的切入點。當然,開源技術的提供者也會針對很多常見的典型問題給出對應的解決方案。

我認為,你想要做的事情很可能已經有人解決過了。即使這些先行者的解決方案不一定完全契合你的需求,但也可以從他們成功或失敗的案例中根據你自己的需求修改得出合適的解決方案。

如果你採用了一個最前沿的技術,這就是你探索的好機會了。如果你的工作負載剛好適合新的開源資料庫技術,放膽去嘗試吧。第一個吃螃蟹的人總是會得到意外的挑戰和收穫。

先從簡單開始

你的資料庫實際上需要達到多少個 9[3] 的可用性?對許多公司來說,“實現高可用性”僅僅只是一個模糊的標的。當然,最常見的答案都會是“它是關鍵應用,我們無論多短的停機時間都是無法忍受的”。

資料庫環境越複雜,管理的難度就越大,成本也會越高。理論上你總可以將資料庫的可用性提得更高,但代價將會是大大增加的管理難度和性能下降。所以,先從簡單開始,直到有需要時再逐步擴展。

例如,Booking.com 是一個有名的旅游預訂網站。但少有人知的是,它使用 MySQL 作為資料庫後端。 Booking.com 高級系統架構師 Nicolai Plum 曾經發表過一次演講[4],講述了他們公司使用 MySQL 資料庫的歷程。其中一個重點就是,在初始階段資料庫可以被配置得很簡單,然後逐漸變得複雜。對於早期的資料庫需求,一個簡單的主從架構就足夠了,但隨著工作負載和資料量的增加,資料庫引入了負載均衡、多個讀取副本,還使用 Hadoop 進行分析。儘管如此,早期的架構仍然是非常簡單的。

有疑問,找專家

如果你仍然不確定資料庫選擇的是否合適,可以在論壇、網站或者與軟體的提供者處商討。研究各種開源資料庫是否滿足自己的需求是一件很有意義的事,因為總會發現你從不知道的技術。而開源社區就是分享這些信息的地方。

當你接觸到開源軟體和軟體提供者時,有一件重要的事情需要註意。很多公司都有開放的核心業務樣式,鼓勵採用他們的資料庫軟體。你可以只接受他們的部分建議和指導,然後用你自己的能力去研究和探索替代方案。

總結

選擇正確的開源資料庫是一個重要的過程。很多時候,人們都會在真正理解需求之前就做出決定,這是本末倒置的。


via: https://opensource.com/article/18/10/tips-choosing-right-open-source-database

作者:Barrett Chambers[6] 選題:lujun9972 譯者:HankChow 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

赞(0)

分享創造快樂