巨杉Talk | 拒绝数据碎片化,原生分布式数据库灵活应对数据管理需求

2019年7月19-20日,以“指挥若定,数揽将来”为主题的DAMS中国数据智能管理峰会在上海青浦区成功举办。在DAMS峰会上,巨杉数据库为你们带来了题为“云架构下的分布式数据库设计与实践”的主题分享。数据库

微服务下数据库架构的演进安全

应用开发从传统架构向分布式转型,最早面临改造的天然就是应用程序框架。现在的微服务框架已经很是成熟,其表明性架构每每包括协议处理、服务拼装、原子服务、以及底层持久化四层。业务逻辑从传统的单一中间件被拆解成众多微服务模块,每一个微服务模块由彻底对等的一系列容器构成,能够简单经过增长容器的方式实现对该服务吞吐处理能力的扩容。服务器

可是微服务的拆分即意味着每一个服务都拥有本身独立的执行逻辑与存储。从数据库的角度来看,微服务体系的拆分对数据库存储提出了极大的挑战。若是每一个微服务依然将数据存放在传统的单点数据库中,其存储与处理能力均没法随着微服务容器数量的上升提供一样的扩展能力。在这种状况下,数据库将会成为微服务体系框架中性能与扩展性的最大制约瓶颈。架构

而若是每一个微服务使用独立的数据库进行存放,整个企业IT的数据架构将会变得支离破碎。数据库的数量从过去的几百被拆分为上万个数据库,整个运维团队的管理成本与数据库采购成本面临几何级数的提高。框架

所以,分布式数据库的目标不只仅做为传统Oracle或DB2的单一替代,将一个数据库存放不下的数据放到多个物理机存放。在实际环境中,大部分银行都有着较为完善的数据生命周期管理策略,通常不会在生产环境中堆积大量的历史数据,所以数据量通常来讲不会是使用分布式数据库的最重要缘由。运维

新一代分布式数据库技术特性数据库设计

为了支撑将来IT微服务框架,分布式交易型数据库的引入须要从传统技术兼容性、以及新技术前瞻性两个维度进行评估。分布式

“当应对微服务应用框架,原生分布式数据库架构优点在于两点。第一,是解决数据的弹性扩张,使每一个微服务不受底层数据存储限制。第二,解决微服务应用架构中数据严重碎片化的问题。”微服务

ACID的支持与SQL完整性的支持是评估一款新型分布式数据库是否可以提供与传统数据库技术兼容的两大关键指标。性能

ACID的支持

从安全性上来看,不论采用新技术或传统技术,数据不错不丢是全部数据库的必备基础。在分布式数据库业界中,一些针对互联网技术设计的产品以分布式(Partition Tolerance)加高可用(Availability)做为目标,在安全一致性(Consistence)上没法保证数据的正确,很难在金融业务中被普遍使用。所以,银行所关注的新型分布式数据库必须首先保证数据的安全和一致性,其中分布式事务、分布式锁、四种隔离级别的支持等都是该指标中的关键技术点。

SQL完整性支持

SQL完整性指的是新型分布式数据库与传统关系型数据库的开发友好性。越是成熟的分布式数据库,其SQL语法越能作到与传统关系型数据库兼容,同时其数据切分对应用程序则愈加透明。现在大部分分布式数据库技术都号称支持MySQL语法,而主流新型应用程序也都将MySQL做为其默认支持的数据库选项。所以,对MySQL语法协议支持的强弱则成为分布式数据库SQL完整性支持的评判关键。

新技术前瞻性指的是分布式数据库与将来开发方式和IT架构是否吻合。

分布式与弹性扩展能力

做为数据服务资源池,分布式数据库必须作到可弹性扩张,才能在服务于上层不断增长微服务类型与数量。同时对于每一个微服务来讲,其数据存放在一台物理设备仍是多台物理设备,必须对其中的应用代码彻底透明。

多模式引擎

服务于上层来自不一样开发商、不一样业务场景、不一样数据类型的微服务,分布式数据库必然须要支持多种SQL协议与计算引擎。从存储引擎来看,结构化与半结构化数据均可能将会在应用中同时使用。所以,新一代分布式数据库须要从访问接口到存储结构均支持多模(Multi-Model)引擎。

HTAP(Hybrid Transactional/Analytical Processing)

