100% 開源,Citus 11 將企業(yè)版特性全部開源
CitusData 于日前推出了 Citus 11.0,并宣布將所有企業(yè)版的特性都進(jìn)行開源。此前,Citus 在版本更新時(shí)通常會同步發(fā)布 2 個(gè)版本:開源版本和包含一些額外功能的企業(yè)版本?!暗?,Citus 11.0 將只有一個(gè)版本,因?yàn)?Citus 擴(kuò)展中的所有內(nèi)容現(xiàn)在都是完全開源的!”
公告指出,這意味著你現(xiàn)在可以在無阻塞寫入的情況下重新平衡分片、跨集群管理角色、將租戶隔離到他們自己的分片等等?!澳憧梢詮娜魏喂?jié)點(diǎn)查詢你的 Citus 集群,從而創(chuàng)建真正分布式的 PostgreSQL 體驗(yàn)?!?/p>
Citus 是一個(gè) PostgreSQL 的擴(kuò)展,將 Postgres 轉(zhuǎn)變?yōu)橐粋€(gè)分布式數(shù)據(jù)庫,因此你可以在任何規(guī)模下實(shí)現(xiàn)高性能。CitusData 于 2019 年被微軟收購;官方表示,目前團(tuán)隊(duì)的重點(diǎn)已轉(zhuǎn)向開源?!白?Citus 開源使你能夠直接與開發(fā)者和社區(qū)互動(dòng)、了解你運(yùn)行的代碼、避免鎖定問題,而且它為每個(gè)人創(chuàng)造了更好的開發(fā)者體驗(yàn)?!?/p>
去年,在 Citus 10 版本中已經(jīng)開源了分片再平衡功能(shard rebalancer);這是 Citus 的一個(gè)重要組成部分,允許你通過將數(shù)據(jù)轉(zhuǎn)移到新的節(jié)點(diǎn)來輕松擴(kuò)展你的集群。且分片再平衡功能對性能也很有用,可以在集群中的所有節(jié)點(diǎn)之間平衡數(shù)據(jù)?,F(xiàn)在作為 Citus 11.0 的一部分,其余的企業(yè)功能也全部開源,包括有:
- 使用邏輯復(fù)制重新平衡分片以避免阻塞寫入
- 多用戶支持(角色和授權(quán)傳播、行級安全性)
- 多租戶應(yīng)用的租戶隔離
- 對節(jié)點(diǎn)間身份驗(yàn)證的細(xì)粒度控制
- 通過連接池路由內(nèi)部連接
- 數(shù)據(jù)加載的性能優(yōu)化
此外,Citus 11 還帶有一個(gè)重要的新功能 —— 自動(dòng)模式和元數(shù)據(jù)同步。
以及一個(gè)隱藏的預(yù)覽功能 —— 分布式表的觸發(fā)器,用戶可使用citus.enable_unsafe_triggers 設(shè)置啟用觸發(fā)器:
CREATE TABLE data (key text primary key, value jsonb);
SELECT create_distributed_table('data','key');
CREATE TABLE data_audit (operation text, key text, new_value jsonb, change_time timestamptz default now());
SELECT create_distributed_table('data_audit','key', colocate_with := 'data');
-- we know this function only writes to a co-located table using the same key
CREATE OR REPLACE FUNCTION audit_trigger()
RETURNS trigger
AS $$
DECLARE
BEGIN
INSERT INTO data_audit VALUES (TG_OP, Coalesce(OLD.key, NEW.key), NEW.value);
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
-- so, it is safe to enable triggers on distributed tables
SET citus.enable_unsafe_triggers TO on;
CREATE TRIGGER data_audit_trigger
AFTER INSERT OR UPDATE OR DELETE ON data
FOR EACH ROW EXECUTE FUNCTION audit_trigger();
公告稱,新版 Citus 11 的發(fā)布標(biāo)志著 Citus 正在進(jìn)入新的領(lǐng)域。“想象一下,如果有一個(gè) FOSS 工具可以將最新版本的 PostgreSQL 變成一個(gè)分布式數(shù)據(jù)庫,它可以從單個(gè)節(jié)點(diǎn)向外擴(kuò)展,在集群中路由或并行化查詢,在任何規(guī)模下都有很高的性能,允許你把你的應(yīng)用程序連接到任何節(jié)點(diǎn),不間斷地?cái)U(kuò)展,在 Azure 上單擊幾下即可獲得集群或在任何環(huán)境中自行運(yùn)行。此外,它可以滿足極端數(shù)據(jù)密集型工作負(fù)載的要求。這就是 Citus 11 所提供的。”
更多詳情可查看官方博客。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:100% 開源,Citus 11 將企業(yè)版特性全部開源
本文地址:https://www.oschina.net/news/200300/citus-11-goes-fully-open-source