Preface

Apache ShardingSphere is a new open source ecosystem for distributed data infrastructures based on pluggability and cloud-native principles.

This book begins with a quick overview of the main challenges faced by DBMSs today in production environments, followed by a brief introduction to the ShardingSphere software's kernel concept. Thereafter, through real-world examples, including distributed database solutions, elastic scaling, DistSQL, synthetic monitoring, SQL authorization and user authentication, and database gateway, you will gain a full understanding of ShardingSphere's architectural components and how they are configured and can be plugged into your existing infrastructure to manage your data and applications. Moving ahead, you will get well versed with ShardingSphere-JDBC and ShardingSphere-Proxy, the ecosystem's clients, and how they can work either concurrently or independently according to your needs. Then, you will learn how to customize the plugin platform to define your personalized user strategies and manage multiple configurations seamlessly. Lastly, you will get up and running with functional and performance tests for all scenarios.

By the end of this book, you will be able to build and deploy your own customized version of ShardingSphere, addressing the key pain points encountered in your data management infrastructure.

Who this book is for

This book is for database administrators (DBAs) 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, cloud computing, and data management in general is needed.

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.

To get the most out of this book

For this book, to be able to get the most out of your system and Apache ShardingSphere, you will need a few simple tools.

We have compiled a list of the software you may need, depending on the features or ShardingSphere clients you are interested in.

In terms of the operating system, you may use any of the mainstream choices available, Windows, macOS, or Linux. All code examples have been tested in all three operating systems and should work with future versions too.

If you were to encounter any difficulties in the installation, and you cannot find the fix covered in this book for reasons such as a particular setup you may be using, you can reach out to the community in the Issues or Discussions sections of Apache ShardingSphere's GitHub repository.

If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book's GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.

ShardingSphere uses the Apache Software Foundation's Apache License 2.0. You can find the complete details here: https://www.apache.org/licenses/LICENSE-2.0.

Download the example code files

You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/A-Definitive-Guide-to-Apache-ShardingSphere. If there's an update to the code, it will be updated in the GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

You can connect with the community for more events, and user cases, and if you want to try, become an open source developer.

Download the color images

We also provide a PDF file that has color images of the screenshots and diagrams used in this book. You can download it here: https://packt.link/VUBd8.

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Mount the downloaded WebStorm-10*.dmg disk image file as another disk in your system."

A block of code is set as follows:

html, body, #map {
 height: 100%; 
 margin: 0;
 padding: 0
}

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

[default]
exten => s,1,Dial(Zap/1|30)
exten => s,2,Voicemail(u100)
exten => s,102,Voicemail(b100)
exten => i,1,Voicemail(s0)

Any command-line input or output is written as follows:

$ mkdir css

$ cd css

Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: "Select System info from the Administration panel."

Tips or important notes

Appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Share Your Thoughts

Once you've read A Definitive Guide to Apache ShardingSphere, we'd love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we're delivering excellent quality content.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.136.154.103