雲端原生運算基金會(CNCF)宣布,兩年前納入旗下的MySQL資料庫叢集系統Vitess現已經成熟,是繼Kubernetes、Prometheus和Envoy等,第八個離開CNCF孵化器的專案。同時Vitess也釋出了最新4.0版本,改進SQL Query支援以及可用性。

Vitess被創建於2010年,是來自YouTube的內部開發計畫,因為YouTube需要一個更簡單的方式,來管理MySQL大規模部署。MySQL是熱門的開源關聯式資料庫,許多企業用來儲存結構性的資料,但是雖然MySQL提供了許多好用且強大的功能,但是由於根本設計上的原因,使得MySQL水平擴展的能力受限,難以在大量的伺服器進行分散式部署。

而Vitess的出現就是為了解決這個問題,Vitess是用於部署、擴展和管理MySQL大型叢集的資料庫解決方案,可以良好地支援公有雲和私有雲架構,其結合了NoSQL資料庫的可擴展性,並擴充了重要的MySQL功能。Vitess讓企業對MySQL資料庫進行分片,能以最低應用程式需要修改的程度,擴展MySQL資料庫規模,也能方便地將裸機部署搬遷到私有雲或是公有雲上,在Kubernetes和本地容器環境中運作。

新發布的Vitess 4.0改善支援的MySQL語法範圍,Vitess現在可以支援批次陳述式,同時對不同分片進行插入資料操作,同時還支援更廣泛的SELECT陳述式,新增包括像是COUNT(DISTINCT)等不同的聚合查詢。官方提到,他們也開始測試將Vitess應用在一般的應用程式和框架之中,目的是要讓使用者,可以將單片的MySQL或是MariaDB實例,直接移動到分片的Vitess上,而且應用程式不需要進行更改。

而在新版本中,官方提升新用戶採用Vitess的友善程度,包括改進Kubernetes和Vagrant的本地開發入門教學課程,同時還減少起始時所需要的配置,Vitess目前也已經可以在多數情況下,自動檢測MySQL版本。Vitess的錯誤通知訊息也獲得改善,並改善這些訊息能以正確的日誌等級,分類成錯誤、警告或一般訊息。

Vitess 4.0加入了VReplication實驗性功能,官方提到,當資料庫要進行擴展,使用者必須要取捨分片的規則,就以電子商務平臺來說,資料庫可能是按買家進行分片,這會讓針對賣家的查詢變慢許多,但當遇到需要對買賣雙方都提供高效能查詢的應用程式,就會讓開發者感到困擾,而現在Vitess加入的VReplication功能,提供一種訂閱每個分片變更的方法,讓關鍵資料可以在每個分片都存在副本,提升應用程式存取資料的速度。


Advertisement

更多 iThome相關內容