From 7059cbd9041d8da64d36e92ffb9c37009ffe1356 Mon Sep 17 00:00:00 2001 From: xiongchun <18616786188@qq.com> Date: Thu, 24 Mar 2022 21:47:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91=E6=95=B0=E6=8D=AE=E5=88=86?= =?UTF-8?q?=E7=89=87=E8=8C=83=E4=BE=8B=E7=A8=8B=E5=BA=8F=EF=BC=9Apangu-exa?= =?UTF-8?q?mples-shardingsphere-sharding=EF=BC=8C=E7=BC=96=E5=86=99?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=88=86=E7=89=87=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\260\346\215\256\345\210\206\347\211\207.md" | 17 +++++++++-------- ...\273\345\206\231\345\210\206\347\246\273.md" | 11 ++++++----- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git "a/pangu-website/docs/advanced-guide/\346\225\260\346\215\256\346\262\273\347\220\206\344\271\213\346\225\260\346\215\256\345\210\206\347\211\207.md" "b/pangu-website/docs/advanced-guide/\346\225\260\346\215\256\346\262\273\347\220\206\344\271\213\346\225\260\346\215\256\345\210\206\347\211\207.md" index 690c023a4..2c6234b2c 100644 --- "a/pangu-website/docs/advanced-guide/\346\225\260\346\215\256\346\262\273\347\220\206\344\271\213\346\225\260\346\215\256\345\210\206\347\211\207.md" +++ "b/pangu-website/docs/advanced-guide/\346\225\260\346\215\256\346\262\273\347\220\206\344\271\213\346\225\260\346\215\256\345\210\206\347\211\207.md" @@ -1,23 +1,25 @@ --- -title: 数据治理之读写分离 +title: 数据治理之数据分片 tags: [数据分片,读写分离,数据持久化] -sidebar_position: 25 -slug: /advanced-guide/readwrite-splitting +sidebar_position: 26 +slug: /advanced-guide/data-sharding --- - 盘古开发框架 | 数据治理之读写分离 | ShardingSphere-JDBC - + 盘古开发框架 | 数据治理之数据持久化 | ShardingSphere-JDBC + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -盘古开发框架集成了数据库中间件 [ShardingSphere](https://shardingsphere.apache.org/index.html) 来提供数据治理相关功能。如:读写分离、数据分片、数据加密等。 +盘古开发框架集成了数据库中间件 [ShardingSphere](https://shardingsphere.apache.org/index.html) 来提供数据治理相关功能。如:数据分片、读写分离、数据加密等。 ## 数据分片概念 -随着业务系统日益增加的系统访问量,数据库的吞吐量往往成为系统并发的性能瓶颈。对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆分为主库和从库搭架主从集群,由主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效的避免数据更新导致的行锁,从而一定程度提升整个系统的读写并发性能。如下图所示。 +随着业务规模不断的扩大,将数据集中存储到单一节点的解决方案,在**性能**、**可用性**和**运维成本**等方面已经难于满足高并发和海量数据系统的场景。从性能方面来说,高并发访问请求使得集中式数据库成为系统的最大瓶颈;从可用性的方面来讲,单一数据节点或简单主从架构,已经越来越难以满足大量互联网 To C 业务对高可用的迫切诉求,数据库的可用性俨然已成为整个系统的关键;从运维成本和风险方面考虑,当一个数据库实例中的数据达到阈值以上,数据备份和恢复的时间成本和风险都将随着数据量的大小而愈发不可控。 + +因此,通过数据分片将存放在单一库中的数据分散至多个库或表中以达到提升性能、提高可用性和降低运维成本的效果。数据分片的有效手段是对数据库进行分库和分表。分库和分表均可以有效的避免由数据量超过可承受阈值而产生的查询瓶颈,同时也是应对高并发和海量数据系统的有效手段。数据分片可分为垂直分片和水平分片。 - 盘古开发框架 | 数据治理之数据持久化 | ShardingSphere-JDBC - + 盘古开发框架 | 数据治理之读写分离 | ShardingSphere-JDBC + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -盘古开发框架集成了数据库中间件 [ShardingSphere](https://shardingsphere.apache.org/index.html) 来提供数据治理相关功能。如:数据分片、读写分离、数据加密等。 +盘古开发框架集成了数据库中间件 [ShardingSphere](https://shardingsphere.apache.org/index.html) 来提供数据治理相关功能。如:读写分离、数据分片、数据加密等。 ## 读写分离概念 @@ -180,6 +180,7 @@ spring.application.name=pangu-examples-shardingsphere-readwrite-splitting mybatis-plus.mapperLocations=classpath*:/mapper/**/*.xml mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl + spring.shardingsphere.datasource.names=ds-master,ds-slave-0,ds-slave-1 # 主库数据源配置 -- GitLab