成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

探尋云原生數(shù)據(jù)庫(kù)

譯文 精選
云計(jì)算 云原生
云原生應(yīng)用程序運(yùn)行需要云原生數(shù)據(jù)庫(kù)支持。本文將帶你了解什么是云原生數(shù)據(jù)庫(kù)以及它與Kubernetes的關(guān)系。

譯者 | 李睿

審校 | 梁策 孫淑娟

如今,“云原生”這一概念已多用來(lái)表示應(yīng)用邏輯和基礎(chǔ)設(shè)施(包括數(shù)據(jù)庫(kù))的最佳實(shí)踐集合。然而,早在云計(jì)算或云原生概念出現(xiàn)幾十年前,許多支持應(yīng)用程序運(yùn)行的數(shù)據(jù)庫(kù)就已存在,只是這些傳統(tǒng)解決方案的數(shù)據(jù)引力限制了應(yīng)用程序和工作負(fù)載的移動(dòng)能力。隨著企業(yè)將業(yè)務(wù)遷移到云端,數(shù)據(jù)存儲(chǔ)方法該怎樣發(fā)展?需不需要云原生數(shù)據(jù)庫(kù)?云原生數(shù)據(jù)庫(kù)又意味著什么?以下我們來(lái)一一解答。

什么是云原生?

要定義“云原生”,需要先來(lái)明白什么是“原生”(Native)。對(duì)于個(gè)人而言,原生二字可能會(huì)讓你聯(lián)想到母語(yǔ)、本國(guó)或本地之類的概念,亦或是自然界里野生動(dòng)物的原生棲息地,包括各個(gè)物種如何適應(yīng)所處環(huán)境等。因此,我們也從這里出發(fā)來(lái)理解云原生的含義。

以下是云原生計(jì)算基金會(huì)(CNCF)對(duì)該術(shù)語(yǔ)的定義: “云原生技術(shù)使企業(yè)能夠在公共云、私有云和混合云等現(xiàn)代動(dòng)態(tài)環(huán)境中構(gòu)建和運(yùn)行可擴(kuò)展的應(yīng)用程序,容器、服務(wù)網(wǎng)格、微服務(wù)、不可變基礎(chǔ)設(shè)施以及聲明性API都是典型例子。這些技術(shù)使松散耦合的系統(tǒng)具有彈性、可管理性和可觀察性,輔以強(qiáng)大的自動(dòng)化,工程師可以最少的工作量進(jìn)行高頻預(yù)測(cè)性更改。”

這一定義范圍相當(dāng)寬泛,但來(lái)定義云原生數(shù)據(jù)庫(kù)還是有些吃力,就如CNCF景觀圖數(shù)據(jù)庫(kù)部分所示:

數(shù)據(jù)庫(kù)只是龐大的云計(jì)算領(lǐng)域中的一小部分

仔細(xì)觀察就會(huì)發(fā)現(xiàn),這里包含各種各樣的產(chǎn)品:如傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)和NoSQL數(shù)據(jù)庫(kù),它們支持各種不同的數(shù)據(jù)模型,包括鍵/值、文檔和圖形。此外還包括現(xiàn)有數(shù)據(jù)庫(kù)之上的分層聚類、查詢或模式管理技術(shù)。這還不包括CNCF領(lǐng)域的其他有關(guān)類別,例如用于數(shù)據(jù)移動(dòng)的流式傳輸和消息傳遞,或用于持久性的云原生存儲(chǔ)。

這些數(shù)據(jù)庫(kù)中哪些是云原生呢?除了專為云設(shè)計(jì)的數(shù)據(jù)庫(kù),是否也包括那些可以適應(yīng)云中工作的數(shù)據(jù)庫(kù)?在比爾·懷爾德 (Bill Wilder) 2012年出版的《云架構(gòu)模式》(Cloud Architecture Patterns)一書(shū)中,他提出了一個(gè)有趣觀點(diǎn),把“云原生”定義為:“任何經(jīng)過(guò)架構(gòu)而能充分利用云平臺(tái)的應(yīng)用程序”。

