
高性能数据库集群架构模式-shardingSphere定位通过shardingSphere 作为数据访问层来操纵数据库集群前置介绍阿里巴巴规定如果单表数据量大于五百万条/容量2GB时就建议进行分库分表解决方案读写分离写操作路由到主机读操作路由到从机优点避免数据库更新的行锁导致的查询性能降低缺点CAP -- 提升可用性(A)的时候必然会降低一致性(C)。数据分片垂直分片垂直拆分数据行不多但占用空间大-- 进行数据冷热分离。缺点操作表的数量变多复杂度增高优点提高读写性能水平分片水平分表数据行非常多 -- 根据某些策略[时间段/id取模/业务字段]进行拆分。水平分库如果水平分表后依然无法满足性能要求那就需要将多个表分散到不同的服务器上。常见数据库集群解决方案Apache ShardingSphereMyCatShardingSphere-JDBC(数据访问层)ShardingSphere-JDBC 定位为轻量级 Java 框架在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库以 jar 包形式提供服务无需额外部署和依赖可理解为增强版的 JDBC 驱动完全兼容 JDBC 和各种 ORM 框架。ShardingSphere-Proxy(独立的一个应用程序)hardingSphere-Proxy 定位为透明化的数据库代理端通过实现数据库二进制协议对异构语言提供支持。 目前提供 MySQL 和 PostgreSQL 协议透明化数据库操作对 DBA 更加友好。