提交 7059cbd9 编写于 作者: X xiongchun

开发数据分片范例程序:pangu-examples-shardingsphere-sharding,编写数据分片文档

上级 25462a3b
---
title: 数据治理之读写分离
title: 数据治理之数据分片
tags: [数据分片,读写分离,数据持久化]
sidebar_position: 25
slug: /advanced-guide/readwrite-splitting
sidebar_position: 26
slug: /advanced-guide/data-sharding
---
<head>
<title>盘古开发框架 | 数据治理之读写分离 | ShardingSphere-JDBC</title>
<meta name="keywords" content="盘古开发框架 | 数据治理之读写分离 | ShardingSphere-JDBC" />
<title>盘古开发框架 | 数据治理之数据持久化 | ShardingSphere-JDBC</title>
<meta name="keywords" content="盘古开发框架 | 数据治理之数据持久化 | ShardingSphere-JDBC" />
<meta name="description" content="「盘古开发框架」是完全独立于 Spring Cloud 生态的一套轻量灵活、成熟可靠的工业级分布式微服务开发和治理框架(兼容垂直单体分层架构)。它基于 Apache-2.0 协议开源发布,且是免费的。我们希望不仅是开源的受益者,也能成为开源的贡献者,与开源社区一起「共建共享开源生态」。" />
</head>
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 业务对高可用的迫切诉求,数据库的可用性俨然已成为整个系统的关键;从运维成本和风险方面考虑,当一个数据库实例中的数据达到阈值以上,数据备份和恢复的时间成本和风险都将随着数据量的大小而愈发不可控。
因此,通过数据分片将存放在单一库中的数据分散至多个库或表中以达到提升性能、提高可用性和降低运维成本的效果。数据分片的有效手段是对数据库进行分库和分表。分库和分表均可以有效的避免由数据量超过可承受阈值而产生的查询瓶颈,同时也是应对高并发和海量数据系统的有效手段。数据分片可分为垂直分片和水平分片。
<img width="400"
src={require('/resources/doc/28-pangu-framework-readwrite-splitting.png').default}
......@@ -180,7 +182,6 @@ 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
# 主库数据源配置
......
---
title: 数据治理之数据分片
title: 数据治理之读写分离
tags: [数据分片,读写分离,数据持久化]
sidebar_position: 25
slug: /advanced-guide/data-sharding
slug: /advanced-guide/readwrite-splitting
---
<head>
<title>盘古开发框架 | 数据治理之数据持久化 | ShardingSphere-JDBC</title>
<meta name="keywords" content="盘古开发框架 | 数据治理之数据持久化 | ShardingSphere-JDBC" />
<title>盘古开发框架 | 数据治理之读写分离 | ShardingSphere-JDBC</title>
<meta name="keywords" content="盘古开发框架 | 数据治理之读写分离 | ShardingSphere-JDBC" />
<meta name="description" content="「盘古开发框架」是完全独立于 Spring Cloud 生态的一套轻量灵活、成熟可靠的工业级分布式微服务开发和治理框架(兼容垂直单体分层架构)。它基于 Apache-2.0 协议开源发布,且是免费的。我们希望不仅是开源的受益者,也能成为开源的贡献者,与开源社区一起「共建共享开源生态」。" />
</head>
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
# 主库数据源配置
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册