日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

【IT168評(píng)論】近些年NewSQL概念盛行,國(guó)內(nèi)外各大公司對(duì)NewSQL都有著不同的解讀。本次ITPUB技術(shù)棧線上沙龍2020上,京東數(shù)科高級(jí)DBA潘娟分享了有關(guān)NewSQL理念、國(guó)內(nèi)外產(chǎn)品架構(gòu)的解讀,以及Apache ShardingSphere的架構(gòu)、特性、規(guī)劃、開(kāi)源社區(qū)。

NewSQL角度看Apache ShardingSphere

 

  ▲京東數(shù)科高級(jí)DBA&Apache ShardingSphere PMC 潘娟

  嘉賓簡(jiǎn)介:主要負(fù)責(zé)京東數(shù)科分布式數(shù)據(jù)庫(kù)開(kāi)發(fā)、數(shù)據(jù)庫(kù)運(yùn)維自動(dòng)化平臺(tái)開(kāi)發(fā)等工作。曾負(fù)責(zé)京東數(shù)科數(shù)據(jù)庫(kù)自動(dòng)化平臺(tái)設(shè)計(jì)與開(kāi)發(fā),現(xiàn)專(zhuān)注于Apache ShardingSphere分布式數(shù)據(jù)庫(kù)中間件平臺(tái)的開(kāi)發(fā)。主要在分布式數(shù)據(jù)庫(kù)、開(kāi)源、分布式架構(gòu)等相關(guān)領(lǐng)域進(jìn)行探索。多次受邀參加數(shù)據(jù)庫(kù)&架構(gòu)領(lǐng)域的相關(guān)會(huì)議并進(jìn)行分享交流。

  一、NewSQL的概念

  NewSQL的概念,最開(kāi)始來(lái)源于國(guó)外的一份商業(yè)分析報(bào)告。它是各種新的可擴(kuò)展/高性能數(shù)據(jù)庫(kù)的簡(jiǎn)稱(chēng),這類(lèi)數(shù)據(jù)庫(kù)不僅具有NoSQL海量數(shù)據(jù)的存儲(chǔ)管理能力,還保持了傳統(tǒng)數(shù)據(jù)庫(kù)支持ACID和SQL等特性。

  提及SQL,很多朋友最先想到的就是MySQL數(shù)據(jù)庫(kù)和PostgreSQL數(shù)據(jù)庫(kù)。對(duì)我們來(lái)說(shuō),它其實(shí)一個(gè)單點(diǎn)、很可靠,有ACID事務(wù),也有查詢(xún)語(yǔ)言的關(guān)系型數(shù)據(jù)庫(kù)。其中,ACID事務(wù)和查詢(xún)語(yǔ)言是我們最關(guān)心的兩點(diǎn)。

  伴隨互聯(lián)網(wǎng)的蓬勃發(fā)展,數(shù)據(jù)量的持續(xù)膨脹,NoSQL出現(xiàn)了。NoSQL泛指非關(guān)系型數(shù)據(jù)庫(kù),具備Scalability(擴(kuò)展性)和Resilience(彈性)。擴(kuò)展性是指可以無(wú)限的把一個(gè)單點(diǎn)變成一個(gè)集群,從而提升整個(gè)系統(tǒng)的可用性。彈性保證了在宕機(jī)集群崩潰后,數(shù)據(jù)的自動(dòng)修復(fù)且上層業(yè)務(wù)無(wú)感知。

  那么就有人提出來(lái)了,我能不能既可以擁有像SQL的關(guān)系模型,擁有它的ACID事務(wù),同時(shí)還擁有像NoSQL的擴(kuò)展性、彈性伸縮,以及高可用性。于是,NewSQL應(yīng)運(yùn)而生,它最開(kāi)始的定義就叫做Scalability SQL。

  在分布式的場(chǎng)景中,沒(méi)有辦法同時(shí)保證Consistency(一致性)和Availability(可用性),以及分區(qū)的容錯(cuò)性。CAP原則就是,你只能保證整個(gè)系統(tǒng)更關(guān)注于強(qiáng)一致性,或者高可用性。

NewSQL角度看Apache ShardingSphere

 

  綜上所述,NewSQL是為了綜合SQL和NoSQL的特性。它的存在并不是完全顛覆了CAP理論,而是需要基于這套理論,根據(jù)我們自身的實(shí)際情況,選擇一個(gè)Consistency和Availability之間的平衡點(diǎn)。

  對(duì)于用戶(hù)來(lái)說(shuō),NewSQL其實(shí)就是A single logical DB,即單個(gè)邏輯數(shù)據(jù)庫(kù)。從開(kāi)發(fā)的角度,NewSQL具有New Architecture(新架構(gòu))、Transparent Sharding(透明化分片中間件)、Database as a Service(云數(shù)據(jù)庫(kù))三種形態(tài)。

  二、Apache ShardingSphere的架構(gòu)

  Apache ShardingSphere是一套開(kāi)源的分布式數(shù)據(jù)庫(kù)中間件解決方案組成的生態(tài)圈,它由JDBC、Proxy和Sidecar(規(guī)劃中)這3款相互獨(dú)立,卻又能夠混合部署配合使用的產(chǎn)品組成。它們均提供標(biāo)準(zhǔn)化的數(shù)據(jù)分片、分布式事務(wù)和數(shù)據(jù)庫(kù)治理功能,可適用于JAVA同構(gòu)、異構(gòu)語(yǔ)言、云原生等各種多樣化的應(yīng)用場(chǎng)景。

  Apache ShardingSphere定位為關(guān)系型數(shù)據(jù)庫(kù)中間件,旨在充分合理地在分布式的場(chǎng)景下利用關(guān)系型數(shù)據(jù)庫(kù)的計(jì)算和存儲(chǔ)能力,而并非實(shí)現(xiàn)一個(gè)全新的關(guān)系型數(shù)據(jù)庫(kù)。Apache ShardingSphere目前已提供數(shù)十個(gè)SPI作為系統(tǒng)的擴(kuò)展點(diǎn),仍在不斷增加中。

