ShardingSphere:高效管理数据库集群的终极方案

高性能数据库集群架构模式-shardingSphere

定位:通过shardingSphere 作为数据访问层,来操纵数据库集群

前置介绍

阿里巴巴规定如果单表数据量大于五百万条/容量>2GB时,就建议进行分库分表

解决方案

  1. 读写分离

写操作路由到主机,读操作路由到从机

优点:避免数据库更新的行锁导致的查询性能降低

缺点:CAP --> 提升可用性(A)的时候必然会降低一致性(C)。

  1. 数据分片

垂直分片

垂直拆分:数据行不多,但占用空间大--> 进行数据冷热分离。

缺点:操作表的数量变多,复杂度增高

优点:提高读写性能

水平分片

水平分表:数据行非常多 --> 根据某些策略时间段/id取模/业务字段进行拆分。

水平分库:如果水平分表后,依然无法满足性能要求,那就需要将多个表分散到不同的服务器上。

常见数据库集群解决方案

  1. Apache ShardingSphere

  2. MyCat

ShardingSphere-JDBC(数据访问层)

ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。++它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,++ ++可理解为增强版的 JDBC 驱动++ ,完全兼容 JDBC 和各种 ORM 框架。

ShardingSphere-Proxy(独立的一个应用程序)

hardingSphere-Proxy 定位为透明化的数据库代理端,通过实现数据库二进制协议,对异构语言提供支持。 目前提供 MySQL 和 PostgreSQL 协议,透明化数据库操作,对 DBA 更加友好。

相关推荐
瀚高PG实验室4 小时前
瀚高数据库常用系统表查询入门指南(附常用SQL)
数据库·sql·postgresql·瀚高数据库
ben9518chen4 小时前
mysql数据库基本操作
数据库·mysql
缓慢更新5 小时前
表单引擎的存储建模:宽表与文档库的取舍
运维·服务器·网络·数据库·低代码·oracle·适配器模式
xiancai_xianyu8 小时前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
cc5725026539 小时前
2027校招准备:数据科学与大数据技术专业转产品数据运营,PRD与SQL怎么安排?
大数据·sql·墨刀
l1t10 小时前
DeepSeek总结的 DuckDB 2.0 中更简洁的变量语法
数据库·sql
fen_fen10 小时前
Jmeter5.1.1连接oracle数据库的错误复盘
数据库·jmeter·oracle
imDwAaY11 小时前
MySQL 存储引擎是什么?
android·数据库·mysql
for_ever_love__11 小时前
MySQL 8.0 数据类型选型指南:INT、DECIMAL、VARCHAR 与时间字段怎么选
mysql·adb·数据类型·varchar·长度·字段类型选择
张张123y12 小时前
# 后端第七课:FastAPI 实战入门(用刚学的 Python 写第一个 API 接口)
开发语言·python·mysql·api·fastapi