![]() |
新聞中心
當(dāng)前位置:網(wǎng)站首頁(yè) > 新聞中心
你應(yīng)該使用哪個(gè)云數(shù)據(jù)庫(kù)?
云計(jì)算的基本原則是采用一次性和可更換的多臺(tái)機(jī)器,這對(duì)采用云計(jì)算技術(shù)以及在云中實(shí)施的數(shù)據(jù)庫(kù)系統(tǒng)的功能有直接影響。
傳統(tǒng)數(shù)據(jù)庫(kù)大致可以分為并行優(yōu)先(例如MongoDB或Teradata)或單存儲(chǔ)系統(tǒng)優(yōu)先(例如PostgreSQL或MySQL)。這兩個(gè)類別都有其核心設(shè)計(jì)固有的局限性。這些限制的程度部分是成熟度的函數(shù)。但是,對(duì)于某些核心架構(gòu)決策來說,可能無法有效支持特定功能。
例如,Greenplum有序列,但Redshift沒有,盡管這兩者都是PostgreSQL的衍生物。而BigQuery沒有序列,但Teradata有序列,盡管在傳統(tǒng)意義上它們并不是真正的序列。
云數(shù)據(jù)庫(kù)屬于相同的類別,而新系統(tǒng)明顯傾向于并行優(yōu)先。云計(jì)算系統(tǒng)的基本屬性是機(jī)器的可擴(kuò)展性和可替換性的并行性。
在單系統(tǒng)優(yōu)先類別中,云計(jì)算實(shí)例化往往側(cè)重于傳統(tǒng)單機(jī)產(chǎn)品的管理成本、升級(jí)和可靠性(RPO/RTO),例如Heroku PostgreSQL、Amazon Aurora(PostgreSQL/MySQL)、Google cloud SQL(PostgreSQL/MySQL)和Azure SQL(SQL Server)。
在并行優(yōu)先類別中,實(shí)際上有兩個(gè)子類別:SQL/關(guān)系類別(BigQuery、Snowflake、Redshift、Spark、AzureSynapse)和DHT/NoSQL(BigTable、Dynamo、Cassandra、Redis)類別。這種區(qū)別與是否存在類似SQL的語言關(guān)系不大,而與系統(tǒng)中數(shù)據(jù)的物理布局是否經(jīng)過調(diào)整以便通過散列快速查找鍵進(jìn)行單行訪問,或者使用排序合并和篩選操作進(jìn)行批量訪問有關(guān)。
并行優(yōu)先關(guān)系數(shù)據(jù)庫(kù)通常依賴于一個(gè)或多個(gè)原生云存儲(chǔ)系統(tǒng)。這些存儲(chǔ)系統(tǒng)總是并行優(yōu)先構(gòu)建,并公開一個(gè)非常有限的get-object/put-object API,它通常允許對(duì)數(shù)據(jù)進(jìn)行分區(qū),但不允許高性能隨機(jī)訪問。這限制了數(shù)據(jù)庫(kù)實(shí)現(xiàn)高級(jí)持久數(shù)據(jù)結(jié)構(gòu)(例如索引),在許多情況下,還限制了可變數(shù)據(jù)的能力。
因此,使用原生存儲(chǔ)的云計(jì)算實(shí)現(xiàn)往往依賴于微分區(qū)的順序讀寫而不是索引。根據(jù)對(duì)象名稱,存儲(chǔ)級(jí)對(duì)象往往只有一條物理訪問路徑。索引必須在底層存儲(chǔ)的外部實(shí)現(xiàn),即使這樣做了,底層云存儲(chǔ)API也可能使在存儲(chǔ)級(jí)別對(duì)象中實(shí)際使用地址或字節(jié)偏移量變得困難。
云計(jì)算的優(yōu)點(diǎn)
(1) 云平臺(tái)是為用戶管理的基礎(chǔ)設(shè)施。
在云中,部署、可靠性和管理是用戶關(guān)注的問題。從電源、軟件安裝和硬件到操作系統(tǒng)管理和安全(從加固到入侵檢測(cè))的堆棧的所有層都由云計(jì)算供應(yīng)商管理。
云計(jì)算供應(yīng)商免費(fèi)試用產(chǎn)品的便利性可以幫助用戶啟動(dòng)并運(yùn)行初始實(shí)驗(yàn),然后在需要時(shí)擴(kuò)展到大規(guī)模,這在傳統(tǒng)的內(nèi)部部署系統(tǒng)中是困難的。
另一個(gè)好處是云計(jì)算供應(yīng)商提供了許多標(biāo)準(zhǔn)化流程來與第三方SaaS產(chǎn)品集成。其結(jié)果是云計(jì)算供應(yīng)商讓基礎(chǔ)設(shè)施成為別人的問題,因此用戶可以專注于其核心業(yè)務(wù)。
(2) 效率。
云計(jì)算可以最大化資源利用率。與非云系統(tǒng)相比,云計(jì)算系統(tǒng)向數(shù)據(jù)庫(kù)應(yīng)用程序公開資源利用控制要常見得多。云計(jì)算技術(shù)可以平滑負(fù)載,將其移動(dòng)到低需求的時(shí)間段,并且可以優(yōu)先考慮交互式和關(guān)鍵業(yè)務(wù)作業(yè)。
當(dāng)然,云計(jì)算供應(yīng)商可以利用大規(guī)模采購(gòu)的效率、負(fù)載共享和極高的利用率。僅這些規(guī)模參數(shù)就可以成為遷移到云平臺(tái)的理由。更不用說使用供應(yīng)商的專業(yè)知識(shí)進(jìn)行強(qiáng)化和入侵檢測(cè)的好處了。
與規(guī)模密切相關(guān)的是云計(jì)算供應(yīng)商能夠以低廉的價(jià)格提供被動(dòng)存儲(chǔ),這使得無論是出于實(shí)驗(yàn)或分析原因,還是出于備份或?qū)徲?jì),更容易保留更長(zhǎng)的歷史數(shù)據(jù)窗口,并且更加經(jīng)濟(jì)高效地實(shí)施時(shí)間旅行等功能,可以從歷史角度檢查數(shù)據(jù)。
當(dāng)然,繁重的數(shù)據(jù)處理負(fù)載可以通過使用云計(jì)算供應(yīng)商的規(guī)模臨時(shí)向外擴(kuò)展來解決,當(dāng)然用戶會(huì)為此付出代價(jià)。
(3) 經(jīng)濟(jì)性。
除了規(guī)模和效率的經(jīng)濟(jì)性之外,云計(jì)算供應(yīng)商的會(huì)計(jì)機(jī)制傾向于將存儲(chǔ)和處理的成本數(shù)據(jù)暴露到單個(gè)查詢級(jí)別。這允許用戶對(duì)任何給定分析的成本收益做出合理的商業(yè)決策,并相應(yīng)地做出優(yōu)化決策。事實(shí)上,有時(shí)用戶可能會(huì)決定通過擴(kuò)展云計(jì)算規(guī)模來擴(kuò)大和簡(jiǎn)化分析的結(jié)構(gòu),而不是花費(fèi)時(shí)間和精力來塑造一個(gè)“穩(wěn)健的分析”,這可能更便宜、更準(zhǔn)確。
云計(jì)算的弱點(diǎn)
(1) 云平臺(tái)是為用戶管理的基礎(chǔ)設(shè)施。
云計(jì)算具有一組與大型機(jī)截然不同的故障域。云平臺(tái)上的分布式計(jì)算是共享的基礎(chǔ)設(shè)施(計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)),這可能會(huì)受到更多的干擾,其中任何一個(gè)故障都可能導(dǎo)致交互性失敗或暫時(shí)性工作失敗。在極少數(shù)情況下,即使是云計(jì)算供應(yīng)商的自動(dòng)化管理也會(huì)通過更改系統(tǒng)的屬性或行為對(duì)客戶體驗(yàn)產(chǎn)生負(fù)面影響。
(2) 效率。
與傳統(tǒng)的內(nèi)部部署系統(tǒng)相比,大多數(shù)云計(jì)算數(shù)據(jù)庫(kù)仍然不成熟。云數(shù)據(jù)庫(kù)缺乏更成熟產(chǎn)品的特性。有些功能可能永遠(yuǎn)不會(huì)被引入,因?yàn)橥耆植际?、易發(fā)生故障的平臺(tái)的概念使它們不切實(shí)際。
許多基于云的并行關(guān)系系統(tǒng)對(duì)于特定的數(shù)據(jù)庫(kù)變異(INSERT、UPDATE、DELETE)操作的效率顯著降低,這在某些用例中可能會(huì)導(dǎo)致問題。
當(dāng)然,云計(jì)算與內(nèi)部部署系統(tǒng)或托管在其他云平臺(tái)中的系統(tǒng)之間的額外延遲往往會(huì)迫使云計(jì)算基礎(chǔ)設(shè)施整合。用戶往往被迫首先選擇地理位置和云計(jì)算供應(yīng)商,然后實(shí)際上僅限于其云計(jì)算供應(yīng)商提供的服務(wù)。
(3) 經(jīng)濟(jì)性。
云計(jì)算的成本遵循與內(nèi)部部署截然不同的曲線:擴(kuò)展容量非常容易??刂瞥杀咀兊酶永щy。另一方面,如果成本有上限的話,則在達(dá)到成本上限后提交的交互式作業(yè)可能會(huì)被拒絕。這增加了一層復(fù)雜性,傳統(tǒng)數(shù)據(jù)庫(kù)管理員需要學(xué)習(xí)這些知識(shí)才能創(chuàng)建成功的部署。
當(dāng)然,被云計(jì)算供應(yīng)商鎖定對(duì)于企業(yè)來說很普遍。云平臺(tái)之間的遷移并不比內(nèi)部部署系統(tǒng)之間的遷移容易。
用戶有如此多的產(chǎn)品可供選擇,但并沒有一種產(chǎn)品具有所有功能。最重要的第一步是確定所有必需工作流的基本屬性或行為,并確保所選的云計(jì)算供應(yīng)商有能力提供這些服務(wù),而每個(gè)行為可能來自不同但至少弱集成的產(chǎn)品。因此不要期望像Oracle公司或Teradata公司提供的產(chǎn)品提供“一切”服務(wù)。
作者:陶然? 來源:IT168網(wǎng)站
|