文档章节

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

巨杉数据库
 巨杉数据库
发布于 07/22 22:11
字数 2927
阅读 20
收藏 0

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支持。

© 著作权归作者所有

巨杉数据库
粉丝 54
博文 103
码字总数 210199
作品 1
朝阳
数据库管理员
私信 提问
巨杉数据库助力民生银行、恒丰银行云化架构升级

作为一款金融级分布式关系型数据库,SequoiaDB巨杉数据库的分布式数据库架构和面向微服务的云化产品形态,已经帮助包括民生银行、恒丰银行在内的多家大型金融客户实现了大量业务系统的底层数...

巨杉数据库
04/17
23
0
131,800,000,000 条数据记录,这么大的银行数据库是如何管理的?

如今,大型企业的应用平台正在向微服务架构进行转型。在微服务架构下,应用程序和数据库等底层平台的关系将会被重构。 作为新一代分布式数据库,其架构与功能特性需要保证在与传统数据库全兼...

作者: Sequoiadb
04/17
0
0
巨杉Tech | 微服务趋势下的数据库设计与应用简析

上周五(7月12日)巨杉数据库参与了由得到App主办八里庄技术沙龙活动,分享主题是关于分布式数据库架构与实战。 以下就是根据巨杉数据库现场分享的内容进行的分享实录整理。 巨杉数据库简介 ...

巨杉数据库
07/18
113
0
微服务?数据库?它们之间到底是啥关系?

过去几年来,“微服务架构”这个术语持续火热,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,网点智能以...

巨杉数据库
05/16
18
0
Gartner数据库报告解读及数据库技术发展方向预测

联盟会员单位SequoiaDB巨杉数据库入选Gartner “2017年数据库厂商推荐报告”。SequoiaDB巨杉数据库第一时间对Gartner数据库报告进行了解读,并介绍数据库技术发展创新的方向。 Gartner报告解...

enohtzvqijxo00atz3y8
2017/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部