YugabyteDB 是一個相容於 PostgreSQL 的高效能、雲端原生、分散式 SQL 資料庫。它結合了傳統關係型資料庫的優點和NoSQL系統的可擴展性,使其適合既需要事務一致性又需要處理大量資料的應用程式。它最適合需要絕對資料正確性並至少需要以下一項的雲端原生 OLTP(即即時、關鍵業務)應用程式:可擴展性、高故障容忍度或全球分散部署。
核心特點
開始使用
建立應用程式
目前路線圖
最近的功能
建築學
需要幫助嗎?
貢獻
執照
閱讀更多
強大的RDBMS功能Yugabyte SQL(簡稱YSQL )重複使用了PostgreSQL查詢層(類似Amazon Aurora PostgreSQL),從而支援其大部分功能(資料類型、查詢、表達式、運算子和函數、儲存過程、觸發器、擴展等) )。
分散式事務事務設計基於Google Spanner架構。透過使用Raft共識進行複製和使用混合邏輯時鐘的集群範圍內的分散式ACID事務來實現寫入的強一致性。支援快照、可序列化和已提交讀取隔離等級。預設情況下,讀取(查詢)具有強一致性,但可以動態調整以從追蹤者和只讀副本讀取。
持續可用性YugabyteDB 透過本機故障轉移和修復對常見中斷具有極強的彈性。 YugabyteDB 可以設定為自動容忍磁碟、機架、節點、區域、區域和雲端故障。對於 YugabyteDB 叢集部署在公有雲上跨多個可用區的一個區域的典型部署,RPO 為 0(意味著故障時不會遺失資料),RTO 為 3 秒(意味著資料由故障節點提供服務) 3 秒後可用)。
水平可擴展性擴展 YugabyteDB 叢集以實現更多 IOPS 或資料儲存就像向叢集添加節點一樣簡單。
地理分散式多雲YugabyteDB 可以部署在公有雲中以及本地 Kubernetes 內。它支援跨越三個或更多故障域的部署,例如多區域、多機架、多區域和多雲部署。它還支援在兩區域部署中使用單向主從和雙向多主配置的 xCluster 非同步複製。只讀副本還支援以低延遲提供(陳舊)資料。
多 API 設計YugabyteDB 查詢層的建置是可擴充的。目前,YugabyteDB 支援兩種分散式 SQL API:Yugabyte SQL (YSQL),一個重複使用 PostgreSQL 查詢層的完全關聯式 API,以及 Yugabyte Cloud QL (YCQL),一種半關係式 SQL 式 API,支援文件/索引Apache Cassandra QL 根源。
100% 開源YugabyteDB 在 Apache 2.0 許可證下完全開源。開源版本具有強大的企業功能,例如分散式備份、靜態資料加密、動態 TLS 加密、變更資料擷取、唯讀副本等。
YugabyteDB 的創建考慮到了幾個關鍵設計目標,旨在解決現代雲端原生應用程式面臨的挑戰,同時保持傳統關係型資料庫的熟悉度和強大功能。在我們的設計目標中詳細了解這些內容。
快速入門
嘗試運行一個真實的演示應用程式:
微服務的電子商務應用
使用 Kafka 和 Spark Streaming 進行串流 IoT 應用程式
找不到您要找的東西?有問題嗎?在我們的社群 Slack 或論壇上發布您的問題或評論。
YugabyteDB 支援多種語言和客戶端驅動程序,包括 Java、Go、NodeJS、Python 等。有關完整清單(包括範例),請參閱驅動程式和 ORM。
以下是即將發布的版本中正在開發的一些關鍵功能的清單。
特徵 | 細節 |
---|---|
PostgreSQL 15 相容性 | 了解最新功能、新 PostgreSQL 擴充功能、效能和社群修復。 |
CDC 中的 PostgreSQL 發布/複製槽 API | PostgreSQL 擁有一個龐大的社區,需要一個與 PG 相容的 API 來設定和使用資料庫變更。 |
點陣圖掃描 | 點陣圖掃描支援使用索引掃描、遠端過濾器和增強的成本模型。 |
基於成本的優化器(CBO) | 基於統計資料(例如表格大小、行數)和資料分佈的高效查詢計劃。 |
平行查詢執行 | 透過拆分單一查詢在不同的 CPU 核心上執行來提高查詢效能。 |
pg向量擴展 | 支援向量資料類型,實現高維向量的高效儲存和查詢。 |
連線管理 | 伺服器端連接管理,每個節點最多可支援 30K 連接 |
請參閱路線圖追蹤器以取得目前路線圖中所有項目的清單。
v2.23是目前的預覽版本。這包括正在積極開發的功能,建議僅用於開發和測試。有關此版本中的功能和改進的完整列表,請參閱發行說明 - v2.23。以下是一些突出的功能。
快速建立資料庫的獨立副本以進行資料復原、開發和測試。
使用 pg_cron 使用熟悉的 cron 語法來調度 YSQL 指令,包括間隔精確到秒的作業。
透過在資料庫層級而不是表格層級操作,簡化了 YSQL 交易 xCluster 複製的管理。
向後掃描效能的改進現在允許此類查詢開箱即用,速度提高 10 倍!
v2024.1是目前的穩定版本。穩定版本經過更長時間的嚴格測試,可供生產使用。有關此版本中的功能和改進的完整列表,請參閱發行說明 - v2024.1。以下是一些突出的功能。
使您能夠利用 PostgreSQL 相容性和效能對等方面的許多新改進,從而更輕鬆地將應用程式從 PostgreSQL 提升和轉移到 YugabyteDB。啟用此模式後,YugabyteDB 使用已提交讀取隔離模式、用於可預測 P99 延遲的等待衝突並發模式以及新的基於成本的最佳化器。
如果您對升級後的版本不滿意,可以無縫回滾到升級前的版本。
一種連線執行策略,透過每批外部表元組向內部表發送一個請求,而不是每個單獨的外部表元組一次,改進了巢狀循環連線。
解釋分析與DIST選項一起使用時,也會顯示從儲存層讀取的行,這可以幫助診斷查詢效能。
查看我們的文件中的詳細架構。
您可以在我們的 Community Slack、論壇、Stack Overflow 以及 Twitter @Yugabyte 上提出問題、尋找答案並幫助其他人。
使用 GitHub issues 回報問題或請求新功能。
若要解決 YugabyteDB 和叢集/節點級問題,請參閱故障排除文件。
作為一個高度關注用戶社群的開源項目,我們歡迎以 GitHub Pull Request 的形式做出貢獻。請參閱我們的貢獻者指南以開始使用。功能的討論和 RFC 發生在我們論壇的設計討論部分。
此儲存庫中的原始程式碼根據 Apache License 2.0 和 Polyform 免費試用許可證 1.0.0 取得不同的授權。每個許可證的副本都可以在許可證目錄中找到。
建置生成兩組二進位檔案:
整個資料庫及其所有功能(包括企業功能)均根據 Apache License 2.0 獲得許可
工件中包含-managed
並協助執行託管服務的二進位檔案根據 Polyform 免費試用授權 1.0.0 取得授權。
預設情況下,建置選項僅產生 Apache License 2.0 二進位。
若要查看我們的更新,請造訪分散式 SQL 部落格。
有關深入的設計和架構詳細信息,請參閱我們的設計規格。
技術講座和影片。
了解 YugabyteDB 與其他資料庫的比較。