帮酷LOGO
  • 显示原文与译文双语对照的内容
A JDBC driver for shard databases and tables

  • 源代码名称:sharding-jdbc
  • 源代码网址:http://www.github.com/shardingjdbc/sharding-jdbc
  • sharding-jdbc源代码文档
  • sharding-jdbc源代码下载
  • Git URL:
    git://www.github.com/shardingjdbc/sharding-jdbc.git
  • Git Clone代码到本地:
    git clone http://www.github.com/shardingjdbc/sharding-jdbc
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/shardingjdbc/sharding-jdbc
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • 基于的分片 jdbc-- 分布式数据库中间件( )

    License

    Maven StatusGitHub releaseDownload

    Build StatusCoverage StatusGitterOpenTracing-1.0 BadgeSkywalking Tracing

    概述

    分片jdbc是分布式数据库中间件,主要关注数据切分。读写拆分。基础事务和数据库编排。 它通过JDBC驱动程序或者数据库协议代理为应用程序提供最大的兼容性。

    文档

    EN docRoadmap

    CN doc

    特性

    1数据分片

    • 支持数据库和表的分片。
    • 支持标准聚合函数 GROUP BY 。ORDER BY 。LIMIT和 Join DQL支持。
    • 支持标准的DML 。DDL 。TCL和数据库管理员命令。
    • 切分运算符 =BETWEENIN 支持。
    • 支持分片算法自定义和内联表达式。
    • 通过提示支持路由。
    • 支持的分布式序列。

    2读取写入拆分

    • 支持多个从服务器副本。
    • 支持同一线程的数据一致。
    • 混合读写拆分和数据分片支持。
    • 通过提示支持路由。

    3基本事务

    • 最佳工作交付支持。
    • 尝试确认取消事务( TBD ) 。

    4.业务流程

    • 支持的配置中心,可以动态刷新。
    • 支持断路器。
    • 支持打开跟踪。
    体系结构

    分片 jdbc

    使用JDBC连接数据库,无需重定向成本,最佳的生产性能。

    • ORM兼容。JPA 。Hibernate 。Mybatis 。spring JDBC模板或者JDBC支持。
    • 连接池兼容。DBCP,BoneCP,Druid支持。
    • 基于多个sql的数据库兼容。任何支持的数据库。 目前支持 MySQL,Oracle,sql server和 PostgreSQL 。

    Sharding-JDBC Architecture

    分片代理

    数据库路由器作为无状态服务器部署,支持当前的MySQL协议。

    • 使用标准的MySQL协议,应用程序不关心代理还是真实的MySQL 。
    • 理论上支持的任何 MySQL 命令行 和UI工作台。 MySQL Workbench 现在完全兼容。

    Sharding-Proxy Architecture

    分片 sidecar ( TBD )

    使用sidecar连接数据库,最适合Kubernetes或者 Mesos 。

    Sharding-Sidecar Architecture

    快速启动

    分片 jdbc

    添加 Maven 依赖项

    <!-- import sharding-jdbc core --><dependency>
     <groupId>io.shardingjdbc</groupId>
     <artifactId>sharding-jdbc-core</artifactId>
     <version>${latest.release.version}</version>
    </dependency>

    配置分片规则

    分片jdbc支持 4种切分规则配置类型,它们是 JavaYAMLSpring namespaceSpring boot starter 。 开发人员可以选择任何一个来满足最佳情况。

    创建数据源

    使用ShardingDataSourceFactory创建 ShardingDataSource,它是标准的JDBC数据源。 然后开发者可以将它用于原始的JDBC 。JPA 。MyBatis或者基于JDBC的ORM框架。

    DataSource dataSource =ShardingDataSourceFactory.createDataSource(dataSourceMap, shardingRuleConfig);

    分片代理

    配置分片规则

    编辑 ${sharding-proxy}confsharding-config.yaml 与sharding-jdbc-driver配置的YAML 格式相同。

    启动服务器

    ${sharding-proxy}binstart.sh ${port}



    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语