SphereEx-DBPlusEngine Best Practices #
One-click Deployment #
To get started with DBPlusEngine-Proxy, you will use the SphereEx-Boot tool, which is a command-line tool developed based on Python to facilitate the management of DBPlusEngine-Proxy clusters.
Its main function is to install, start, stop, view the running status, uninstall and other related management of DBPlusEngine-Proxy. With the SphereEx-Boot tool, you can run any DBPlusEngine-Proxy cluster component with just one line of command, greatly reducing the operation and maintenance cost.
The SphereEx-Boot tool also provides standardized horizontal expansion function, which can dynamically expand the cluster anytime and anywhere by increasing the number of data servers.
Operation Visualization #
SphereEx-Console is a visual operation platform applied to the management and control of the SphereEx Enterprise Data Service Platform, providing a more user-friendly experience. At the same time, a comprehensive solution with ShardingSphere as the core is built, packaging of multiple functions such as resource layer, instance layer and application layer, to provide users with a one-stop solution.
Easy to use
It improves the user experience and avoids configuration errors. Users do not need to operate the SphereEx Enterprise Data Service Platform through configuration and commands, which greatly improves ease of use and achieves platform “zero” bottlenecks.
Comprehensive
Evolving the management capabilities of the open source version, it provides a unified solution for the management and control of the SphereEx Enterprise Data Service Platform from basic resources to plugin capabilities.
Visual monitoring
With its data visualization & management dashboard, SphereEx Enterprise Data Service Platform’s clusters, instances and hosts monitoring data are visible online and in real time.
Improve Enterprise Efficiency #
Efficiency enhancement: enhance the ability of the database without changing the original structure of the customer:
Obtain the access traffic of the database, and provide transparent incremental functions such as traffic redirection (data sharding, read-write splitting, shadow database), traffic deformation (data encryption, data desensitization), traffic authentication (security, audit, authority), traffic governance (fusing, flow restriction) and traffic analysis (service quality analysis, observability).
The project adopts micro kernel + three-tier pluggable model, so that the kernel, functional components and ecological docking can be pluggable and expanded in a flexible way, and developers can customize their own unique system like building blocks.
Cost reduction: Based on the original architecture, SphereEx-DBPlusEngine does not introduce new database types, which will not increase the learning cost of DBA; Reusing the original architecture will not increase the procurement cost and greatly reduce the distributed operation and maintenance and transformation cost of customers.
Support Enterprises Digital Transformation #
The data sharding feature of SphereEx-DBPlusEngine helps enterprises solve the problems of low performance, poor availability and high operation and maintenance cost in the scenarios with massive data using a solution of centralized storage of data to a single node in the process of digitization.
In terms of performance, most relational databases use B + tree indexes. When the amount of data exceeds the threshold, the increase of index depth will also increase the IO times of disk access, resulting in the decline of query performance. At the same time, high concurrent access requests also make the centralized database the biggest bottleneck of the system.
In terms of availability, the stateless nature of service can achieve the random expansion at a small cost, which will inevitably lead to the final pressure of the system falling on the database. A single data node, or a simple primary-secondary architecture, has become more and more difficult to bear. The availability of database has become the key of the whole system.
In terms of operation and maintenance cost, when the data in a database instance reaches above the threshold, the operation and maintenance pressure on DBA will increase. The time cost of data backup and recovery will become more and more uncontrollable with the amount of data. Generally speaking, the data threshold of a single database instance is within 1TB, which is a reasonable range.
When the traditional relational database cannot meet the needs of Internet scenarios, there are more and more attempts to store data in native NoSQL that supports distributed. However, the incompatibility of NoSQL with SQL and the imperfection of ecosystem make them unable to complete a fatal blow in the game with relational database, while the position of relational database is still unshakable.
Data sharding refers to the decentralized storage of data stored in a single database in multiple databases or tables according to a certain dimension, to improve the performance bottleneck and availability. The effective means of data sharding is to divide the relational database into database and table. Both sub database and sub table can effectively avoid the query bottleneck caused by the amount of data exceeding the acceptable threshold. In addition, the sub database can also be used to effectively disperse the number of visits to a single point of the database.
Although split tables cannot alleviate the pressure of database, they can provide the possibility to transform distributed transactions into local transactions as much as possible. Once cross database update operations are involved, distributed transactions often complicate the problem. Using multi master and multi slave sharding can effectively avoid single point of data, so as to improve the availability of data architecture.
SphereEx-DBPlusEngine keeps the data volume of each table below the threshold through data splitting by database and table, and dredges the traffic to deal with high access volume. It is an effective means to deal with high concurrency and massive data systems.