吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ShardingSphere的框架及應用解決方案

牽手一起夢 ? 來源:IT168網(wǎng)站 ? 作者:李雪薇 ? 2020-09-10 15:29 ? 次閱讀

一、NewSQL的概念

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

提及SQL,很多朋友最先想到的就是MySQL數(shù)據(jù)庫和PostgreSQL數(shù)據(jù)庫。對我們來說,它其實一個單點、很可靠,有ACID事務,也有查詢語言的關系型數(shù)據(jù)庫。其中,ACID事務和查詢語言是我們最關心的兩點。

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

那么就有人提出來了,我能不能既可以擁有像SQL的關系模型,擁有它的ACID事務,同時還擁有像NoSQL的擴展性、彈性伸縮,以及高可用性。于是,NewSQL應運而生,它最開始的定義就叫做Scalability SQL。

在分布式的場景中,沒有辦法同時保證Consistency(一致性)和Availability(可用性),以及分區(qū)的容錯性。CAP原則就是,你只能保證整個系統(tǒng)更關注于強一致性,或者高可用性。

ShardingSphere的框架及應用解決方案

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

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

二、Apache ShardingSphere的架構

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

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

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

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

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

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

三、功能介紹

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

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

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

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

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

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

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

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

當存儲系統(tǒng)或者性能不夠的時候,數(shù)據(jù)庫就要通過Scaling(遷移平臺)進行Scale out(擴展)。目標不是放在提高單機性能上,而是要做成分布式,多個機器來解決。

