跳至主要內容

什麼是開放原始碼資料庫?

開放原始碼資料庫是一種資料庫解決方案,您可以免費使用和自訂其中的原始程式碼。 開發人員社群會以非營利方式維護開放原始碼並為其新增功能,這讓任何人都能自由取用該技術,進而促進全球創新。開放原始碼資料庫讓所有人都能著手進行應用程式開發;不過,您會需要技術專業知識並進行基礎結構管理,才能大規模設定和執行這些資料庫。

閉源資料庫和開放原始碼資料庫之間有什麼區別?

閉源資料庫由商業資料庫供應商建置、維護和授權。  例如,Microsoft SQL Server 是一種專有的閉源資料庫管理系統。

限制

與開放原始碼資料庫不同,閉源資料庫的基礎原始碼由資料庫供應商所有。這意味著開發人員無法在供應商允許的範圍以外變更或自訂閉源資料庫。

廠商鎖定

使用閉源資料庫通常會導致發生廠商鎖定情形,組織會開始依賴供應商的工具和相關解決方案。切換到另一個資料庫系統的作業可能複雜、昂貴又耗時,尤其是在將資料庫整合至業務營運之後。

成本

使用者可以免費下載開放原始碼資料庫,以用於商業用途。同時,公司必須付費取得閉源資料庫授權,並支付將資料儲存在其中的費用。

設定

設定閉源資料庫十分簡單。相對地,因為佈建開放原始碼資料庫的相關步驟更加複雜,所以您可能需要在過程中尋求協助。

支援

使用閉源資料庫時,開發團隊可受益於供應商的直接支援。例如,您可以提交功能請求,而且請求的功能將在後續更新中實作。同時,開放原始碼資料庫沒有官方支援,這意味著您會依賴社群來解決問題。

資料庫供應商通常會建立自己的開放原始碼資料庫發行版,並提供技術支援服務。

開放原始碼資料庫有哪些範例?

開放原始碼資料庫可協助軟體開發人員以極低的初始成本儲存各種類型的資料。通常,這些資料庫分為兩種類別:關聯式和非關聯式

  • 關聯式資料庫可讓開發人員將資訊整理成包含資料欄和資料列的資料表,並支援索引鍵、關係和預存程序等功能。
  • 非關聯式資料庫會以其他格式儲存非結構化或半結構化資料,例如圖形、文件和大量資料欄。

根據專案需求和資料類型而定,開發人員可能會使用關聯式或非關聯式資料庫。我們會在下方講解您著手使用的常用資料庫。 

MySQL

MySQL 是一種常用的開放原始碼關聯式資料庫管理系統。軟體團隊會選擇 MySQL,是因為其能夠可靠地處理大量交易。MySQL 的設計目的是支援 ACID 交易。ACID 意指原子性、一致性、隔離性和耐久性。這些特性可確保在交易量增長時,仍然維持交易的一致性與準確性。

MariaDB

MariaDB 是一個最初旨在取代 MySQL 的免費資料庫。與 MySQL 相同,MariaDB 支援關聯式資料庫和遵循 ACID 標準的交易。但是,MariaDB 還可以儲存非結構化資料,從而擴展其適用範圍。MariaDB 旨在處理快節奏的複雜交易,通常用於 Web 和電子商務應用程式。

PostgreSQL

PostgreSQL 是一種功能強大物件關聯式資料庫管理系統。該資料庫由 PostgreSQL Global Development Group 開發,同時支援 SQL 和 NoSQL 查詢。除了處理常見的交易資料外,PostgreSQL 還可以執行複雜的查詢,因此適用於分析應用程式、資料倉儲和機器學習專案。

NoSQL 資料庫是否採用開放原始碼模式?

NoSQL 資料庫是在非關聯式結構中儲存資料的資料庫系統。許多 NoSQL 資料庫皆可免費使用。例如,您可以免費下載 NoSQL 鍵值存放區和資料庫,例如 Valkey、Memcached 和 MongoDB。這些資料庫讓開發人員得以大規模儲存、操控和管理非結構化資料。