根據(jù)這個(gè)定義,云原生數(shù)據(jù)庫(kù)就是那些經(jīng)過(guò)架構(gòu),能充分利用底層云基礎(chǔ)設(shè)施的數(shù)據(jù)庫(kù)。但是,這樣定義也會(huì)有爭(zhēng)議。

為什么要關(guān)心數(shù)據(jù)庫(kù)是否是云原生?

或者換個(gè)方式來(lái)問(wèn),云原生數(shù)據(jù)庫(kù)有什么優(yōu)勢(shì)?其中,推動(dòng)云計(jì)算普及的兩個(gè)主要因素包括:成本和上市時(shí)間。

  • 成本——即用即付的能力對(duì)于提高云采用率至關(guān)重要(但不意味著云計(jì)算價(jià)格低廉或成本管理簡(jiǎn)單)。
  • 上市時(shí)間——快速啟動(dòng)基礎(chǔ)設(shè)施以進(jìn)行原型設(shè)計(jì)、開(kāi)發(fā)、測(cè)試和交付新應(yīng)用程序和功能的能力(但不意味著云開(kāi)發(fā)和運(yùn)營(yíng)容易)。

就像堆棧選擇中的其他因素一樣,這些目標(biāo)也適用于數(shù)據(jù)庫(kù)選擇。

云原生數(shù)據(jù)庫(kù)的特征是什么?

現(xiàn)在,我們可以重新審視CNCF的定義,以有助于成本和上市時(shí)間目標(biāo)實(shí)現(xiàn)來(lái)歸納出云原生數(shù)據(jù)庫(kù)的特征:

  • 可擴(kuò)展性——系統(tǒng)必須能夠動(dòng)態(tài)增加容量,以吸收額外的工作負(fù)載。
  • 彈性——必須能夠縮減規(guī)模,以便用戶只為所需資源付費(fèi)。
  • 恢復(fù)能力——系統(tǒng)抵受故障,必須保障不丟失數(shù)據(jù)。
  • 可觀察性——能夠跟蹤活動(dòng),以及運(yùn)行狀況檢查和處理故障轉(zhuǎn)移。
  • 自動(dòng)化——將操作任務(wù)落實(shí)為可重復(fù)邏輯,以降低出錯(cuò)可能。這一特性最難實(shí)現(xiàn),但對(duì)于實(shí)現(xiàn)大規(guī)模高交付速度至關(guān)重要。

云原生數(shù)據(jù)庫(kù)旨在落實(shí)這些要求,這讓它們與那些可以通過(guò)一些調(diào)整部署到云中的數(shù)據(jù)庫(kù)——“云就緒”數(shù)據(jù)庫(kù)區(qū)分開(kāi)來(lái)。

什么最能代表云原生數(shù)據(jù)庫(kù)?

本文以Apache Cassandra?為例來(lái)審視云原生數(shù)據(jù)庫(kù)的定義。雖然Cassandra在開(kāi)發(fā)時(shí)“云原生”一詞尚未普及,但由于受到了公共云基礎(chǔ)設(shè)施的啟發(fā)(例如亞馬遜AWS的Dynamo論文和谷歌公司的BigTable),它在架構(gòu)影響上有許多相似之處。因?yàn)檫@層關(guān)系,Cassandra體現(xiàn)了以下原則:

  • Cassandra通過(guò)添加節(jié)點(diǎn)展示了橫向可擴(kuò)展性,并且可以彈性縮減,以在高峰負(fù)載期之外釋放資源。
  • 在默認(rèn)情況下,Cassandra是一個(gè)AP系統(tǒng),也就是說(shuō),它如CAP定理中所述的那樣優(yōu)先考慮可用性和分區(qū)容錯(cuò)性,而不是一致性。Cassandra的內(nèi)置復(fù)制、無(wú)共享架構(gòu)和自我修復(fù)功能有助于保證彈性。
  • Cassandra節(jié)點(diǎn)公開(kāi)日志記錄、指標(biāo)和查詢跟蹤,從而實(shí)現(xiàn)可觀察性。
  • 自動(dòng)化是Cassandra最具挑戰(zhàn)性的方面,這也是數(shù)據(jù)庫(kù)常碰到的一個(gè)問(wèn)題。