HTAP即混合交易分析处理能力。在传统银行IT架构中,联机交易与统计分析系统每每采用不一样的技术与物理设备,经过按期执行的ETL将联机交易数据向分析系统中迁移。而做为数据服务资源池,同一份数据可能被不一样类型的微服务共享访问。当一些联机交易与审计类业务针对同一份数据同时运行时,必须保证请求在彻底隔离的物理环境中执行,作到交易分析业务无干扰。

整体来讲,分布式数据库技术趋势须要从传统技术兼容性以及新技术前瞻性两个维度进行评判,其中ACID数据安全与SQL完整性是传统技术兼容性的重要指标,而弹性扩展能力、多模式引擎、以及HTAP则是新技术前瞻性的几个重要衡量标准。

SequoiaDB巨杉数据库技术优点

微服务架构下云化的管理

在将来微服务化应用开发以及云化平台的趋势下,应用再也不以“烟囱式”的中间件加数据库模式进行构建,而是采用数千甚至上万的微服务程序构建成的复杂网状模型。

新一代分布式数据库针对微服务架构,将会提供数据库的实例化部署,帮助数据库与上层微服务实现更好的对接,数据库也将提供云化管理方式,保证庞大复杂的微服务可以实现更细粒度管理。

针对微服务应用架构,用户能够在同一个集群中建立成百上千个不一样的关系型数据库实例。数据库实例的访问与使用方式和传统关系型数据库100%兼容,同时其底层所使用的数据从逻辑上彻底独立,每一个实例拥有本身独立的权限管理、数据管控、甚至能够选择部署在独立的硬件环境或共享设备中。

SequoiaDB巨杉数据库支持数据库服务实例化。从应用程序开发者与DBA的角度看,SequoiaDB巨杉数据库所提供的关系型数据库实例,与传统MySQL、PostgreSQL和SparkSQL保持全兼容。

存储资源池化,弹性扩展

随着海量数据管理需求不断增长,数据库存储的扩展性也成为支撑整个数据平台的重要核心能力。SequoiaDB采用分片技术为系统提供了弹性的横向扩展机制,能够根据应用需求调整存储;实现了存储引擎的多模数据管理,支持非结构化、结构化和半结构化数据全覆盖并统一管理,让数据库平台场景更多样,也能符合云数据架构下对于多样化业务数据的统一管理与运维要求。

SequoiaDB的分片过程对于应用程序来讲彻底透明。该机制解决了单台服务器硬件资源(如内存、CPU、磁盘 I/O)受限的问题,并不会增长应用程序开发的复杂性。巨杉数据库经过原生分布式架构,能够轻松实现PB级别数据管理,目前生产环境最大支持超过1500个节点集群,实现全量数据全生命周期管理。

同时,在一个大型集群中,SequoiaDB提供了多维度、多层级的逻辑与物理隔离能力。在一个典型的数据资源池类型基础数据服务平台(DBaas,DataBase As A Service)中,SequoiaDB巨杉数据库可以同时服务于成百上千个不一样SLA服务级别、优先级、业务特性、与数据量的应用程序,并保证应用程序之间的数据逻辑与物理隔离。

分布式交易与事务

从安全性上来看,不论采用新技术或传统技术,数据不错不丢是全部数据库的必备基础。在分布式数据库业界中,一些针对互联网技术设计的产品以分布式(Partition Tolerance)加高可用(Availability)做为目标,在安全一致性(Consistence)上没法保证数据的正确,很难在银行业务中被普遍使用。所以,大型企业用户会所关注的新型分布式数据库必须首先保证数据的安全和一致性,其中分布式事务、分布式锁、四种隔离级别的支持等都是该指标中的关键技术点。

云化和微服务架构下,SequoiaDB分布式架构下,提供完整的ACID支持,完整的事务支持和一致性保障,充分保证数据安全,知足核心交易业务的严苛要求。

传统应用兼容

做为新一代分布式数据库,其架构与功能特性须要保证在与传统数据库全兼容的基础上,拥抱微服务与云计算框架。所以,分布式数据库对于分布式交易与ACID必须保证与传统技术彻底兼容。同时,在面向微服务应用开发与云计算基础架构时,新一代分布式数据库必须支持弹性扩张、资源隔离、多租户、可配置一致性、多模式(支持各种SQL协议)、集群内可配置容灾策略等一系列功能。

其中,SQL的支撑是数据库产品最为重要的技术特性。SequoiaDB提供了原生的完整SQL支持。

相关文章
相关标签/搜索