阿里云PolarDB-X(開源版)從入門到實戰(zhàn)-_第1頁
阿里云PolarDB-X(開源版)從入門到實戰(zhàn)-_第2頁
阿里云PolarDB-X(開源版)從入門到實戰(zhàn)-_第3頁
阿里云PolarDB-X(開源版)從入門到實戰(zhàn)-_第4頁
阿里云PolarDB-X(開源版)從入門到實戰(zhàn)-_第5頁
已閱讀5頁,還剩231頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

方能夠識別阿里云和/或其關(guān)聯(lián)公司)。格式說明樣例ΔΔ危險Δ危險警告警告說明說明>單擊設(shè)置>網(wǎng)絡(luò)>設(shè)置網(wǎng)絡(luò)類型。粗體在結(jié)果確認頁面,單擊確定。1.PolarDB-X數(shù)據(jù)庫概述061.2.PolarDB-X產(chǎn)品架構(gòu)2.一鍵安裝部署PolarDB-X122.1.使用Docker鏡像安裝部署PolarDB-X2.2.(可選)使用PXD工具一鍵安裝PolarDB-X172.3.(可選)使用Kubernetes安裝PolarDB-X202.4.(可選)使用源碼編譯安裝PolarDB-X233.使用PolarDB-X開發(fā)應(yīng)用253.1.安裝PolarDB-X和JDK3.1.2.第2步:登錄PolarDB-X253.2.體驗SpringBoot+PolarDB-X應(yīng)用開發(fā)263.3.體驗WordPress+PolarDB-X部署博客站點333.4.PolarDB-X應(yīng)用開發(fā)最佳實踐383.4.2.透明分布式最佳實踐424.數(shù)據(jù)導入與導出544.2.GlobalBinlog544.3.PolarDB-XReplica614.4.相關(guān)資料625.PolarDB-X集群運維645.1.2.第2步:使用PolarDB-XOperator安裝PolarDB-X5.1.3.第3步:體驗PolarDB-X集群擴容5.1.4.第4步:體驗PolarDB-X集群縮容5.2.升配和降配5.3.備份恢復(fù)775.4.數(shù)據(jù)庫監(jiān)控795.5.SQL限流和SQLAdvisor805.5.1.第1步:連接PolarDB-X集群845.5.2.第2步:啟動業(yè)務(wù)855.5.3.第3步:體驗SQL限流和SQLAdvisor906.分布式事務(wù)與數(shù)據(jù)分區(qū)6.2.數(shù)據(jù)分區(qū)977.4.2.第2步:使用PolarDB-XOperator安裝PolarDB-X1117.4.3.第3步:連接PolarDB-X集群1157.4.4.第4步:啟動業(yè)務(wù)7.4.5.第5步:體驗PolarDB-X高可用能力1208.常見問題解答1271.PolarDB-X數(shù)據(jù)庫概述水平擴展和數(shù)據(jù)分片動態(tài)調(diào)度,實現(xiàn)系統(tǒng)的透明水平擴展。分布式事務(wù)混合負載HTAP統(tǒng)的數(shù)據(jù)存儲成本。企業(yè)級云原生高可用通過多數(shù)派Paxos協(xié)議實現(xiàn)數(shù)據(jù)強一致,兼容MySQL系統(tǒng)及生態(tài)1.1.PolarDB-X發(fā)展歷史2009年,阿里巴巴在進行年度收支核算時,發(fā)現(xiàn)業(yè)務(wù)長之間產(chǎn)生鴻溝。此時的阿里巴巴清晰的意識到,如果不通過技術(shù)創(chuàng)新平衡成本和增長需求,必將對未來發(fā)TDDL階段關(guān)鍵字:阿里巴巴大規(guī)模應(yīng)用;分庫分表技術(shù)開創(chuàng)者去掉傳統(tǒng)商業(yè)數(shù)據(jù)庫后,是否有更適合的產(chǎn)品和解決方案來替代呢?庫應(yīng)用在高并發(fā)交易系統(tǒng)的先河。應(yīng)用按需制定拆分策略的同時,解決了彈性擴容、本地高可用等企業(yè)應(yīng)與此同時,阿里巴巴分布式數(shù)據(jù)庫的商業(yè)化進程悄然啟動。DRDS階段關(guān)鍵字:云端商業(yè)化;高性能SQL引擎一直在不斷努力提升單位資源的處理能力,以求最大限度幫助客戶降本增效。數(shù)計算的支持等。及從分布式數(shù)據(jù)庫中間件到分布式數(shù)據(jù)庫系統(tǒng)實質(zhì)性跨越。PolarDB-X1.0階段關(guān)鍵字:架構(gòu)與品牌升級;國計民生項目目,積極投入我國信息系統(tǒng)基礎(chǔ)設(shè)施數(shù)字化名片級產(chǎn)品。PolarDB-X2.0階段關(guān)鍵字:透明分布式、開源PolarDB-X2.0是阿里巴巴分布式數(shù)據(jù)1.2.PolarDB-X產(chǎn)品架構(gòu).元數(shù)據(jù)服務(wù)(GMS,GlobalMetaService)組件名稱galaxysql元數(shù)據(jù)服務(wù)(GMS,GlobalMegalaxyenginegalaxyenginegalaxycdc私有協(xié)議galaxygluegalaxykube1.3.PolarDB-X適用場景金融級高可靠場景基于X-Paxos實現(xiàn)的數(shù)據(jù)三副本強一致,讓業(yè)務(wù)輕松具備跨多可用區(qū)的高可用與容災(zāi)能力。海量數(shù)據(jù)歸集場景超高并發(fā)訪問場景HTAP混合負載場景1.4.如何聯(lián)系我們.開源版官網(wǎng):X2.一鍵安裝部署PolarDB-X說明本節(jié)實驗操作部分主要通過阿里云官方網(wǎng)站的云起實驗室進行,詳情可登錄阿里云官方網(wǎng)站,訪問如何2.1.使用Docker鏡像安裝部署PolarDB-X背景信息操作步驟i.在實驗室頁面,單擊創(chuàng)建資源。說明ii.(可選)在實驗室頁面左側(cè)導航欄中,單擊云產(chǎn)品資源列表,可查看本次實驗資源相關(guān)信息(例Xdockerdockerpullpolardbx/poldockerdockerrun-d--namesome-polardb-x-Xmysqlmysql-h-P8527-upolardbx_root-說明nitialcommunicationpacket',systemerrocreatecreatedatabasepolarx_examplemode='auto';說明Xcreatecreatetableexample(、id、bigint(11)auto_incrementNOTNULL,、name、varchar(255)DEFAULTN、score、bigint(11)DEFAULTNULL,primarykey(、id、))engine=InnoDBdefaultcharset=utf8partitionbyhash(id)partitions8;說明如上命令顯式指明了用于拆分的列以及拆分的分片數(shù)(根據(jù)id列使用Hash拆分為8個分片)。為證明在auto模式下,我們可以不必關(guān)心具體分片的方法(分片方式對用戶透明可以將建createcreatetableexample2(、id、bigint(11)auto_incrementNOTNULL,、name、varchar(255)DEFAULTN、score、bigint(11)DEFAULTNULL,primarykey(、id、))engine=InnoDBdefaultcharset=utf8;insertinsertintoexamplevalues(null,'lily',375),(null,'lisa',400),(null,'ljh',500);select*fromexample;select*fromexample;X說明在單機部署數(shù)據(jù)庫時,數(shù)據(jù)表表一定是本地存儲的。但在分布式部署數(shù)據(jù)命令可以展示一張數(shù)據(jù)表里的分片情況。showshowmasterstatus;#查看當前節(jié)點狀態(tài)(Binlog記錄到的位置)showbinlogeventsin'binlog.000001'from4;#X2.2.(可選)使用PXD工具一鍵安裝PolarDB-XX前提條件操作步驟說明python3python3-mvenvvenvpxdpxdtryout-cn_replica1X注意mysqlmysql-h-P8527-upolardbx_root-p123456#請將賬號密碼替換為上?步中?成的管理員賬號和密碼select*frominformation_schemaselect*frominformation_schema.schemata;createcreatedatabasepolarx_examplemode='auto';useusepolarx_example;createcreatetableexample(、id、bigint(11)auto_incrementNOTNULL,、name、varchar(255)DEFAULTN、score、bigint(11)DEFAULTNULL,primarykey(、id、))engine=InnoDBdefaultcharset=utf8partitionbyhash(id)partitions8;insertinsertintoexamplevalues(null,'lily',375),(null,'lisa',400),(null,'ljh',500);select*fromexample;select*fromexample;X2.3.(可選)使用Kubernetes安裝PolarDB-X前提條件操作步驟X說明curlcurl-LOhttps://storage.googlea///kubernetes-release/release/stable.txt)/bin/linux/amd64/kcurlcurl-LO/minikube/releases/latest/minikube-linux-sudoinstallminikube-linux-amd64/usr/local/bi說明wgetwget/helm-v3.9.0-linux-amd64.tar.gztartar-zxvfhelm-v3.9.0-linux-amd64.mvmvlinux-amd64/helm/usr/local/bin/helm說明Xusermod-aGdockerg說明minikubeminikubestart--cpus4--memory7168--image-mirror-cottps://docker.mirrors.sjtug.sjtu.說明minikubeminikubekubectl--clustXkubectlkubectlcreatenamespacepolardbx-operathelmhelminstall--namespacepolardbx-operator-systempolardbx-operatorhttps://github.com/ApsaraDB/galaxykube/releases/download/v1.2.1/polardbx-operator-1.2kubectlkubectlgetpods--namespacepolardbx-operatechoecho"apiVersion:polardbx.aliyun.cmetadata:polardbx/topology-modkubectlkubectlgetpolardb2.4.(可選)使用源碼編譯安裝PolarDB-XX操作步驟說明gitgitclone/ApsaraDB/PolarDB-Xmakemake說明makemakecleanAll用3.使用PolarDB-X開發(fā)應(yīng)用說明本節(jié)實驗操作部分主要通過阿里云官方網(wǎng)站的云起實驗室進行,詳情可登錄阿里云官方網(wǎng)站,訪問如何3.1.安裝PolarDB-X和JDK3.1.1.第1步:安裝PolarDB-X操作步驟dockerdockerrun-d--namesome-polardb-x-p8527:3.1.2.第2步:登錄PolarDB-X操作步驟mysql-h-P8527-upolardbx_root-用說明ommunicationpacket',system,請您稍等一分鐘,重新執(zhí)行登錄命令即可。操作步驟3.2.體驗SpringBoot+PolarDB-X應(yīng)用開發(fā)用前提條件操作步驟說明gitgitclone/spring-guides/gs-accessing-data-mysql.gcdcdgs-accessing-data-mysqgitcheckoutb8408e3a1e05008811d542b706107d451605mysqlmysql-h-P8527-upolardbx_root-grantgrantallondb_example.*tv.退出數(shù)據(jù)庫。用vimvimsrc/main/resources/pertiesspring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:8527/dspring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:8527/diii.修改完成后的文件內(nèi)容如下圖所示。按下Esc鍵后,輸入:wq后按下Enter鍵保存并退出。vimvimsrc/main/java/com/example/accessingdatamysql/User.javapackagecom.example.accessingdatamysql;importjavax.persisteimportjavax.persistence.Generimportjavax.persistence.GenerpublicclassUser{}}}}}}}用iii.修改完成后的文件內(nèi)容如下圖所示。按下Esc鍵后,輸入:wq后按下Enter鍵保存并退出。vimvimsrc/main/java/com/example/accessingdatamysql/UserRepository.javapackagepackagecom.example.accessingdatamysql;importorg.springframework.data.repository.CrudReimportcom.example.accessingdatam//ThiswillbeAUTOIMPLEMENTEDbySpringint//CRUDrefersCreatpublicinterfaceUserRepositoryextendsCrudR}用iii.修改完成后的文件內(nèi)容如下圖所示。按下Esc鍵后,輸入:wq后按下Enter鍵保存并退出。vimvimsrc/main/java/com/example/accessingdatamysql/MainController.javapackagecom.example.accessingdatamysql;importorg.springframework.beans.factory.annotation.Auimportorg.springframework.stereotype.Coimportorg.springframework.web.bind.annotation.Geimportorg.springframework.web.bind.annotation.Postimportorg.springframework.web.bind.annotation.Requestimportorg.springframework.web.bind.annotation.Requeimportorg.springframework.web.bind.annotation.Respo@RequestMapping(path="/demo"publicclassMainController{@Autowired//Thismeanstogetthe//Whichisauto-generatedprivateUserRepositoryuserRepository;@PostMapping(path="/add")//MapONLYPO}@GetMapping(path="/all")}}用iii.修改完成后的文件內(nèi)容如下圖所示。按下Esc鍵后,輸入:wq后按下Enter鍵保存并退出。說明vimvimsrc/main/java/com/example/accessingdatamysql/AccessingDataMysqlApplication.javapackagecom.example.accessingdatamysql;importorg.springframework.boot.SpringAppimportorg.springframework.boot.autoconfigure.SpringBootApplpublicclassAccessingDataMysqlApplication{}}用iii.修改完成后的文件內(nèi)容如下圖所示。按下Esc鍵后,輸入:wq后按下Enter鍵保存并退出。用curlcurllocalhost:8080/demo/add-dname=First-demail=someemail@someemailprovidecurlcurl'localhost:8080/返回結(jié)果如下,您可以查詢到剛剛增加的記錄信息。mysqlmysql-h-P8527-upolardbx_root-3.3.體驗WordPress+PolarDB-X部署博客前提條件操作步驟用說明mysqlmysql-h-P8527-upolardbx_root-說明用用數(shù)據(jù)庫主機默認為wp_。v.在數(shù)據(jù)庫配置完成頁面,單擊運行安裝程序。用vi.在信息配置頁面,參考說明配置相關(guān)信息,單擊安裝WordPress。您的電子郵箱地址用3.4.PolarDB-X應(yīng)用開發(fā)最佳實踐用3.4.1.如何選擇應(yīng)用端連接池說明QPS/RT與連接數(shù)的關(guān)系連接數(shù)限制在實際的場景中,應(yīng)用創(chuàng)建連接是為了執(zhí)行查詢,連接數(shù)需要與執(zhí)行線程的數(shù)量相匹配才能達到最佳性能。用如上圖所示,應(yīng)用發(fā)起連接請求后,首先由網(wǎng)絡(luò)模塊進我們通過以下兩個示例來進行公式的實際應(yīng)用:連接池數(shù)據(jù)庫連接池是對數(shù)據(jù)庫連接進行統(tǒng)一管理的技術(shù),主要目的是提高應(yīng)用性能,減輕數(shù)據(jù)庫負載。提高系統(tǒng)響應(yīng)效率:連接的初始化工作完成后,所有請求可以直接利用現(xiàn)增強了系統(tǒng)的平穩(wěn)性。用<bean<beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"<propertyname="driverClassName"value="com.mysql.jdbc.Driver"/><!--基本屬性URL、user、password--><propertyname="url"value="jdbc:mysql://ip:port/db?autoReconnect=true&rewriteBatchedStatements=true&socketTimeout=30000&connectTimeout=3000"<propertyname="username"value="root"<propertyname="password"value="123456"<!--配置初始化??、最?、最?--><propertyname="maxActive"value="20"<propertyname="initialSize"value="3"<propertyname="minIdle"value="3"<!--maxWait獲取連接等待超時的時間--><propertyname="maxWait"value="60000"<!--timeBetweenEvictionRunsMillis間隔多久才進??次檢測,檢測需要關(guān)閉的空閑連接,單位是<propertyname="timeBetweenEvictionRunsMillis"value="60000"/><!--minEvictableIdleTimeMillis?個連接在池中最?空閑的時間,單位是毫秒--><propertyname="minEvictableIdleTimeMillis"value="300000"/><!--檢測連接是否可?的SQL--><propertyname="validationQ<!--是否開啟空閑連接檢查--><propertyname="testWhileIdle"value="true"<!--是否在獲取連接前檢查連接狀態(tài)--><propertyname="testOnBorrow"value="false"<!--是否在歸還連接時檢查連接狀態(tài)--><propertyname="testOnReturn"value="false"<!--是否在固定時間關(guān)閉連接。增加此參數(shù)可以均衡后端服務(wù)節(jié)點參數(shù)--><propertyname="phyTimeoutMillis"value="600000"<!--是否在固定SQL使?次數(shù)之后關(guān)閉連接,增加此參數(shù)可以均衡后端服務(wù)節(jié)點參數(shù)--><propertyname="phyMaxUseCount"value="10000"注意事項連接池與負載均衡用如果應(yīng)用存在突發(fā)創(chuàng)建大量連接的情況,負載均連接池中的連接,可以在解決上述問題的同時保持性能基本不變,建議默認添加這兩個配置。應(yīng)用線程數(shù)與連接池應(yīng)用程序訪問數(shù)據(jù)庫的一種常見模式,是在應(yīng)用程序中創(chuàng)建多個線程,每個線程獲取一個到數(shù)據(jù)庫的連接并執(zhí)行查詢。為了減少創(chuàng)建/釋放線程的開銷,通常會使用"線程池"來管是"最大線程數(shù)",需要根據(jù)實際情況調(diào)整。種因素的影響,可能出現(xiàn)突發(fā)RT增長,甚至部分連接失況"的1.5到2倍來設(shè)置最大連接數(shù)/線程數(shù)。3.4.2.透明分布式最佳實踐常見的分布式數(shù)據(jù)庫都需要用戶設(shè)置分庫分表鍵,即需要用戶手動管理分庫分表規(guī)則。這為用戶使用分布式數(shù)據(jù)庫帶來了門檻,用戶需要對數(shù)據(jù)庫的數(shù)據(jù)分布以及每一張表的結(jié)構(gòu)都有非常清晰的認知,才能用好分布的方式來使用分布式數(shù)據(jù)庫即可,從而極大降低用戶使用分布式數(shù)據(jù)庫的門檻。庫支持自動分區(qū),即創(chuàng)建表時無需指定分區(qū)鍵,數(shù)據(jù)即可自動在集群內(nèi)均勻分布;同時也支持使用標用注意通過MODE參數(shù)指定數(shù)據(jù)庫模式參數(shù)取值類型作用建庫語法建表語法創(chuàng)建的數(shù)據(jù)庫為AUTO模示例:AUTO模式數(shù)據(jù)庫下創(chuàng)建的表稱為分區(qū)表,采用MySQL標準語法,詳情請參見MySQL分區(qū)表語法。MODE='AUTO';詳情請參見CREATEDATABASE。認值)創(chuàng)建的數(shù)據(jù)示例:DRDS模式數(shù)據(jù)庫下創(chuàng)建的表稱為分庫分表,詳情請參見DRDS分庫分表語不指定默認創(chuàng)模式數(shù)據(jù)庫。MODE='DRDS';詳情請參見CREATEDATABASE。自動分區(qū)與手動分區(qū)自動分區(qū)),用CREATECREATETABLEtb(aINT,bINT,PRIMARYKEY(a));):***************************1.row***************************Table:tbCreateTable:CREATETABLE、tb、(、b、int(11)DEFAULTNU1rowinset(0.02sec)):用***************************1.row***************************TABLE:tb、b、int(11)DEFAULTNU1rowinset(0.01sec)X的自動分區(qū)功能可以讓應(yīng)用便捷地享受到分布式數(shù)據(jù)庫所帶來的彈性伸縮、分區(qū)管理等諸多紅利。手動分區(qū)采用手動分區(qū)時的建表語法不同。CREATECREATETABLEtb(aINT,bINT,PRIMARYKEY(a))->PARTITIONbyHASH(a)PARTITIONS4;QueryOK,0rowsaffected(0.83sec)***************************1.row***************************TABLE:tb、b、int(11)DEFAULTNUPARTITIONS41rowinset(0.02sec)用CREATECREATETABLEtb(aINT,bINT,PRIMARYKEY(a))->TBPARTITIONby->TBPARTITIONS4;QueryOK,0rowsaffected(1.16sec)***************************1.row***************************Table:tbCreateTable:CREATETABLE、tb、(、b、int(11)DEFAULTNU)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4dbpartitionbyhash(、a、)tbpartitionbyhash(、a、)tbpartitions41rowinset(0.02sec)分區(qū)表和分庫分表的路由算法對比分區(qū)表與分庫分表最重要的區(qū)別,即它們的分區(qū)會使用完全不同的路由算法。如下圖所示:.分庫分表的路由算法是HASH值按物理分表數(shù)目取模,如果要變更分區(qū)數(shù)目(例如用AUTO模式核心特性及其典型場景熱點分裂——有效解決數(shù)據(jù)熱點第一種方案是將熱點數(shù)據(jù)所在的分區(qū)數(shù)據(jù)遷移到特定的數(shù)據(jù)節(jié)點,讓熱點數(shù)據(jù)以獨享存儲資源的方式服務(wù)業(yè)務(wù),能夠?qū)崿F(xiàn)熱點數(shù)據(jù)不影響非熱點數(shù)據(jù)的業(yè)務(wù)。具體i.執(zhí)行以下語句,將特定的熱點數(shù)據(jù)提取到ALTERALTERTABLEGROUP#tgNameEXTRACTtoPARTITION#ALTERALTERTABLEGROUP#tgNameMOVEPARTITIONS#hotPartitionName用ALTERALTERTABLEGROUP#tgN分裂后的分區(qū)均勻的調(diào)度到不同的數(shù)據(jù)節(jié)點,從而將熱點數(shù)據(jù)在不同數(shù)據(jù)節(jié)點中線性分布,消除數(shù)據(jù)熱分區(qū)調(diào)度——更靈活的數(shù)據(jù)均衡由于分表不能隨意的遷移到其他DN(數(shù)據(jù)節(jié)用某些業(yè)務(wù)場景下,業(yè)務(wù)數(shù)據(jù)增長的很快,并且業(yè)務(wù)數(shù)據(jù)的熱度隨著時間推移會有明顯的降低。此時如果數(shù)據(jù)AUTO模式下開發(fā)出了TTL的功能,可以快速的刪除歷史數(shù)據(jù),idbigintNOTNULLAUTO_gmt_modifiedDATETIMENOT)--以下為TTL的相關(guān)語法LOCALPARTITIONBYRANGE(gmt_modified)--按照gINTERVAL1MONTH--每個??個分區(qū)EXPIREAFTER12--數(shù)據(jù)在12個?后過期PREALLOCATE3;--提前3個?創(chuàng)建分區(qū)Locality——按需定制數(shù)據(jù)存儲位置CREATECREATEDATABASEdb1MODE='AUTO'LOCALITY='dn=pxc-xdb-s-pxcexample'用order_timedatetimeno(-s-pxcexample1',TY='dn=pxc-xdb-s-pxcexample2',);功能對比很多其它方面(如分區(qū)管理、拆分變更等)做了大量工作以優(yōu)化分布式體驗。功能項AUTO模式數(shù)據(jù)庫透明分布式默認主鍵分區(qū)支持。若建表時不指定分區(qū)定義,將自動按主鍵進行分區(qū)。不支持。默認全局二級索引支持。索引不指定分區(qū)列時,將自動索引列分區(qū)。不支持。負載均衡調(diào)度支持。不支持。熱點散列能力支持。不支持。分區(qū)策略支持。采用一致性哈希的路由算法,并支持熱點散列。支持采用按分區(qū)數(shù)取模的路由算法,不支持熱點散Columns分區(qū)支持,支持熱點散列。不支持。分區(qū)支持。不支持。向量分區(qū)鍵(使用多個列作為分區(qū)鍵)支持。分區(qū)鍵支持按向量分區(qū),例不支持。分區(qū)鍵字符校驗集支持。不支持。支持。支持。創(chuàng)建、刪除、修改分區(qū)支持。不支持。用功能項AUTO模式數(shù)據(jù)庫分區(qū)管理分裂、合并分區(qū)支持。不支持。遷移分區(qū)支持。不支持。截斷分區(qū)支持。不支持。分區(qū)透視即將上線將支持自動分析熱點分不支持。拆分變更調(diào)整表類型(單表、廣播表與分區(qū)表互轉(zhuǎn))支持。支持。調(diào)整分區(qū)定義(包括分區(qū)數(shù)目、分區(qū)鍵類型、分區(qū)策略等)支持。支持。彈性擴(縮)容是否有停寫階段是(短暫的停寫)。是否允許其他DDLLocality靜態(tài)隔離支持,創(chuàng)建庫、表和分區(qū)時指定物理存儲資源。支持,創(chuàng)建庫、表時指定物理存儲資源。動態(tài)隔離支持,動態(tài)調(diào)整庫表所在的物理存儲資源。不支持。是否與擴縮容兼容分區(qū)裁剪前綴分區(qū)裁剪支持。區(qū)鍵使用a、b、c這3個列。那么中分區(qū)裁剪。不支持。計算表達式常量折疊支持。例如,對含計算表達式的條件pk不支持。分區(qū)鍵條件要求必須是常量(如pk=123如果分區(qū)鍵是計算表達式如pk=表掃描。分區(qū)路由大小寫敏感及忽略行尾空格支持。支持通過指定分區(qū)鍵的字符校驗集(Collation)來決定分區(qū)路由是否需要區(qū)分大小寫以及是否需要忽略行尾空格。不支持。分區(qū)列不支持使用Collation,Hash算法只支持大小寫敏感,不支持忽略行尾空格。用功能項AUTO模式數(shù)據(jù)庫支持。支持在分區(qū)的分裂、合并與遷移等操作期間,JOIN計算下推不受影支持。分區(qū)選擇支持。支持分區(qū)選擇語法查詢特定分區(qū),不支持。TTL(分區(qū)的生命周期管理)支持。不支持。性能對比測試環(huán)境分區(qū)表和分庫分表配置:測試場景.oltp_read_only:事務(wù)中同時混合分區(qū)鍵的單點查詢與小范圍查詢(例如Between)。oltp_read_write:事務(wù)中同時混合分區(qū)鍵的單點與小范圍的查詢與寫入。測試結(jié)果用4.數(shù)據(jù)導入與導出說明您可以通過阿里云官方網(wǎng)站云起實驗室的在線實驗如何將Po省一些成本。核心特性生態(tài)兼容:數(shù)據(jù)流入和數(shù)據(jù)流出是與MySQL完全兼容的。如果以前用一些4.2.GlobalBinlog核心特性):可以完全感知不到內(nèi)部的一些變更細節(jié)。內(nèi)部架構(gòu)據(jù)源源不斷推送給消費端進行消費。事務(wù)排序和合并說明總體排序過程事務(wù)空洞排序一級排序:解決事務(wù)空洞場景下TSO天然亂序問題虛擬TSO其實是沒有記錄TSO的。所以會在整個排序的過程中,進行虛擬構(gòu)造來說明拆分鍵變更任何一個分布式數(shù)據(jù)庫都有分區(qū),數(shù)據(jù)分布在各個分區(qū)中。但分布完后,會有分區(qū)變更(比如:有一條數(shù)據(jù)之前在分區(qū)1;對該數(shù)據(jù)做變更后,起分區(qū)鍵發(fā)生變化,該條數(shù)據(jù)就可能從分區(qū)1編導分區(qū)2該行為稱拆分鍵變更導致數(shù)據(jù)漂移的示例OnlineDDL和EventReformat對部分分片還未可見,此時會同時產(chǎn)生兩個版本的數(shù)據(jù)。),),說明4.3.PolarDB-XReplica寫入模式有以下三種:入時能夠保證事務(wù)的完整性。但這種模式性能較差。4.4.相關(guān)資料5.PolarDB-X集群運維并發(fā)和海量數(shù)據(jù)的存儲需求。通常,隨著業(yè)儲空間達到了瓶頸。在這種情況下,通常需要對傳統(tǒng)的擴展方式目前有兩種,一種是垂直擴展,也就是升降配(可以理解為在已有的機器中增加更快地內(nèi)存條的方式,來提升數(shù)據(jù)庫的性能)。對于云能。這種方式的優(yōu)勢是擴展過程基本不需要遷移數(shù)據(jù),但問題在于性能始終局限于單機(單機性能有上第二種方式時水平擴展,即擴縮容。這種方式相當于加入了更多的機器來解決數(shù)據(jù)庫的擴展性問題,不再局限于單機的性能,但需要對數(shù)據(jù)進行一定的遷移來做到水平擴展。同時,這種方式對于數(shù)據(jù)庫的水平擴展能力有更多的要求,需要數(shù)據(jù)庫能夠具備很好的水平線性擴展能力,這樣才能將新增加進來的機器的性能充分說明本節(jié)實驗操作部分主要通過阿里云官方網(wǎng)站的云起實驗室進行,詳情可登錄阿里云官方網(wǎng)站,訪擴容的基本原理縮容的基本原理操作步驟curlcurl-LOhttps://storage.googlea///kubernetes-release/release/stable.txt)/bin/linux/amd64/kcurlcurl-LO/minikube/releases/latest/minikube-linux-sudoinstallminikube-linux-amd64/usr/local/biwgetwget/helm-v3.9.0-linux-amd64.tar.gztartar-zxvfhelm-v3.9.0-linux-amd64.mvmvlinux-amd64/helm/usr/local/bin/helm5.1.2.第2步:使用PolarDB-XOperator安裝PolarDB-X操作步驟說明說明

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論