雖然Cassandra集群自動(dòng)化的初始部署比較簡(jiǎn)單,但其他任務(wù)(例如擴(kuò)展或升級(jí))可能非常耗時(shí)且難以自動(dòng)化。畢竟,即使是對(duì)單節(jié)點(diǎn)數(shù)據(jù)庫(kù)操作也很有挑戰(zhàn),許多數(shù)據(jù)庫(kù)管理員也都認(rèn)同這點(diǎn)。幸運(yùn)的是,K8ssandra項(xiàng)目為在Kubernetes上部署Cassandra提供了最佳實(shí)踐,其中包括在交付運(yùn)營(yíng)(“Day 2”)后的自動(dòng)化操作方面取得了重大進(jìn)展。

云原生數(shù)據(jù)庫(kù)是否必須在Kubernetes上運(yùn)行?

有關(guān)Kubernetes,當(dāng)人們談?wù)撛浦械臄?shù)據(jù)庫(kù)時(shí),實(shí)際上是在說(shuō)需要某種存儲(chǔ)的有狀態(tài)工作負(fù)載。但在云計(jì)算世界中,有狀態(tài)是個(gè)麻煩事。數(shù)據(jù)引力相當(dāng)棘手——由于法規(guī)和法律的限制,數(shù)據(jù)可能難以移動(dòng),而且成本可能會(huì)變得非常高昂。

由于最初不是為有狀態(tài)工作負(fù)載而設(shè)計(jì),在開(kāi)始使用Kubernetes部署容器化應(yīng)用程序時(shí),其面臨的挑戰(zhàn)有增無(wú)減。目前出現(xiàn)了推動(dòng)部署數(shù)據(jù)庫(kù)在Kubernetes上運(yùn)行的新趨勢(shì),以在單一平臺(tái)上運(yùn)行整個(gè)堆棧來(lái)最大限度地提升開(kāi)發(fā)和運(yùn)營(yíng)效率。Kubernetes對(duì)云原生數(shù)據(jù)庫(kù)有哪些額外要求呢?

(1)容器化

首先,數(shù)據(jù)庫(kù)必須在容器中運(yùn)行。這聽(tīng)起來(lái)顯而易見(jiàn),但也需要做些工作。存儲(chǔ)必須外部化,內(nèi)存和其他計(jì)算資源必須適當(dāng)調(diào)整,應(yīng)用程序日志和指標(biāo)必須可用于基礎(chǔ)設(shè)施,以進(jìn)行監(jiān)控和日志聚合。

(2)存儲(chǔ)

接下來(lái),需要將數(shù)據(jù)庫(kù)的存儲(chǔ)需求映射到Kubernetes架構(gòu)。每個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)最起碼要提出一個(gè)持久卷聲明,Kubernetes可以使用它來(lái)分配具有適當(dāng)容量和輸入/輸出(I/O)特征的存儲(chǔ)卷。數(shù)據(jù)庫(kù)通常使用Kubernetes狀態(tài)集進(jìn)行部署,這有助于管理存儲(chǔ)卷到pod的映射,并保持一致、可預(yù)測(cè)的身份。

(3)自動(dòng)化操作

最后,需要工具來(lái)管理和自動(dòng)化數(shù)據(jù)庫(kù)操作,這當(dāng)中包括安裝和維護(hù)。通常這由Kubernetes操作員模式實(shí)現(xiàn)。操作員模式本身是一個(gè)控制回路,它觀察Kubernetes資源的狀態(tài),并采取措施以助其實(shí)現(xiàn)。這樣的話,它們就類似于Kubernetes的內(nèi)置控制器,但關(guān)鍵區(qū)別在于它們了解特定域的狀態(tài),從而幫助Kubernetes做出更好決策。

例如,K8ssandra項(xiàng)目使用cass-operator,它定義了一個(gè)名為“Cassandra Datacenter”的Kubernetes自定義資源(CRD),由它來(lái)描述Cassandra集群每個(gè)頂級(jí)故障域的期望狀態(tài)。這比處理有狀態(tài)集或單個(gè)pod的抽象水平更高。

