ShardingSphere-课程总结 | 学习笔记

简介: 快速学习ShardingSphere-课程总结。

开发者学堂课程【数据库中间件ShardingSphere详解ShardingSphere-课程总结】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/666/detail/11260


ShardingSphere-课程总结

 

内容介绍:

一、基本概念

二、Sharding_JDBC

三、Sharding_Proxy

 

一、基本概念:

1.什么是 ShardingSphere

先从最基本的概念讲起,首先讲到了就是什么是 ShardingSphere,讲到它是一个分布式数据库的中间件解决方案,课程主要用它来实现对数据库的分库的操作。在ShardingSphere里边有三个产品,主要是两个产品,一个叫 Sharding_JDBC,一个叫Sharding-Proxy,定位就是关系数据库的空间,在分布式环境下使用关系数据库进行操作来解决的问题。

2.什么是分库分表

(1)水平切分和垂直切分

分库分表的目的是为了解决随着数据量过大,数据库操作性能降低的问题,它是一种解决方案,分库分表有两大种方式一个叫水平,一个叫垂直,包括分别介绍了水平分库、水平分表。还有垂直分库、垂直分表,水平分库分表就是把数据给分别在不同库不同表中显示而垂直分表就是把一个表中的一部分资源数据放到一个表中,另一部分数据放到一个表中,而垂直分布就是专库专表,提到分库分表在实际中的一般是怎么用的?一般来讲,在设计数据的时候就要考虑到分库分表,随着数量的增加,不要马上考虑到你做这个水平切分,要先考虑什么?就是缓存、读写分离,包括索引,如果这些方式都不能解决,那再考虑分步分表这种方式,因为数量过大而造成的性能降低问题。

 

二、Sharding_JDBC

1、什么是 Sharding_JDBC

Sharding_JDBC 就是一个轻量级的Java框架,就是它做到的并不是帮我们做分库分表,而是做到分库分表之后,之后数据的操作它简化对分库分表之后数据操作是一个java框架,然后这个做到之后,后面部分来使用这个什么是 ShardingSphere 分别实现了水平界分还有垂直切分等操作。

2、使用 Sharding_JDBC 水平切分

3、使用 Sharding_JDBC 垂直切分

4、使用 Sharding_JDBC 操作公共表

5、使用 Sharding_JDBC 读写分离

特别强调 Sharding_JDBC 并不能做到这个读写中主从的复制过程,就是数据同步这个过程还是需要在mysql里进行配置,Sharding_JDBC 只是根据语义的变化,如果你做的是增删改操作,操作主数据库,做的是查询,操作的从数据库。

 

三、Sharding_Proxy

1、什么是Sharding_Proxy

它是一个透明的数据库代理端,如果没有它,那操作多库多表需要做繁琐的配置,而是用它之后通过它去帮助操作多库多表,而直接操作Sharding_Proxy,相当于操作一个库一个表,简化了可以操作,它可以直接当mssql数据库进行使用,而它需要安装进行配置才可以使用。

2、使用 Sharding_Proxy分库分表

3、使用 Sharding_Proxy读写分离

而读写分离跟 Sharding_JDBC的一样,也需要mysql做这个主动的过程,它里边只是进行这样的操作:查询从数据库、增删改主数据库,

这是课程中主要的三个内容,第一部分基本概念,第二部分 Sharding_JDBC操作,第三部分还有这个 Sharding_Proxy操作。而 Sharding_JDBC 中的代码是基于这个spring boot 的工程,然后用 spring boot整合它,完成里面这个垂直水平分库分表、读写分离过程。所以这是关于课程中的主要内容,希望通过这个课程中让各位能够熟练掌握 ShardingSphere 分库分表的操作。

相关文章
|
Java 中间件 数据库连接
分库分表的4种方案
分库分表的4种方案
2584 0
|
JavaScript 前端开发 开发者
windows安装npm教程
windows安装npm教程
3367 0
|
前端开发 NoSQL Java
SpringBoot从入门到精通(二十)快速构建Restful Web API 服务
随着互联网化等逐渐深入,应用系统也变得越来越复杂,系统架构正在朝着微服务化,中台化的方向发展。这就需要各个系统、各个厂家之间的数据频繁交互。所以,使用 Restful 风格构建的应用接口适用于移动互联网厂商的业务场景,正在被越来越多的企业推荐使用。那么什么是 RESTful 呢?
SpringBoot从入门到精通(二十)快速构建Restful Web API 服务
|
10月前
|
JSON API 数据处理
Swagger动态参数注解:使用@DynamicParameters实现JSON参数的灵活定义
总结起来,通过使用SpringFox提供给我们工具箱里面非常有力量但又不太显眼工具———即使面对复杂多变、非标准化数据格式也能轻松驾驭它们———从而大大增强我们系统与外界沟通交流能力同时也保证系统内部数据处理逻辑清晰明确易于维护升级.
543 10
|
监控 NoSQL 大数据
【MongoDB复制集瓶颈】高频大数据写入引发的灾难,如何破局?
【8月更文挑战第24天】在MongoDB复制集中,主节点处理所有写请求,从节点通过复制保持数据一致性。但在大量高频数据插入场景中,会出现数据延迟增加、系统资源过度消耗、复制队列积压及从节点性能不足等问题,影响集群性能与稳定性。本文分析这些问题,并提出包括优化写入操作、调整写入关注级别、采用分片技术、提升从节点性能以及持续监控调优在内的解决方案,以确保MongoDB复制集高效稳定运行。
677 2
|
缓存 安全 Java
Spring Boot与GraphQL的集成最佳实践
Spring Boot与GraphQL的集成最佳实践
|
存储 前端开发 搜索推荐
使用session.setAttribute存储会话属性
使用session.setAttribute存储会话属性
|
传感器 存储 监控
什么是智慧工地?智慧工地管理平台有哪些功能?
智慧工地的智能化现场信息管理,减少人力物力的投入,加快了施工进度,能够缩短工期,提升经济效益。
5357 3
|
数据可视化
手把手教你使用 Quarto 构建文档 (2)
手把手教你使用 Quarto 构建文档 (2)
1105 0
|
算法 Cloud Native Java
ShardingSphere三大组件的介绍
ShardingSphere三大组件的介绍