<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta name="description" content="ShardingSphere官网" />
  <meta name="Keywords"
    content="ShardingSphere,Sharding-JDBC,Sharding-Proxy,Sharding-Sidecar,ShardingSphere-JDBC,ShardingSphere-Proxy,数据库中间件,分布式" />
  <title>ShardingSphere</title>
  <script>
    if (
      !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
        navigator.userAgent
      )
    ) {
      window.location = 'index_zh.html'
    }
  </script>
  <script>
    var idealViewWidth = window.screen.width;
    var basicValue = 750;
    document.documentElement.style.fontSize = (idealViewWidth / basicValue) * 100 + 'px';
  </script>
  <link rel="icon" href="https://shardingsphere.apache.org/images/favicon.png" type="image/x-icon" />
  <link rel="stylesheet" type="text/css" href="https://shardingsphere.apache.org/css/index_m.css" />
  <!-- <link rel="stylesheet" type="text/css" href="/css/index_m.css" /> -->
  <!-- Effect of carousel -->
  <link rel="stylesheet" href="/css/swiper.min.css">
  <script src="/js/swiper.min.js"> </script>
</head>

<body>
  <header>
    <div class="bg-left">
      <div class="bg-right">
        <nav class="display-flex space-between">
          <div class="nav-logo">
            <a href="http://www.apache.org" target="_self">
              <img class="nav-img first" src="https://shardingsphere.apache.org/images/apache_logo1.png" alt="" />
              <img class="nav-img" src="https://shardingsphere.apache.org/images/apache_logo2.png" alt="" />
            </a>
          </div>
          <div class="nav-btn" id="nav-btn"></div>
        </nav>
        <div class="nav-menu" id="nav-menu">
          <div class="nav-item space">
            <a href="https://shardingsphere.apache.org/document/current/cn/downloads/" target="_blank">下载</a>
          </div>
          <div class="nav-item">
            <div id="btn-document" class="i-drop-btn">文档</div>
          </div>
          <div class="i-drop-pop">
            <a class="i-drop-list" href="https://shardingsphere.apache.org/document/current/cn/overview"
              target="_blank">5.x(当前)</a>
            <a class="i-drop-list" href="https://shardingsphere.apache.org/document/legacy/4.x/document/cn/overview"
              target="_blank">4.x(遗留)</a>
            <a class="i-drop-list" href="https://shardingsphere.apache.org/document/legacy/3.x/document/cn/overview"
              target="_blank">3.x(遗留)</a>
            <a class="i-drop-list" href="https://shardingsphere.apache.org/document/legacy/2.x/cn/"
              target="_blank">2.x(遗留)</a>
            <a class="i-drop-list" href="http://shardingsphere.apache.org/document/legacy/1.x/cn/"
              target="_blank">1.x(遗留)</a>
          </div>
          <div class="nav-item">
            <div id="btn-subproject" class="i-drop-btn">子项目</div>
          </div>
          <div class="i-drop-pop">
            <a class="i-drop-list" href="http://shardingsphere.apache.org/elasticjob/" target="_blank">ElasticJob</a>
          </div>
          <div class="nav-item">
            <div id="btn-community" class="i-drop-btn">社区</div>
          </div>
          <div class="i-drop-pop">
            <a class="i-drop-list" href="https://shardingsphere.apache.org/community/cn/contribute/"
              target="_blank">参与贡献</a>
            <a class="i-drop-list" href="https://shardingsphere.apache.org/community/cn/team/" target="_blank">团队成员</a>
            <a class="i-drop-list" href="https://cwiki.apache.org/confluence/display/SHARDINGSPHERE"
              target="_blank">Wiki</a>
            <a class="i-drop-list" href="https://github.com/apache/shardingsphere" target="_blank">GitHub</a>
            <a class="i-drop-list" href="https://github.com/apache/shardingsphere/issues" target="_blank">缺陷跟踪</a>
            <a class="i-drop-list" href="https://shardingsphere.apache.org/community/cn/powered-by/"
              target="_blank">采用公司</a>
          </div>
          <div class="nav-item">
            <div id="btn-blog" class="i-drop-btn">博文</div>
          </div>
          <div class="i-drop-pop">
            <a class="i-drop-list" href="https://shardingsphere.apache.org/blog/cn/material" target="_blank">精选集</a>
            <a class="i-drop-list" href="https://github.com/apache/shardingsphere/issues/650" target="_blank">汇总集</a>
          </div>
          <div class="nav-item">
            <div id="btn-asf" class="i-drop-btn">ASF</div>
          </div>
          <div class="i-drop-pop">
            <a class="i-drop-list" href="https://www.apache.org" target="_self">基金会</a>
            <a class="i-drop-list" href="https://www.apache.org/licenses/" target="_self">证书</a>
            <a class="i-drop-list" href="https://www.apache.org/events/current-event" target="_self">事件</a>
            <a class="i-drop-list" href="https://www.apache.org/security/" target="_self">安全</a>
            <a class="i-drop-list" href="https://www.apache.org/foundation/sponsorship.html" target="_self">赞助</a>
            <a class="i-drop-list" href="https://www.apache.org/foundation/thanks.html" target="_self">致谢</a>
            <em class="i-drop-line"></em>
          </div>
          <div class="nav-item">
            <a href="index_m_zh.html" target="_blank">中文</a>
          </div>
          <div class="nav-item" style="margin-right:0">
            <a href="index_m.html" target="_blank">EN</a>
          </div>
        </div>
        <div id="content" class="content">
          <img src="https://shardingsphere.apache.org/images/background_logo.png" class="sub-img" />
          <div class="sub-title">
            <span>Apache ShardingSphere</span>
            <span class="small">高灵活度 & 可插拔 & 可扩展</span>
          </div>
          <hr class="sub-hr" />
          <div class="sub-content">
            <p class="sub-text">
              Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈，它由 JDBC、Proxy 和 Sidecar（规划中）这 3 款既能够独立部署，又支持混合部署配合使用的产品组成。
              它们均提供标准化的数据水平扩展、分布式事务和分布式治理等功能，可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。
            </p>
            <p class="sub-text">
              Apache ShardingSphere 旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力，而并非实现一个全新的关系型数据库。
              关系型数据库当今依然占有巨大市场份额，是企业核心系统的基石，未来也难于撼动，我们更加注重在原有基础上提供增量，而非颠覆。
            </p>
            <p class="sub-text">
              Apache ShardingSphere 5.x 版本开始致力于可插拔架构，项目的功能组件能够灵活的以可插拔的方式进行扩展。
              目前，数据分片、读写分离、数据加密、影子库压测等功能，以及 MySQL、PostgreSQL、SQLServer、Oracle 等 SQL 与协议的支持，均通过插件的方式织入项目。
              开发者能够像使用积木一样定制属于自己的独特系统。Apache ShardingSphere 目前已提供数十个 SPI 作为系统的扩展点，仍在不断增加中。
            </p>
            <p class="sub-text">
              ShardingSphere 已于2020年4月16日成为 Apache 软件基金会的顶级项目。
            </p>
          </div>
          <div class="sub-btn_box">
            <a class="sub-button" href="https://shardingsphere.apache.org/document/current/cn/downloads/"
              target="_blank">下载</a>
            <a class="sub-button" href="https://shardingsphere.apache.org/document/current/cn/overview"
              target="_blank">了解更多</a>
          </div>
          <hr class="sub-btn-hr" />
          <!--<div class="sub-point">-->
          <!--<div class="sub-point-list">-->
          <!--<img src="https://shardingsphere.apache.org/images/sharding_jdbc@2.png" class="nl-img" alt=""/>-->
          <!--<p>Sharding-JDBC</p>-->
          <!--</div>-->
          <!--<div class="sub-point-list">-->
          <!--<img src="https://shardingsphere.apache.org/images/sharding_proxy@2.png" class="nl-img" alt="" />-->
          <!--<p>Sharding-Proxy</p>-->
          <!--</div>-->
          <!--<div class="sub-point-list">-->
          <!--<img src="https://shardingsphere.apache.org/images/sharding_sidecar@2.png" class="nl-img" alt="" />-->
          <!--<p>Sharding-Sidecar</p>-->
          <!--</div>-->
          <!--</div>-->
        </div>
      </div>
    </div>
  </header>
  <section>
    <div class="swiper-container">
      <div class="swiper-wrapper">
        <div class="swiper-slide">
          <div class="con-shard">
            <div class="con-item">
              <div class="l-msg">
                <div class="l-m-tit">水平扩展</div>
                <hr class="l-m-tit-hr" />
                <div class="l-m-info">
                  <p>数据存储不受单机磁盘容量限制，可通过增加数据服务器的数量提升存储能力，并可以随时随地动态的对数据节点进行扩容和缩容。</p>
                </div>
                <img src="https://shardingsphere.apache.org/images/db_sharding@2.png" class="point-img-shard" alt="" />
              </div>
            </div>
          </div>
        </div>
        <div class="swiper-slide">
          <div class="con-orch">
            <div class="con-item">
              <div class="l-msg">
                <div class="l-m-tit">计算存储分离</div>
                <hr class="l-m-tit-hr" />
                <div class="l-m-info">
                  <p>计算节点无状态，可通过水平扩展增加算力；存储节点可以和计算节点分层优化。可以通过计算下推充分利用存储节点的计算能力。</p>
                </div>
                <img src="https://shardingsphere.apache.org/images/db_orchestration@2.png" class="point-img-orch" alt="" />
              </div>
            </div>
          </div>
        </div>
        <div class="swiper-slide">
          <div class="con-tran">
            <div class="con-item">
              <div class="l-msg">
                <div class="l-m-tit">分布式事务</div>
                <hr class="l-m-tit-hr" />
                <div class="l-m-info">
                  <p>基于 XA 两阶段协议和柔性事务的可切换分布式事务引擎。</p>
                </div>
                <img src="https://shardingsphere.apache.org/images/db_transaction@2.png" class="point-img-tran" alt="" />
              </div>
            </div>
          </div>
        </div>
        <div class="swiper-slide">
          <div class="con-shard">
            <div class="con-item">
              <div class="l-msg">
                <div class="l-m-tit">高可用 & 强一致</div>
                <hr class="l-m-tit-hr" />
                <div class="l-m-info">
                  <p>无缝整合数据库原生的高可用和强一致解决方案。</p>
                </div>
                <img src="https://shardingsphere.apache.org/images/db_sharding@2.png" class="point-img-shard" alt="" />
              </div>
            </div>
          </div>
        </div>
        <div class="swiper-slide">
          <div class="con-tran">
            <div class="con-item">
              <div class="l-msg">
                <div class="l-m-tit">DistSQL</div>
                <hr class="l-m-tit-hr" />
                <div class="l-m-info">
                  <p>提供分布式 SQL，通过标准数据库的方式操作分布式资源和规则定义。</p>
                </div>
                <img src="https://shardingsphere.apache.org/images/db_transaction@2.png" class="point-img-tran" alt="" />
              </div>
            </div>
          </div>
        </div>
        <div class="swiper-slide">
          <div class="con-tran">
            <div class="con-item">
              <div class="l-msg">
                <div class="l-m-tit">可插拔</div>
                <hr class="l-m-tit-hr" />
                <div class="l-m-info">
                  <p>项目的功能组件能够灵活的以可插拔的方式进行扩展，开发者能够像使用积木一样定制属于自己的独特系统。</p>
                </div>
                <img src="https://shardingsphere.apache.org/images/db_transaction@2.png" class="point-img-tran" alt="" />
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
      <!-- if pagination is needed. -->
      <div class="swiper-pagination"></div>
    </div>
    <div class="con-footer">
      <hr class="con-footer-hr" />
      <div class="con-item">
        <div class="footer-img">
          <img src="https://shardingsphere.apache.org/images/logo_bottom@2.png" class="footer-logo" alt="logo" />
        </div>
        <div class="footer-icon">
          <a href="http://www.apache.org" target="_self">
            <img src="https://shardingsphere.apache.org/images/asf_logo_wide.svg" alt="apache-logo"
              style="width: 5rem;" />
          </a>
        </div>
      </div>
    </div>
  </section>
  <div class="footer">
    <p>
      Copyright © 2018-2020, Apache ShardingSphere, ShardingSphere, Apache,
      the Apache feather logo, and the Apache ShardingSphere project logo are
      either registered trademarks or trademarks of The Apache Software
      Foundation in the United States and other countries.
    </p>
  </div>
  <script>
    !(function () {
      var $navMenu = document.getElementById('nav-menu');
      var $navBtn = document.getElementById('nav-btn');
      $navBtn.addEventListener(
        'touchstart',
        function () {
          if ($navMenu.clientHeight) {
            $navMenu.style.height = '0'
          } else {
            $navMenu.style.height = 'auto'
          }
        },
        false
      )
    })()
  </script>

  <!-- Effect of carousel -->
  <script>
    var mySwiper = new Swiper('.swiper-container', {
      // direction: 'vertical', // vertical switch option
      zoom: false, // unable to zoom
      passiveListeners: false,
      simulateTouch: true, // allow simulate click on phone
      speed: 700,
      autoHeight: true, //set auto height
      autoplay: {
        delay: 4000,
        disableOnInteraction: false,
      },
      loop: true, // allow loop mode
      touchRatio: 2.5, // touch ratio, the larger the faster
      effect: 'coverflow', // choose the switch effect
      coverflowEffect: {
        rotate: 50, // y axis rotate angle
        stretch: 1,
        depth: 1500,
        modifier: 2,
        slideShadows: true,
      },
      slidesPerView: 1, // number of page show at the same time
      pagination: { //pagination
        el: '.swiper-pagination',
        bulletActiveClass: 'my-bullet-active',
        clickable: true,
      },
    });
  </script>
  <!-- chosen color of the pagination -->
  <style type="text/css">
    .my-bullet-active {
      background: #ff9f0e;
      opacity: 1;
    }
  </style>
</body>

</html>