
Oracle数据库
企业级关系型数据库管理系统(RDBMS)
MyCat 是一个开源的 分布式数据库中间件,最初由阿里开发者基于 Cobar 改进而来,现由社区维护。它主要解决 MySQL 分库分表、读写分离、分布式事务 等需求,使应用能够像操作单库一样访问分布式数据库集群。MyCat 支持 MySQL、PostgreSQL、Oracle 等主流数据库,广泛应用于 高并发、大数据量 的互联网和企业级系统。
术语 | 说明 |
---|---|
逻辑库(Schema) | 应用直接访问的虚拟数据库(如 my_db ),对应多个物理库 |
逻辑表(Table) | 虚拟表,数据可能分布在多个物理表(如 orders_0 、orders_1 ) |
分片节点(DataNode) | 物理数据库节点(如 dn1 对应 MySQL 实例 192.168.1.1:3306 ) |
分片规则(Rule) | 定义数据如何分片(如 user_id % 3 ) |
全局序列(Sequence) | 分布式 ID 生成(如雪花算法) |
<schema name="my_db" checkSQLschema="false">
<table name="orders" primaryKey="id" dataNode="dn1,dn2" rule="mod-long" />
</schema>
<dataNode name="dn1" dataHost="host1" database="db_orders_0" />
<dataNode name="dn2" dataHost="host2" database="db_orders_1" />
<dataHost name="host1" maxCon="100" balance="0">
<writeHost url="192.168.1.1:3306" user="root" password="123456" />
</dataHost>
# 解压后启动
bin/mycat start
# 连接 MyCat(默认端口 8066)
mysql -h127.0.0.1 -P8066 -uroot -p123456
// JDBC 连接 MyCat 逻辑库
String url = "jdbc:mysql://127.0.0.1:8066/my_db";
Connection conn = DriverManager.getConnection(url, "root", "123456");
// 执行 SQL(MyCat 自动路由到分片)
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM orders WHERE user_id = 100");
user_id
)SELECT *
,只查询必要字段maxCon=500
)本站速览导航提供的MyCat都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由速览导航实际控制,在2025年4月1日 下午8:52收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,速览导航不承担任何责任。