Logo
SphereEx-DBPlusEngine 最佳实践

SphereEx-DBPlusEngine 最佳实践 #

助力一键部署 #

要上手 DBPlusEngine-Proxy ,您将使用到 SphereEx-Boot 工具,SphereEx-Boot 工具是一款基于 Python 开发的用于方便管理 DBPlusEngine-Proxy 集群的命令行工具。主要功能是对 DBPlusEngine-Proxy 进行安装、启动、停止、查看运行状态、卸载等相关管理。通过 SphereEx-Boot 工具,只需执行一行命令就可运行任意 DBPlusEngine-Proxy 集群组件,大大降低了运维成本。另外 SphereEx-Boot 工具提供标准化的水平扩展功能,可通过增加数据服务器的数量可以随时随地动态的对集群进行扩容。

助力操作可视化 #

SphereEx-Console,是应用于对 SphereEx 企业数据服务平台进行管理控制的可视化操作平台,提供更为易用的使用体验;同时,构建起以 ShardingSphere 为核心的整体解决方案,包括针对资源、实例、插件等多种功能封装,为用户带来一站式的使用体验。

功能易用

提高了用户体验,避免了配置错误,用户不需要通过配置和命令操作 SphereEx 企业数据服务平台,易用性得到极大提升,实现了平台使用的“零”瓶颈。

功能全面

提供了对 SphereEx 企业数据服务平台从基础资源到插件能力的管控,形成了统一的解决方案。

可视化监控

原生提供可视化的监控数据面板,可以实时在线查看 SphereEx 企业数据服务平台的集群、实例、主机的监控数据。

助力提升企业效能 #

  • 增效:在不改变客户的原有架构的前提下增强数据库的能力:

    • 获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服务质量分析、可观察性)等透明化增量功能。

    • 项目采用微内核 + 三层可插拔模型,使内核、功能组件以及生态对接完全能够灵活的方式进行插拔式扩展,开发者能够像使用积木一样定制属于自己的独特系统。

  • 降本: SphereEx-DBPlusEngine 基于原有架构不引入新的数据库类型,不会增加 DBA 的学习成本;复用原有架构不会增加采购成本,大大降低了客户的分布式的运维和改造成本。

助力企业数字化 #

SphereEx-DBPlusEngine 数据分片功能助力企业解决数字化过程中遇到的,将数据集中存储至单一节点的解决方案中海量数据的场景下的性能低、可用性差和运维成本高的问题。

  • 从性能方面来说,由于关系型数据库大多采用 B+ 树类型的索引,在数据量超过阈值的情况下,索引深度的增加也将使得磁盘访问的 IO 次数增加,进而导致查询性能的下降; 同时,高并发访问请求也使得集中式数据库成为系统的最大瓶颈。

  • 从可用性的方面来讲,服务化的无状态性,能够达到较小成本的随意扩容,这必然导致系统的最终压力都落在数据库之上。 而单一的数据节点,或者简单的主从架构,已经越来越难以承担。数据库的可用性,已成为整个系统的关键。

  • 从运维成本方面考虑,当一个数据库实例中的数据达到阈值以上,对于 DBA 的运维压力就会增大。 数据备份和恢复的时间成本都将随着数据量的大小而愈发不可控。一般来讲,单一数据库实例的数据的阈值在 1TB 之内,是比较合理的范围。

在传统的关系型数据库无法满足互联网场景需要的情况下,将数据存储至原生支持分布式的 NoSQL 的尝试越来越多。 但 NoSQL 对 SQL 的不兼容性以及生态圈的不完善,使得它们在与关系型数据库的博弈中始终无法完成致命一击,而关系型数据库的地位却依然不可撼动。

数据分片指按照某个维度将存放在单一数据库中的数据分散地存放至多个数据库或表中以达到提升性能瓶颈以及可用性的效果。 数据分片的有效手段是对关系型数据库进行分库和分表。分库和分表均可以有效的避免由数据量超过可承受阈值而产生的查询瓶颈。 除此之外,分库还能够用于有效的分散对数据库单点的访问量;分表虽然无法缓解数据库压力,但却能够提供尽量将分布式事务转化为本地事务的可能,一旦涉及到跨库的更新操作,分布式事务往往会使问题变得复杂。 使用多主多从的分片方式,可以有效的避免数据单点,从而提升数据架构的可用性。

SphereEx-DBPlusEngine 通过分库和分表进行数据的拆分来使得各个表的数据量保持在阈值以下,以及对流量进行疏导应对高访问量,是应对高并发和海量数据系统的有效手段。