Book Image

A Definitive Guide to Apache ShardingSphere

By : Trista Pan, Zhang Liang, Yacine Si Tayeb
Book Image

A Definitive Guide to Apache ShardingSphere

By: Trista Pan, Zhang Liang, Yacine Si Tayeb

Overview of this book

Apache ShardingSphere is a new open source ecosystem for distributed data infrastructures based on pluggability and cloud-native principles that helps enhance your database. 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. 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. By the end of 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.
Table of Contents (18 chapters)
1
Section 1: Introducing Apache ShardingSphere
4
Section 2: Apache ShardingSphere Architecture, Installation, and Configuration
10
Section 3: Apache ShardingSphere Real-World Examples, Performance, and Scenario Tests

Configuration – multiple features, server properties

In this section, we will discuss how to realize the rule configuration of data sharding based on read/write splitting. Please note that the data source used in this process should be the one after aggregating read/write splitting.

DistSQL

The SQL syntax is consistent with each feature when used singularly. For more detailed syntax, please refer to the following sections:

  • Configuration – sharding
  • Configuration – read/write splitting
  • Configuration – mode

Now for the example! Perform the following steps:

  1. First, create the read/write splitting rules:
    CREATE READWRITE_SPLITTING RULE ds_0 (
       WRITE_RESOURCE=write_ds_0,
       READ_RESOURCES(write_ds_0_read_ds_0, write_ds_0_read_ds_1),TYPE(NAME=ROUND_ROBIN)
    ), ds_1 (
       WRITE_RESOURCE=write_ds_1,
       READ_RESOURCES(write_ds_1_read_ds_0, write_ds_1_read_ds_1),TYPE(NAME...