但是,MongoDB 並不被視為真正的開放原始碼資料庫。開放原始碼資料庫是採用通用公眾授權 (GPL) 授權等著作傳授權方式,該授權允許使用者針對商業目的自由使用、修改和分發軟體。

同時,MongoDB 採用伺服器端公眾授權 (SSPL)。如果有人將 MongoDB 以服務形式提供,他們必須公開完整的軟體原始程式碼 (包括 MongoDB 資料庫)。有鑑於此,開放原始碼促進會 (OSI) 不將 SSPL 視為開放原始碼模式。因此,MongoDB 被視為提供原始碼資料庫,而非開放原始碼資料庫。

何時適合採用開放原始碼資料庫?

開放原始碼資料庫可以儲存多種應用程式的資料,包括內容管理系統、訊息系統、企業應用程式和自訂應用程式。使用開放原始碼資料庫後,您可以節省成本、更加靈活,並可避免建置軟體時的廠商鎖定情形。

但是,獲得的技術支援可能有限。此外,在考慮為 SaaS 產品使用開放原始碼資料庫時,您應該保持謹慎。部分免費資料庫不提供商業發行授權,或生產用途受到限制。

例如,MongoDB 採用伺服器端公眾授權 (SSPL),而 MariaDB 則採用商業來源授權 (BSL),這兩者都附帶相關的法律限制。在隨資料庫一同提供雲端託管軟體時,如未事先向供應商徵求同意,則將違反商業授權條款。

開放原始碼資料庫有哪些優點?

快速成長的公司和大型企業經常出於下列原因選擇開放原始碼資料庫。

低成本。

開放原始碼資料庫可以免費使用,這意味著您無需支付費用或進行訂閱。

社群支援

大量的工具和社群支援。眾多開發人員在積極貢獻心力,以製作新功能、更新並回應錯誤報告,這將能加快資料庫改進速度。

自訂

開發人員可以修改資料庫的原始碼,以滿足特定的專案需求。

可擴展性

開放原始碼資料庫可在不犧牲資料完整性的前提下,處理大量並行交易。

安全性

使用資料庫的開發人員會持續檢查、報告和修復他們發現的漏洞。

開放原始碼資料庫有哪些挑戰?

儘管開放原始碼資料庫提供了許多優點,但其可能不適用於部分使用案例。我們將在下方概述開發人員在使用開放原始碼資料庫系統時遇到的常見挑戰。

支援有限。

無法保證獲得及時和專業的支援。 但是,部分供應商會發佈自有的開放原始碼資料庫發行版,這些版本通常會提供支援。

設定複雜

安裝、設定開放原始碼資料庫並使其正常運作,可能需要比預期更多的時間和工作量。AWS 等雲端供應商,可讓您以受管服務形式設定開放原始碼相容資料庫,從而解決這些挑戰。

AWS 如何支援您的開放原始碼資料庫需求?

AWS 提供雲端受管資料庫服務,可協助組織以經濟實惠的方式儲存、管理和分析資料。我們並非從頭開始設定資料庫,而是自動為您佈建資料庫,讓您可隨時隨地建置創新的資料導向應用程式。

  • Amazon RDS for MySQL 可讓您使用具成本效益的雲端基礎結構來設定、操作和擴展 MySQL 資料庫。
  • Amazon RDS for PostgreSQL 可讓您在無須耗費大量時間進行設定的情況下,存取熟悉的開放原始碼資料庫引擎。
  • Amazon Aurora 在全球為 PostgreSQL、MySQL 和 DSQL 提供卓越的高效能和可用性。
  • Amazon ElastiCache 是一項完全受管的快取服務,用於執行 Valkey、Memcached 和 Redis OSS 等鍵值資料存放區,並具有微秒級的延遲表現。

立即建立一個免費帳戶,開始使用 AWS 上的開放原始碼資料庫基礎結構。