NewSQL角度看Apache ShardingSphere

 

  如上圖所示,這是Apache ShardingSphere最新的部署框架。Apache ShardingSphere最開(kāi)始定位于NewSQL的中間件,后面它的盤(pán)子越來(lái)越大,逐漸超越了中間件的范疇,但又未達(dá)到新架構(gòu)的范疇,處在一個(gè)中間的狀態(tài)。

  首先,中間件的數(shù)據(jù)庫(kù)集群,可能有自己的主庫(kù)或者從庫(kù),包括同步、復(fù)制、備份等都是靠MySQL或者PG數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)的。

  其次,用戶(hù)真正能夠接觸三個(gè)產(chǎn)品,第一個(gè)產(chǎn)品叫ShardingSphere-JDBC,它定位為輕量級(jí)Java框架,在Java的JDBC層提供的額外服務(wù)。它具備解析SQL、分片管理、分布式事務(wù),脫敏等功能。

  第二個(gè)產(chǎn)品叫ShardingSphere-Proxy,定位為透明化的數(shù)據(jù)庫(kù)代理端,提供封裝了數(shù)據(jù)庫(kù)二進(jìn)制協(xié)議的服務(wù)端版本,用于完成對(duì)異構(gòu)語(yǔ)言的支持。適用于任何兼容MySQL/PostgreSQL協(xié)議的的客戶(hù)端,可以管理數(shù)據(jù)庫(kù)集群。

  三、功能介紹

  仔細(xì)觀察ShardingSphere的框架,我們不難發(fā)現(xiàn)中間件左側(cè)的Sharding-Scaling,它是一個(gè)提供給用戶(hù)的通用的ShardingSphere數(shù)據(jù)接入遷移,及彈性伸縮的調(diào)度平臺(tái)。

  JDBC的核心功能就是Orchestration,即編排治理,配置集中化與動(dòng)態(tài)化、數(shù)據(jù)治理。ShardingSphere提供了界面治理模塊——Sharding-UI,可以快速維護(hù)Sharding-Proxy集群,方便用戶(hù)一鍵式的操作。

NewSQL角度看Apache ShardingSphere

 

  如上圖所示,從研發(fā)的角度來(lái)看Apache ShardingSphere的框架,最上面的接入端有JDBC和Proxy,中間層的核心功能是數(shù)據(jù)分片、分布式事務(wù)、數(shù)據(jù)庫(kù)治理,最下層是數(shù)據(jù)庫(kù)集群。

NewSQL角度看Apache ShardingSphere

 

  其實(shí),Sharding是Apache ShardingSphere的立足之本。除了分庫(kù)分表,它還還支持Encrypt(脫敏)和Shadow(影子庫(kù)),所有壓測(cè)的數(shù)據(jù)都會(huì)分配的影子庫(kù)中。Sharding最核心的還是底層四個(gè)模塊來(lái)做支撐。

  我們必須要解析SQL,才能理解用戶(hù)需要什么。Parser(解析器)已經(jīng)重構(gòu)過(guò)很多遍,為了實(shí)現(xiàn)自主可控,保證高效性和正確性。除此之外,Router代表著路由,Rewriter改寫(xiě)一些SQL,Executor做并行的控制,提高整體效率。

NewSQL角度看Apache ShardingSphere

 

  分布式事務(wù)主要有兩個(gè)方面,ACID強(qiáng)一致性事務(wù)和BASE柔性事務(wù)。值得一提的是,ShardingSphere分為自研的分布式數(shù)據(jù)庫(kù)(DTX)、對(duì)接其他公司的解決方案兩部分。對(duì)于用戶(hù)來(lái)說(shuō),他無(wú)需過(guò)多了解ShardingSphere,就可以擁有多種分布式事務(wù)的選型,這其實(shí)是一種非常有意思的方式。

NewSQL角度看Apache ShardingSphere

 

  ShardingSphere不只是一個(gè)分布式數(shù)據(jù)庫(kù)的原因在于,它的Orchestration模塊提供了很多功能,比如在線變更、分片規(guī)則的在線推送,以及限流和熔斷等。用戶(hù)在了解分片的基礎(chǔ)上,可以慢慢去探索這個(gè)開(kāi)放生態(tài),找到自己想要的功能。

  潘娟強(qiáng)調(diào)道,分庫(kù)分表、強(qiáng)一致事務(wù)、柔性事務(wù)、分布式治理、可視化鏈路追蹤、讀寫(xiě)分離等所有的功能都是可以組合在一起的。完全的自由組合,從而形成一個(gè)只滿足公司所需要的產(chǎn)品。

NewSQL角度看Apache ShardingSphere

 

  當(dāng)存儲(chǔ)系統(tǒng)或者性能不夠的時(shí)候,數(shù)據(jù)庫(kù)就要通過(guò)Scaling(遷移平臺(tái))進(jìn)行Scale out(擴(kuò)展)。目標(biāo)不是放在提高單機(jī)性能上,而是要做成分布式,多個(gè)機(jī)器來(lái)解決。

  四、社區(qū)

NewSQL角度看Apache ShardingSphere

 

  如果您有任何關(guān)于NewSQL的問(wèn)題,可以在Github或者郵件給我們留言交流。上圖是Apache ShardingSphere的用戶(hù)墻,只截取了一部分,了解更多可點(diǎn)擊https://shardingsphere.apache.org/community/cn/users/。

分享到:
標(biāo)簽:Apache
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定