Kubernetes數(shù)據(jù)庫(kù)操作員通常有助于解答以下問(wèn)題:

  • 故障轉(zhuǎn)移期間會(huì)發(fā)生什么?(pod、磁盤、網(wǎng)絡(luò))
  • 向外擴(kuò)展時(shí)會(huì)發(fā)生什么?(pod重新安排)
  • 如何執(zhí)行備份?
  • 如何有效檢測(cè)和預(yù)防故障?
  • 軟件如何升級(jí)?(滾動(dòng)重啟)

結(jié)論

云原生數(shù)據(jù)庫(kù)是按可擴(kuò)展性、彈性、韌性、可觀察性和自動(dòng)化等云原生原則設(shè)計(jì)的數(shù)據(jù)庫(kù)。就如Cassandra所示,自動(dòng)化通常是最終關(guān)卡,但在Kubernetes中運(yùn)行數(shù)據(jù)庫(kù)可以有效助力企業(yè)朝著這一目標(biāo)邁進(jìn)。

原文標(biāo)題:The Search for a Cloud-Native Databaseby,作者:Pieter Humphrey


責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2023-01-26 00:18:53

云原生數(shù)據(jù)庫(kù)云資源

2022-11-14 18:23:06

亞馬遜

2022-02-07 22:55:13

云原生數(shù)據(jù)庫(kù)技術(shù)

2022-05-09 15:54:44

平安科技TiDB云原生

2020-02-25 17:04:05

數(shù)據(jù)庫(kù)云原生分布式

2021-06-23 10:58:07

云計(jì)算云原生阿里云

2021-05-29 16:03:12

阿里云PolarDB數(shù)據(jù)庫(kù)

2021-05-29 11:32:21

阿里云數(shù)據(jù)庫(kù)PolarDB

2022-07-11 11:07:08

亞馬遜云科技數(shù)據(jù)庫(kù)云原生

2022-05-24 14:26:11

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

2021-08-17 09:51:00

云原生數(shù)據(jù)庫(kù)阿里云

2022-07-27 08:12:44

SchemaHero云原生

2022-04-11 10:20:31

數(shù)據(jù)庫(kù)云原生數(shù)據(jù)

2022-12-07 21:28:43

數(shù)據(jù)庫(kù)運(yùn)維云原生

2024-07-04 17:32:24

2021-08-30 09:08:31

云數(shù)據(jù)庫(kù)JavaScriptSDK

2022-06-16 13:39:18

云原生

2019-05-08 20:49:16

阿里云云原生數(shù)據(jù)庫(kù)

2022-09-29 20:47:10

亞馬遜云科技
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品欧美黑人一区二区三区 | 在线视频一区二区三区 | www国产亚洲精品 | 国产日韩一区二区 | av日韩在线播放 | 国产999精品久久久 日本视频一区二区三区 | 91精品国产色综合久久 | 亚洲第一区久久 | 亚洲天堂中文字幕 | 99精品亚洲国产精品久久不卡 | 免费一级毛片 | 成人免费视频网站 | 国产精品99| 免费的黄色片子 | 亚洲香蕉| 日韩精品成人 | 国产乱码一区 | 免费观看a级毛片在线播放 黄网站免费入口 | 国产精品7777777| 久久久99国产精品免费 | 亚洲欧美一区二区三区在线 | 国产一级免费在线观看 | 国产精品久久久久久久毛片 | 综合久久99| 午夜国产羞羞视频免费网站 | aa级毛片毛片免费观看久 | 精品一二区 | 91啪影院 | 亚洲av一级毛片 | 伊人一区| 成人在线欧美 | 亚洲精品中文在线观看 | 欧美日韩一区二区在线 | 国产精品自拍视频 | 亚洲狠狠丁香婷婷综合久久久 | 国产欧美一区二区三区久久 | 亚洲永久精品国产 | 天天拍天天插 | 欧美黄色一区 | 一本色道精品久久一区二区三区 | 日韩在线一区二区三区 |