<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Apache ShardingSphere</title>
    <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png" />
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png" />
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png" />
    <link rel="manifest" href="/favicon/site.webmanifest" />
    <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5" />
    <meta name="msapplication-TileColor" content="#da532c" />
    <meta name="theme-color" content="#ffffff" />
    <meta property="og:title" content="Apache SharingSphere" />
    <meta property="og:description" content="The ecosystem to transform any database into a distributed database system, and enhance it with sharding, elastic scaling, encryption features & more" />
    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://shardingsphere.apache.org/" />
    <meta property="og:image" content="https://shardingsphere.apache.org/images/base/logo.png" />
    <meta name="twitter:card" value="summary" />
    <meta name="twitter:site" value="@ShardingSphere" />
    <script src="./js/libs/bodyScrollLock.min.js"></script>
    <script src="./js/libs/jquery-3.6.0.min.js"></script>
    <link rel="stylesheet" href="./style/font.css" />
    <link rel="stylesheet" href="./style/modern-normalize.css" />
    <link rel="stylesheet" href="./style/base.css" />
    <link rel="stylesheet" href="./style/index.css" />
    <link rel="stylesheet" href="./style/firstSection.css" />
    <link rel="stylesheet" href="./style/firstSectionResponsive.css" />
    <link rel="stylesheet" href="./style/introduce.css" />
    <link rel="stylesheet" href="./style/roadmap.css" />
    <link rel="stylesheet" href="./style/roadmapResponsive.css" />
    <link rel="stylesheet" href="./style/bookDesc.css " />
    <link rel="stylesheet" href="./style/bookDescResponsive.css" />
    <link rel="stylesheet" href="./style/footer.css" />
    <link rel="stylesheet" href="./style/footerResponsive.css" />
    <link rel="stylesheet" href="./style/navigation.css" />
    <link rel="stylesheet" href="./style/coreValue.css" />
    <link rel="stylesheet" href="./style/coreValueResponsive.css" />
    <link rel="stylesheet" type="text/css" href="./style/slick.min.css" />

    <link rel="stylesheet" href="./style/slick.css" />

    <!-- baidu Analytics -->
    <script>
      var _hmt = _hmt || []
      ;(function () {
        var hm = document.createElement('script')
        hm.src = 'https://hm.baidu.com/hm.js?d5a1dc8dcf63a64ee55b80de01c7fb1a'
        var s = document.getElementsByTagName('script')[0]
        s.parentNode.insertBefore(hm, s)
      })()
    </script>
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script
      async
      src="https://www.googletagmanager.com/gtag/js?id=G-HETCF66YL0"
    ></script>
    <script>
      window.dataLayer = window.dataLayer || []
      function gtag() {
        window.dataLayer.push(arguments)
      }
      gtag('js', new Date())

      gtag('config', 'G-HETCF66YL0', {
        page_title: 'homepage_en',
      })
    </script>
  </head>
  <body class="book-en">
    <!-- navigation -->
    <nav class="navigation">
      <div class="content">
        <div class="logos">
          <a href="/">
            <img src="./images/base/sharding_logo.png" />
          </a>
        </div>

        <div class="links">
          <a href="https://shardingsphere.apache.org/document/current/en/downloads/" target="_blank">Download</a>

          <div class="i-drop-btn">
            <span>Document</span>
            <span class="arrow"></span>

            <div class="i-drop-pop">
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/current/en/overview" target="_blank">master</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/5.1.2/en/overview" target="_blank">5.1.2</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/5.1.1/en/overview" target="_blank">5.1.1</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/5.1.0/en/overview" target="_blank">5.1.0</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/5.0.0/en/overview" target="_blank">5.0.0</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/5.0.0-beta/en/overview" target="_blank">5.0.0-beta</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/5.0.0-alpha/en/overview" target="_blank">5.0.0-alpha</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/4.1.1/en/overview" target="_blank">4.1.1(Legacy)</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/4.1.0/en/overview" target="_blank">4.1.0(Legacy)</a>
              </div>

              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/legacy/4.x/document/en/overview" target="_blank">4.x(Legacy)</a>
              </div>

              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/legacy/3.x/document/en/overview" target="_blank">3.x(Legacy)</a>
              </div>
              <em class="i-drop-line"></em>

              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/document/legacy/2.x/en/" target="_blank">2.x(Legacy)</a>
              </div>
            </div>
          </div>

          <div class="i-drop-btn">
            <span>Community</span>
            <span class="arrow"></span>

            <div class="i-drop-pop">
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/community/en/contribute/" target="_blank">Contribution</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/community/en/team/" target="_blank">Team</a>
              </div>
              <div class="dropListItem">
                <a href="https://github.com/apache/shardingsphere/wiki" target="_blank">Wiki</a>
              </div>
              <em class="i-drop-line"></em>
              <div class="dropListItem">
                <a href="https://github.com/apache/shardingsphere" target="_blank">GitHub</a>
              </div>
              <div class="dropListItem">
                <a href="https://github.com/apache/shardingsphere/issues" target="_blank">Issue Tracker &nbsp;</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/community/en/powered-by/" target="_blank">Powered By</a>
              </div>
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/community/en/contribute/subscribe/" target="_blank">Mailing List</a>
              </div>
              <div class="dropListItem">
                <a href="https://twitter.com/ShardingSphere" target="_blank">Twitter</a>
              </div>
              <div class="dropListItem">
                <a href="https://apacheshardingsphere.slack.com/messages/C026MLH7F34" target="_blank">Slack</a>
              </div>
              <div class="dropListItem">
                <a href="/learning.html" target="_blank">Learning</a>
              </div>
            </div>
          </div>

          <div id="btn-subproject" class="i-drop-btn">
            <span>Subproject</span>
            <span class="arrow"></span>
            <div class="i-drop-pop">
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/elasticjob/" target="_blank">ElasticJob</a>
              </div>
            </div>
          </div>

          <div id="btn-community" class="i-drop-btn">
            <span>Blog</span>
            <span class="arrow"></span>
            <div class="i-drop-pop">
              <div class="dropListItem">
                <a href="https://shardingsphere.apache.org/blog/en/material" target="_blank">Selections</a>
              </div>
              <div class="dropListItem">
                <a href="https://github.com/apache/shardingsphere/issues/650" target="_blank">Collections</a>
              </div>
            </div>
          </div>

          <div id="btn-asf" class="i-drop-btn">
            <span>ASF</span>
            <span class="arrow"></span>
            <div .dropListItem class="i-drop-pop">
              <div class="dropListItem">
                <a href="https://www.apache.org" target="_self">Foundation</a>
              </div>

              <div class="dropListItem">
                <a href="https://www.apache.org/licenses/" target="_self">License</a>
              </div>
              <div class="dropListItem">
                <a href="https://www.apache.org/events/current-event" target="_self">Events</a>
              </div>
              <div class="dropListItem">
                <a href="https://www.apache.org/security/" target="_self">Security</a>
              </div>
              <div class="dropListItem">
                <a href="https://www.apache.org/foundation/sponsorship.html" target="_self">Sponsorship</a>
              </div>
              <div class="dropListItem">
                <a href="https://www.apache.org/foundation/thanks.html" target="_self">Thanks</a>
              </div>
            </div>
          </div>

          <span class="langs">
            <a href="/">EN</a>
            <div class="l"></div>
            <a href="/index_zh.html">CN</a>
          </span>
        </div>

        <div class="iconMenu"></div>
      </div>
    </nav>

    <main>
      <!-- first section -->

      <section id="firstSection" class="en"> 
        <div class="topShadow"></div>

        <div class="container">
          <div class="content">
            <img class="book" src="./images/firstSection/book.png" alt="book" />

            <div class="leftContent">
              <h1>A Definitive Guide to Apache ShardingSphere</h1>
              <p class="subtitle">
                Transform any DBMS into a distributed database with sharding, scaling, encryption features, and more 
              </p>
              <p class="subtitle">
                by  <span>Trista Pan</span>  (Author), <span>Zhang Liang</span>  (Author), <span>Yacine Si Tayeb, PhD</span>  (Author)
              </p>

              <div class="buttons">
                <a
                  target="_blank"
                  href="https://www.amazon.com/Definitive-Guide-Apache-ShardingSphere-multi-model-dp-1803239425/dp/1803239425/ref=mt_other?_encoding=UTF8&me=&qid=1655188637">
                  <button class="primary">Purchase on Amazon</button>
                </a>
              </div>
            </div>
          </div>
        </div>
      </section>

      <!-- introduce -->
      <section id="introduce">
        <div class="container">
            <div class="content">
                <p>
                    Become well versed with all of ShardingSphere's features for every data management need with this comprehensive guide put together by ShardingSphere's founder and core contributors
                </p>
                <p>
                    With this book, you'll be able to build and deploy a customized version of ShardingSphere, addressing the key pain points encountered in your data management infrastructure.
                </p>
                <p>
                    This book provides you with complete step-by-step explanations of essential concepts, practical examples, and self-assessment questions. You will begin by exploring the problems with DBMS, and the evolution of the ShardingSphere concept, to understand the best application scenarios through real-world examples.
                </p>
            </div>
        </div>
      </section>

      <!-- book desc -->

      <div id="bookDesc">
          <div class="container">
              <div class="content">
                  <h1>Book description</h1>
                  <p>Apache ShardingSphere is a new open source ecosystem for distributed data infrastructures based on pluggability and cloud-native principles that helps enhance your database.</p>

                  <p>This book begins with a quick overview of the main challenges faced by database management systems (DBMSs) in production environments, followed by a brief introduction to the software's kernel concept. After that, using real-world examples of distributed database solutions, elastic scaling, DistSQL, synthetic monitoring, database gateways, and SQL authority and user authentication, you'll fully understand ShardingSphere's architectural components, how they're configured and can be plugged into your existing infrastructure, and how to manage your data and applications. </p>
                    
                  <p>You'll also explore ShardingSphere-JDBC and ShardingSphere-Proxy, the ecosystem's clients, and how they can work either concurrently or independently to address your needs. You'll then learn how to customize the plugin platform to define personalized user strategies and manage multiple configurations seamlessly. Finally, the book enables you to get up and running with functional and performance tests for all scenarios.</p>
                    
                  <p>Publisher: Packt Publishing (July 17, 2022). Full details on Amazon. Publisher: Packt Publishing (December 9, 2020). Full details on Amazon.</p>

                  <p><b>A free copy of chapter one is available <a href="https://www.amazon.com/Definitive-Guide-Apache-ShardingSphere-multi-model-dp-1803239425/dp/1803239425/ref=mt_other?_encoding=UTF8&me=&qid=1655188637&asin=1803239425&revisionId=&format=4&depth=1" target="_blank"> here</a> for download.</b></p>

                  <h3>Who this book is for</h3>

                  <p>This book is for database administrators working with distributed database solutions who are looking to explore the capabilities of Apache ShardingSphere. DBAs looking for more capable, flexible, and cost-effective alternatives to the solutions they're currently utilizing will also find this book helpful. To get started with this book, a basic understanding of, or even an interest in, databases, relational databases, SQL languages, cloud computing, and data management in general is needed.</p>

                  <h3>What you’ll learn</h3>

                  <div class="learn-con">
                      <ul>
                          <li>
                            Assemble a custom solution using the software's pluggable architecture
                          </li>
                          <li>
                            Discover how to use Database Plus features effectively
                          </li>
                          <li>
                            Understand the difference between ShardingSphere-JDBC and ShardingSphere-Proxy
                          </li>
                          <li>
                            Get to grips with ShardingSphere's pluggability mechanism
                          </li>
                      </ul>
                      <ul>
                        <li>Explore mainstream test models for databases and distributed databases</li>
                        <li>Perform migrations from an on-premise database to a cloud-based database</li>
                        <li>Reconfigure your data infrastructure and eliminate switching costs</li>
                      </ul>
                  </div>
              </div>
          </div>
      </div>
    </main>

    <!-- footer -->
    <footer>
      <div class="container content">
        <div class="logosAndCommunityList">
          <div>
            <div class="logos">
              <a href="https://www.apache.org/foundation/contributing.html">
                <img src="./images/base/support-apache.png" alt="Apache Support Logo" />
              </a>
              <a href="https://www.apache.org/">
                <img src="./images/base/asf_logo.svg" alt="The Apache Software Foundation" />
              </a>
            </div>

            <span class="text">
              Copyright © 2018-2022, 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.
            </span>
          </div>

          <div class="communityList">
            <div class="communitySubList">
              <a href="https://github.com/apache/shardingsphere" class="item">
                <img src="/images/footer/github.png" alt="github" />
                <span>Github</span>
              </a>
              <a href="https://twitter.com/ShardingSphere" class="item">
                <img src="/images/footer/twitter.png" alt="twitter" />
                <span>Twitter</span>
              </a>
            </div>

            <div class="communitySubList">
              <a href="https://app.slack.com/client/T026JKU2DPF/C026MLH7F34" class="item">
                <img src="/images/footer/slack.png" alt="slack" />
                <span>Slack</span>
              </a>

              <a href="https://www.linkedin.com/showcase/apache-shardingsphere/" class="item">
                <img src="/images/footer/linkedIn.png" alt="linkedIn" />
                <span>LinkedIn</span>
              </a>
            </div>

            <div class="communitySubList">
              <a href="https://medium.com/@shardingsphere" class="item">
                <img src="/images/footer/medium.png" alt="medium" />
                <span>Medium</span>
              </a>
              <a href="https://www.reddit.com/r/Apache_ShardingSphere/" class="item">
                <img src="/images/footer/reddit.png" alt="reddit" />
                <span>Reddit</span>
              </a>
            </div>
          </div>
        </div>

        <nav class="footerNavigation">
          <div class="item">
            <a href="https://shardingsphere.apache.org/document/current/en/downloads/" target="_blank">Download</a>
          </div>

          <div class="item">
            <span>Documentation</span>

            <div class="links">
              <div class="item">
                <a href="https://shardingsphere.apache.org/document/current/en/overview" target="_blank">master</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/document/5.1.1/en/overview" target="_blank">5.1.1</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/document/5.1.0/en/overview" target="_blank">5.1.0</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/document/5.0.0/en/overview" target="_blank">5.0.0</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/document/5.0.0-beta/en/overview" target="_blank">5.0.0-beta</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/document/5.0.0-alpha/en/overview" target="_blank">5.0.0-alpha</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/document/4.1.1/en/overview" target="_blank">4.1.1(Legacy)</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/document/4.1.0/en/overview" target="_blank">4.1.0(Legacy)</a>
              </div>

              <div class="item">
                <a href="https://shardingsphere.apache.org/document/legacy/4.x/document/en/overview" target="_blank">4.x(Legacy)</a>
              </div>

              <div class="item">
                <a href="https://shardingsphere.apache.org/document/legacy/3.x/document/en/overview" target="_blank">3.x(Legacy)</a>
              </div>

              <div class="item">
                <a href="https://shardingsphere.apache.org/document/legacy/2.x/en/" target="_blank">2.x(Legacy)</a>
              </div>
            </div>
          </div>

          <div class="item">
            <span>Community</span>

            <div class="links">
              <div class="item">
                <a href="https://shardingsphere.apache.org/community/en/contribute/" target="_blank">Contribution</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/community/en/team/" target="_blank">Team</a>
              </div>
              <div class="item">
                <a href="https://github.com/apache/shardingsphere/wiki" target="_blank">Wiki</a>
              </div>
              <div class="item">
                <a href="https://github.com/apache/shardingsphere" target="_blank">GitHub</a>
              </div>
              <div class="item">
                <a href="https://github.com/apache/shardingsphere/issues" target="_blank">Issue Tracker &nbsp;</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/community/en/powered-by/" target="_blank">Powered By</a>
              </div>
              <div class="item">
                <a href="https://shardingsphere.apache.org/community/en/contribute/subscribe/" target="_blank">Mailing List</a>
              </div>
              <div class="item">
                <a href="https://twitter.com/ShardingSphere" target="_blank">Twitter</a>
              </div>
              <div class="item">
                <a href="https://apacheshardingsphere.slack.com/messages/C026MLH7F34" target="_blank">Slack</a>
              </div>
            </div>
          </div>

          <div id="btn-subproject" class="item">
            <span>Subproject</span>

            <div class="links">
              <div class="item">
                <a href="https://shardingsphere.apache.org/elasticjob/" target="_blank">ElasticJob</a>
              </div>
            </div>
          </div>

          <div id="btn-community" class="item">
            <span>Blog</span>

            <div class="links">
              <div class="item">
                <a href="https://shardingsphere.apache.org/blog/en/material" target="_blank">Selections</a>
              </div>
              <div class="item">
                <a href="https://github.com/apache/shardingsphere/issues/650" target="_blank">Collections</a>
              </div>
            </div>
          </div>

          <div id="btn-asf" class="item">
            <span>ASF</span>

            <div class="links">
              <div class="item">
                <a href="https://www.apache.org" target="_self">Foundation</a>
              </div>

              <div class="item">
                <a href="https://www.apache.org/licenses/" target="_self">License</a>
              </div>
              <div class="item">
                <a href="https://www.apache.org/events/current-event" target="_self">Events</a>
              </div>
              <div class="item">
                <a href="https://www.apache.org/security/" target="_self">Security</a>
              </div>
              <div class="item">
                <a href="https://www.apache.org/foundation/sponsorship.html" target="_self">Sponsorship</a>
              </div>
              <div class="item">
                <a href="https://www.apache.org/foundation/thanks.html" target="_self">Thanks</a>
              </div>
            </div>
          </div>
        </nav>
      </div>
    </footer>

    <div class="mobileMenu" style="display: none">
      <div class="header">
        <div class="logos">
          <a href="https://www.apache.org/foundation/contributing.html">
            <img src="./images/base/support-apache.png" alt="Apache Support Logo" />
          </a>
          <a href="https://www.apache.org/">
            <img src="./images/base/asf_logo.svg" alt="The Apache Software Foundation" />
          </a>
        </div>
        <div class="x"></div>
      </div>

      <div class="mobileMenuList">
        <a href="https://shardingsphere.apache.org/document/current/en/downloads/" class="item">
          <span>Download</span>
        </a>

        <div class="item">
          <span>Document</span>
          <div class="arrowIcon"></div>
        </div>

        <div class="itemList">
          <a href="https://shardingsphere.apache.org/document/current/en/overview" target="_blank">master</a>
          <a href="https://shardingsphere.apache.org/document/5.1.1/en/overview" target="_blank">5.1.1</a>
          <a href="https://shardingsphere.apache.org/document/5.1.0/en/overview" target="_blank">5.1.0</a>
          <a href="https://shardingsphere.apache.org/document/5.0.0/en/overview" target="_blank">5.0.0</a>
          <a href="https://shardingsphere.apache.org/document/5.0.0-beta/en/overview" target="_blank">5.0.0-beta(Legacy)</a>
          <a href="https://shardingsphere.apache.org/document/5.0.0-alpha/en/overview" target="_blank">5.0.0-alpha(Legacy)</a>
          <a href="https://shardingsphere.apache.org/document/4.1.1/en/overview" target="_blank">4.1.1(Legacy)</a>
          <a href="https://shardingsphere.apache.org/document/4.1.0/en/overview" target="_blank">4.1.0(Legacy)</a>
          <a href="https://shardingsphere.apache.org/document/legacy/4.x/document/en/overview" target="_blank">4.x(Legacy)</a>
          <a href="https://shardingsphere.apache.org/document/legacy/3.x/document/en/overview" target="_blank">3.x(Legacy)</a>
          <a href="https://shardingsphere.apache.org/document/legacy/2.x/en/" target="_blank">2.x(Legacy)</a>
        </div>

        <div class="item">
          <span>Community</span>
          <div class="arrowIcon"></div>
        </div>

        <div class="itemList">
          <a href="https://shardingsphere.apache.org/community/en/contribute/" target="_blank">Contribution</a>
          <a href="https://shardingsphere.apache.org/community/en/team/" target="_blank">Team</a>
          <a href="https://github.com/apache/shardingsphere/wiki" target="_blank">Wiki</a>
          <em class="i-drop-line"></em>
          <a href="https://github.com/apache/shardingsphere" target="_blank">GitHub</a>
          <a href="https://github.com/apache/shardingsphere/issues" target="_blank">Issue Tracker</a>
          <a href="https://shardingsphere.apache.org/community/en/powered-by/" target="_blank">Powered By</a>
          <a href="https://shardingsphere.apache.org/community/en/contribute/subscribe/" target="_blank">Mailing List</a>
          <a href="https://twitter.com/ShardingSphere" target="_blank">Twitter</a>
          <a href="https://apacheshardingsphere.slack.com/messages/C026MLH7F34" target="_blank" >Slack</a>
        </div>

        <div class="item">
          <span>Subproject</span>
          <div class="arrowIcon"></div>
        </div>

        <div class="itemList">
          <a href="https://shardingsphere.apache.org/elasticjob/" target="_blank">ElasticJob</a>
        </div>

        <div class="item">
          <span>Blog</span>
          <div class="arrowIcon"></div>
        </div>

        <div class="itemList">
          <a href="https://shardingsphere.apache.org/blog/en/material" target="_blank">Selections</a>
          <a href="https://github.com/apache/shardingsphere/issues/650" target="_blank">Collections</a>
        </div>

        <div class="item">
          <span>ASF</span>
          <div class="arrowIcon"></div>
        </div>

        <div class="itemList">
          <a href="https://www.apache.org" target="_self">Foundation</a>
          <a href="https://www.apache.org/licenses/" target="_self">License</a>
          <a href="https://www.apache.org/events/current-event" target="_self">Events</a>
          <a href="https://www.apache.org/security/" target="_self">Security</a>
          <a href="https://www.apache.org/foundation/sponsorship.html" target="_self">Sponsorship</a>
          <a href="https://www.apache.org/foundation/thanks.html" target="_self">Thanks</a>
        </div>

        <div class="languageSelect item">
          <span>Language</span>
          <div class="arrowIcon"></div>
        </div>
        <div class="langs itemList">
          <a href="/index_zh.html">
            <span>CN</span>
          </a>
          <a href="/#English">
            <span>English</span>
          </a>
        </div>

        <div class="buttons">
          <a href="https://shardingsphere.apache.org/document/current/en/downloads/">
            <button class="primary">Download</button>
          </a>
          <a href="https://shardingsphere.apache.org/document/current/en/">
            <button class="outline">Learn More</button>
          </a>
        </div>
      </div>
    </div>

    <script
      type="text/javascript" src="./js/libs/slick.min.js"></script>
    <script src="./js/index.js"></script>
  </body>
</html>
