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

What this book covers

Chapter 1, The Evolution of DBMSs, DBAs, and the Role of Apache ShardingSphere, introduces the main challenges faced by DBMSs today in production environments, the evolving role of the DBAs, and the opportunities and future directions for DBMSs. This chapter lays the foundation for the rest of this book by including a brief introduction to the Apache ShardingSphere ecosystem, the context of the project development, and the need filled by the software solution.

Chapter 2, Architectural Overview of Apache ShardingSphere, provides a professionally focused description of the software's architecture. The Database Plus driving development concept is introduced, together with the deployment architecture and the plugin platform.

Chapter 3, Key Features and Use Cases – Your Distributed Database Essentials, gives an overview of the potential use cases of ShardingSphere in professional and enterprise environments divided by industry (fintech, media, e-commerce, etc.) and introduces the solution's features that are necessary for a distributed database.

Chapter 4, Key Features and Use Cases – Focusing on Performance and Security, expands your knowledge on the potential use cases of ShardingSphere in a professional/enterprise environment by focusing on the ecosystem's features that'll allow you to monitor and improve performance and enhance security.

Chapter 5, Exploring ShardingSphere Adaptors, includes a description of the ecosystem's main clients, their differences, and how they can work either concurrently or independently, depending on your needs.

Chapter 6, ShardingSphere-Proxy Installation and Startup, introduces ShardingSphere-Proxy,
how to use it directly as MySQL and PostgreSQL servers, and how to apply it to any kind of terminal.

Chapter 7, ShardingSphere-JDBC Installation and Startup, explains the client end, how it connects to databases, its third-party database connection pool, and how to successfully install it.

Chapter 8, Apache ShardingSphere Advanced Usage – Database Plus and Plugin Platform, illustrates how to customize the plugin platform on an ad hoc basis to get the most out of your system and introduces cloud-native principles.

Chapter 9, Baseline and Performance Test System Introduction, introduces the built-in baseline and performance testing system and how to use it – from preparing your test to report analysis.

Chapter 10, Testing Frequently Encountered Application Scenarios, offers tests for frequently encountered application scenarios, including distributed databases, read/write splitting, and shadow databases.

Chapter 11, Exploring the Best Use Cases for ShardingSphere, showcases the best use cases for each scenario, as well as a series of real-world examples such as distributed database solutions, database security, synthetic monitoring, and database gateway.

Chapter 12, Applying Theory to Practical Real-World Examples, builds on the knowledge cumulated in Chapter 11, Exploring the Best Use Cases for ShardingSphere, and provides methodologies to turn theory into practice.

Appendix and the Evolution of the Apache ShardingSphere Open Source Community, offers a guide to leverage the ecosystem's documentation, the example projects in the GitHub repository, more information on ShardingSphere's source code and license, and how to join the project's open source community.