1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        [摘要]如何構(gòu)建分布式數(shù)據(jù)庫 severless 服務(wù)?

        共 1191字,需瀏覽 3分鐘

         ·

        2022-06-11 12:25

        最近在讀一些分布式數(shù)據(jù)庫 serverless 服務(wù)化的文章,從中總結(jié)出一些構(gòu)建此類服務(wù)面臨的痛點(diǎn)以及如何破局的要點(diǎn),算是一個讀書筆記。主要參考的文章有 cockroachdb severless 解讀[1], How we built a forever-free serverless SQL database[2]。

        大致內(nèi)容提綱

        內(nèi)容提要

        為什么需要云原生數(shù)據(jù)庫

        數(shù)據(jù)庫的 scale 能力決定了這個產(chǎn)品的上限,而一家公司能用多少人服務(wù)多少客戶的 scale 能力,決定了公司營收的上限。破局的方式就是數(shù)據(jù)庫上云,把數(shù)據(jù)庫的服務(wù)化,降低門檻。

        為什么要 serverless 化

        serverless 是一種賣服務(wù)的形式,一個集群就可以服務(wù)"無窮"個租戶,只要沒有實(shí)際的使用,并不會產(chǎn)生成本。多增加一個租戶,它的邊際成本是零。所以這個模式是 scalable 的。

        而為了實(shí)現(xiàn) serverless 的目的,云原生數(shù)據(jù)庫的架構(gòu)大多是存儲和計算分離的。

        多租戶的資源隔離問題

        如果是多租戶共享計算層和存儲層,那復(fù)雜 SQL 就會將整個集群的資源耗盡,影響其他租戶;

        如果是每個租戶獨(dú)享各自的計算層和存儲層,也就是回到了每個租戶一套集群的模式,成本非常高。

        綜上因素,比較好的方式是獨(dú)享計算層,共享存儲層。上層的 SQL 是租戶之間物理隔離的,下面的 kv 存儲是由所有租戶去共享的。

        共享存儲之后,如何區(qū)分租戶數(shù)據(jù)

        共享存儲層后,可以在請求的 key 的編碼中添加 tenant-id,多租戶模式下,SQL 的表的數(shù)據(jù)映射成 kv 數(shù)據(jù),最終的編碼可以是 /tenant-id/table-id/index-id/key

        集群架構(gòu)

        云原生數(shù)據(jù)庫集群架構(gòu)

        名詞解釋

        Block storage: 多租戶共享的存儲

        SQL Pod: 租戶獨(dú)享的 SQL 計算節(jié)點(diǎn)

        Proxy Pod : 負(fù)責(zé)將租戶的請求路由到正確的 SQL 節(jié)點(diǎn)上

        計算節(jié)點(diǎn)無狀態(tài),這意味著 SQL pod 可以隨用隨起,也就是說,當(dāng)某個 tenant 沒有流量時,完全可以把它的 SQL 節(jié)點(diǎn)停下關(guān)掉,需要的時候再動態(tài)拉起。

        拓展閱讀[3]

        以上。

        參考資料

        [1]

        cockroachdb severless 解讀: https://www.zenlife.tk/cockroach-severless.md

        [2]

        How we built a forever-free serverless SQL database: https://www.cockroachlabs.com/blog/how-we-built-cockroachdb-serverless/

        [3]

        云原生數(shù)據(jù)庫架構(gòu)系列之 session manager: https://www.zenlife.tk/session-manager.md


        瀏覽 54
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久熟女| 吴梦梦一区二区 | 四虎国产精品永久在线地址的介绍 | 欧美亚洲一区二区三区 | 特黄特色大片在线观看视频网站 | 成人免费视频 国产免费麻 | 91麻豆国产在线观看 | 亚洲第一电影网站 | 日本mm131爽爽爽免费图片 | bl攻不让穿内裤随时做 |