DBScale大数据处理

概述

DBScale是万里开源完全自主研发的分布式数据库中间件产品,帮助用户搭建基于x86服务器的MySQL等开源数据库的分布式数据库集群,通过集群架构和多节点处理提升数据库整体的处理能力,并且安全无后门,可以充分保证用户的数据安全。
    随着信息化的不断发展,企业IT系统面临数据量爆炸式增长,数据处理能力瓶颈,信息系统综合成本高昂等问题。企业搭建的传统架构不仅过于依赖国外数据库产品,而且无法进行横向扩展,导致业务处理能力容易出现天花板,而此时再进行改造的成本将大大增加。

    DBScale是万里开源完全自主研发的分布式数据库中间件产品,帮助用户搭建基于x86服务器的MySQL等开源数据库的分布式数据库集群,通过集群架构和多节点处理提升数据库整体的处理能力,并且安全无后门,可以充分保证用户的数据安全。

    DBScale是一款专门用来处理关系型数据库水平扩展(scale out)的软件,它可以把多个独立的数据库实例组合成一个虚拟的数据库,以供客户端程序使用;客户端程序可以像使用一个独立的真实数据库实例一样去使用该DBScale虚拟数据库,而无需关心真实的数据库分布。当数据量、负载增大时,DBScale可以无限制的动态扩展数据库节点,以满足业务发展需要。
整体架构如下图所示:



                                                        


                                             


     DBScale并不是一个关系型数据库软件,而是一个用于数据库分布式水平扩展的中间件。如图所示,除客户端应用服务器外,整个架构主要分为两部分: 存储计算节点部分:运行数据库软件,比如MySQL,图右侧的“Backend DB Cluster”部分。该部分由多个独立、完整的数据库实例组成,不同实例可以运行在不同的物理机器,也可以相同;负责真实数据的存储和计算。每个数据库实例和单机数据库没有区别。

     控制节点部分:运行DBScale软件,图中间的“DBScale”部分。DBScale位于客户端和数据库之间,所有客户端的请求和数据库返回的结果集,都要经过DBScale,DBScale 负责调度分发客户端请求到真实的数据库实例,同时合并数据库实例返回的结果集、再返回给客户端。整个后端数据库集群对于客户端就是一个虚拟的单机数据库,完全透明。



分布式架构
    采用分布式架构,避免了传统集中式架构对于硬件性能的依赖。数据可以分布在多个节点并行计算或存储,充分利用每个节点的计算能力和存储能力。
Share-nothing(无共享架构)
    集群采用Share-nothing技术,无需共享存储。使用各节点的本地存储,并通过冗余备份技术,保证数据的可靠不丢失。
灵活的数据冗余策略
    DBScale可根据业务特点提供灵活的数据冗余策略,包括异步复制、半同步复制、同步复制、Share-Nothing、Share-Everything等。
读写分离 & 负载均衡
    DBScale支持基于分布式计算与数据冗余的读写分离与负载均衡。
多存储引擎
    DBScale支持InnoDB、MyISAM、TokuDB等多种存储引擎,可以根据用户的具体业务搭配适合的引擎,达到最高数据处理效率。
分库分表
    DBScale支持多维度的数据分布逻辑,支持分库的垂直拆分和分表的水平拆分,并且允许用户根据业务特点选择最合适的数据分布策略。
跨节点
    DBScale支持跨节点Join、子查询、存储过程、视图等高级功能,减少业务从单机往集群上迁移的工作量。
分布式事务
    DBScale支持分布式事务,包括单节点内事务、跨节点事务。
高可靠
    通过冗余备份技术,保证每个存储节点的数据在另一节点上有一个或多个实时在线备份,保证集群没有单点故障。如果节点出现故障宕机,DBScale可以迅速进行故障切换,保证业务的连续性。
动态扩展及数据重分布
    可以在线进行Scale-up(垂直扩展),对集群进行物理升级。
    当集群容量不够时,可以添加机器进行Scale-out(水平扩展)。同时,数据可以根据需要,重新分布,把部分数据迁移到新加入的机器,再从旧机器删除。整个过程是动态的,不中断业务。

主要特点如下:

   DBScale 不存储永久数据,只负责SQL 请求调度和结果集的处理;数据存储在后端真实数据库。采用share-nothing 架构。后端数据库没有共享存储,都是用本地存储。
   采用sharding 思想。数据按照行为单位水平分片,存储于后端数据库节点,每个节点只存储部分数据,整体才是一份完整的数据。每个节点(数据库实例)保存一份数据,意味着整个数据库实例数据量大大减小,索引、缓存等的利用率将大大提高,从而提高性能。
   每个节点负责处理部分请求,锁的效率、事务提交等处理效率,都将提高,从而大大提高并发和整体吞吐量。
   对数据库客户端程序完全透明。DBScale 基于后端数据库协议进行SQL分析处理,支持后端数据库原有的客户端命令、API、JDBC 等各种语言的连接驱动,原有的程序、ETL、BI 工具等,都无需改动。
   客户端语言无要求。由于DBScale 的透明性,要后端数据库支持的开发语言,DBScale 都支持。
   在应用服务器或者真实数据库服务器上,无需安装额外的软件。
   DBScale 目前仅支持MySQL 作为后端数据库, 并将尽快支持PostgreSQL。



© 2016 GreatOpenSource INC. All rights reserved.京ICP备06057874号 京公网安备11010102001661号