四、社區(qū)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    dotConnect:基于ADO.NET架構的增強型數(shù)據(jù)連接解決方案

    dotConnect是一個基于ADO.NET架構的增強型數(shù)據(jù)連接解決方案,是一個采用了大量創(chuàng)新技術的開發(fā)框架。dotConnect是一款適用于主要數(shù)據(jù)庫和流行云應用程序的高性能數(shù)據(jù)提供程序,為開發(fā)
    的頭像 發(fā)表于 01-07 11:07 ?138次閱讀
    dotConnect:基于ADO.NET架構的增強型數(shù)據(jù)連接<b class='flag-5'>解決方案</b>

    鴻蒙原生頁面高性能解決方案上線OpenHarmony社區(qū) 助力打造高性能原生應用

    。 HMrouter:簡化頁面跳轉邏輯HMrouter是HarmonyOS NEXT出色的路由框架解決方案,專注于優(yōu)化應用內原生頁面跳轉邏輯,它封裝系統(tǒng) Navigation,集成
    發(fā)表于 01-02 18:00

    SSM開發(fā)中的常見問題及解決方案

    在SSM(Spring + Spring MVC + MyBatis)框架的開發(fā)過程中,開發(fā)者可能會遇到一些常見問題。以下是對這些問題的詳細分析以及相應的解決方案: 一、配置文件問題 問題描述
    的頭像 發(fā)表于 12-17 09:16 ?560次閱讀

    SSM框架的優(yōu)缺點分析 SSM在移動端開發(fā)中的應用

    :Spring框架是企業(yè)型開發(fā)使用的成熟的開源框架,能夠節(jié)省成本。SSM框架使用起來更加輕快,能夠更合理地分配資源,使用最小的資源完成當前的需求。 節(jié)省開發(fā)時間 :SSM框架采用典型
    的頭像 發(fā)表于 12-16 18:18 ?765次閱讀

    晶科儲能與嘉實多簽署戰(zhàn)略合作框架協(xié)議

    全球領先的儲能解決方案供應商晶科儲能與嘉實多今日宣布,雙方已簽署戰(zhàn)略合作框架協(xié)議,旨在通過資源共享和技術創(chuàng)新,共同推進儲能領域的研發(fā)與應用。
    的頭像 發(fā)表于 11-21 11:15 ?355次閱讀

    解決方案】港口船舶岸電綜合能效解決方案

    解決方案】港口船舶岸電綜合能效解決方案
    的頭像 發(fā)表于 11-14 01:02 ?222次閱讀
    【<b class='flag-5'>解決方案</b>】港口船舶岸電綜合能效<b class='flag-5'>解決方案</b>

    智慧燈桿解決方案

    智慧燈桿解決方案
    的頭像 發(fā)表于 11-11 08:34 ?254次閱讀
    智慧燈桿<b class='flag-5'>解決方案</b>

    解決方案】智慧用電解決方案

    解決方案】智慧用電解決方案
    的頭像 發(fā)表于 11-11 01:00 ?173次閱讀
    【<b class='flag-5'>解決方案</b>】智慧用電<b class='flag-5'>解決方案</b>

    解決方案 | 基于TSMaster的平板電腦解決方案

    Tosun基于TSMaster的平板電腦解決方案基于TSMaster的平板電腦是一款集成了TSMaster軟件平臺和多種總線分析硬件工具的綜合產(chǎn)品,旨在充分發(fā)揮同星自主研發(fā)的技術優(yōu)勢,解決實車路試
    的頭像 發(fā)表于 11-10 01:02 ?686次閱讀
    <b class='flag-5'>解決方案</b> | 基于TSMaster的平板電腦<b class='flag-5'>解決方案</b>

    智慧路燈桿總體解決方案 智能智慧路燈屏燈桿屏解決方案

    智慧路燈桿總體解決方案 智能智慧路燈屏燈桿屏解決方案
    的頭像 發(fā)表于 10-11 09:30 ?536次閱讀
    智慧路燈桿總體<b class='flag-5'>解決方案</b> 智能智慧路燈屏燈桿屏<b class='flag-5'>解決方案</b>

    揭秘動態(tài)化跨端框架在鴻蒙系統(tǒng)下的高性能解決方案

    平臺解決方案。 在研發(fā)團隊使用后可大幅降低研發(fā)人力成本;為業(yè)務提供實時觸達、A/B觸達等能力以提升業(yè)務投放效率;同時保障了C端用戶優(yōu)秀的用戶體驗。 一、動態(tài)化跨端框架原理介紹 ? ? ? ? ? 通過上圖,我們先了解一下動態(tài)化跨端框架
    的頭像 發(fā)表于 10-08 13:46 ?978次閱讀
    揭秘動態(tài)化跨端<b class='flag-5'>框架</b>在鴻蒙系統(tǒng)下的高性能<b class='flag-5'>解決方案</b>

    BCM中的開關檢測:集成MSDI解決方案與半分立解決方案

    電子發(fā)燒友網(wǎng)站提供《BCM中的開關檢測:集成MSDI解決方案與半分立解決方案.pdf》資料免費下載
    發(fā)表于 09-20 09:08 ?1次下載
    BCM中的開關檢測:集成MSDI<b class='flag-5'>解決方案</b>與半分立<b class='flag-5'>解決方案</b>

    工大高科與科大訊飛簽訂戰(zhàn)略合作框架協(xié)議

    近日,工大高科與科大訊飛正式簽署戰(zhàn)略合作框架協(xié)議,共同致力于智能化礦山的建設與發(fā)展。根據(jù)協(xié)議,雙方將深度合作,共同研發(fā)和應用前沿的智能礦山解決方案
    的頭像 發(fā)表于 05-20 11:23 ?546次閱讀

    多端口能量路由實時控制仿真系統(tǒng)解決方案

    RCP多端口設備電力電子教學產(chǎn)品結合CBox設備,通過MATLAB及相關硬件的模塊化設計,為解決教學內容復雜、理論與實際脫節(jié)等問題提供了一種創(chuàng)新的解決方案。 RCP多端口設備可實現(xiàn)幾乎大部分經(jīng)典電力
    發(fā)表于 05-10 11:05

    智能音箱解決方案

    智能音箱解決方案
    的頭像 發(fā)表于 05-09 09:37 ?712次閱讀
    智能音箱<b class='flag-5'>解決方案</b>
    百家乐游戏机的玩法| 百家乐10法则| 磴口县| LV百家乐客户端LV| 全景网百家乐官网的玩法技巧和规则 | 百家乐官网开户送8彩金| 大发888游戏客户端| 百家乐视频游戏官网| 百家乐官网赌场走势图| 澳门威尼斯人娱乐| 百家乐代理| 大发888电话客服| 百家乐筹码套装| 百家乐官网游戏什么时间容易出| 百家乐官网庄和闲的赌法| 哪家百家乐优惠最好且信誉不错| 百家乐最全打法| 娱乐城百家乐官网可以代理吗| 線上投注| 水果机游戏在线玩| 沙龙百家乐娱乐平台| 百家乐游戏看路| 百家乐官网强弱走势图| 博九百家乐官网游戏| 香港六合彩白小姐图库| 幸运水果机下载| 香港百家乐赌城| 百家乐官网号论坛博彩正网| 巴楚县| 998棋牌游戏| 金逸太阳城团购| 真人百家乐博弈| 澳门百家乐真人娱乐城| 百家乐官网平注法口诀技巧| 百家乐官网冯耕耘打法| 二八杠口诀| 大丰收娱乐城官网| 大发888娱乐游戏博彩| 定制百家乐桌子| 3U百家乐的玩法技巧和规则| 百家乐扫描技术|