概念
ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。
ShardingSphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。 它与NoSQL和NewSQL是并存而非互斥的关系。
ShardingSphereJDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务,它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。
SHarding JDBC准备
主从复制与读写分离
对数据库的读操作和写操作分离开,但是会出现数据不同步的问题,这时候就需要主从复制来同步数据。
而读写分离需要SHarding JDBC来完成如下图。
也就是说,主从复制是指数据层面的东西,而读写分离是指我们业务层面的东西。
所以用了读写分离也就必须要用到主从复制。为什么要用读写分离呢?当然是为了提升网站的速度。当用户量越来越大需要把用户的查询和修改操作分开,来提升效率,减压。