![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库中间件
主要介绍ShardingSphere的基本使用
JackSparrow414
认真对待问题、思考问题、解决问题
展开
-
ShardingJDBC执行过程剖析
文章目录ShardingSphere-ShardingJDBC实现思路解析传统JDBC的使用方式1-通过DriverManager方式2-通过DataSourceSharingJdbc流程解析模拟ShardingJdbc执行过程容器启动时,创建自定义MyDataSourceDataSource.getConnection()方法,返回自定义MyConnectionMyConnection.prepareStatement返回自定义MyPreparedStatement在自定义的MyPreparedState原创 2020-09-10 19:57:42 · 1272 阅读 · 0 评论 -
数据库中间件ShardingSphere-ShardingProxy使用(一)数据分片、读写分离
文章目录数据库中间件ShardingSphere-ShardingProxy使用(一)数据分片、读写分离背景下载/配置代码中使用总结数据库中间件ShardingSphere-ShardingProxy使用(一)数据分片、读写分离背景在数据库中间件ShardingSphere-ShardingJdbc使用(一)数据分片中介绍了数据库中间件的两种代理方式,客户端代理(即数据源代理),服务端代理(代理数据库实例)。而ShardingJdbc属于数据源代理,目前只有Java语言可用。实际情况中,一个庞大的系原创 2020-08-01 15:46:35 · 1945 阅读 · 6 评论 -
ShardingSphere(四)数据脱敏-实现自定义加密策略
文章目录ShardingSphere(四)数据脱敏-实现自定义加密策略背景自定义加密策略一实现Encryptor接口在配置文件中配置(基于SpringBoot YAML)遇到的问题以及定位过程在resource目录下新增配置验证自定义的加密策略是否生效解析自定义加密策略二实现QueryAssistedEncryptor接口在配置文件中配置(基于SpringBoot YAML)在配置文件中添加自定义的加密策略验证自定义加密策略是否生效结束ShardingSphere(四)数据脱敏-实现自定义加密策略背景原创 2020-07-04 18:32:15 · 5265 阅读 · 1 评论 -
数据库中间件ShardingSphere-ShardingJdbc使用(三)数据脱敏
背景: 对于用户的个人敏感信息,如密码、身份证号、家庭住址等信息,在进行存储数据库之前,都需要进行加密。使得即使存入数据库之后,数据库的管理员看到的数据也是加密的。这一过程叫做数据脱敏。一些安全框架如shiro、spring security都提供了加密的手段。这里ShardingJdbc也提供了内置的加密方式,MD5、AES。关于数据脱敏的详细文档参考官方数据脱敏部分配置:这里使用前两篇的配置(数据分片、读写分离)基础上再加上数据脱敏配置server: port: 8999.原创 2020-05-30 11:45:09 · 1428 阅读 · 3 评论 -
数据库中间件ShardingSphere-ShardingJdbc使用(二)读写分离
背景:简单的分库、分表有时候并不能有效抵挡大流量的查询,除去缓存的存在,仅仅考虑数据库层面上。可以搭建主从复制架构,可以使写操作在主库进行,主库和从库之间通过异步复制、半同步复制保持数据一致。所有的读操作都在主库的N个从库上进行。通过负载均衡使得每一次查询均匀的落在每一个从库上由于硬件资源有限,为了模拟主从读写分离,在一台机器上搭建多个MySQL实例,并配置主从关系。如果不知道怎么部署、配置,可参考单机部署MySQL多实例和主从复制搭建上一篇文章已经有了两个主库,3306、3310。为3306实原创 2020-05-25 20:52:27 · 538 阅读 · 0 评论 -
数据库中间件ShardingSphere-ShardingJdbc使用(一)数据分片
背景:我们实际开发中,总有几张和业务相关的大表,这里的大表是指数据量巨大。如用户表、订单表,又或者公司业务中的主表,可能很快这种表的数据就达到了百万、千万、亿级别的规模,并且增长规模一直很快。这种情况下,单表已经满足不了了存储需求了,同时,这么大的数据量,即使搭配合理的索引,数据库查询也是很慢的。这时就需要对这些大表进行分库、分表。例如:user表现在数据增长很快,这时对user库、表。通过部署多个MySQL实例来进行拓展。每个MySQL实例上都会有user库,每个user库里又有user_N(原创 2020-05-25 19:37:52 · 1774 阅读 · 5 评论