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

原文地址:https://blog.51cto.com/13722387/2422609

时间: 2024-08-29 00:51:34

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

探析大数据需求下的分布式数据库

一.前言 大数据技术从诞生到现在,已经经历了十几个年头.市场上早已不断有公司或机构,给广大金融从业者"洗脑"大数据未来的美好前景与趋势.随着用户对大数据理念与技术的不断深入了解,人们已经开始从理论探索转向对场景落地的寻找,让大数据在企业中落地并开花结果. 从大数据的管理和应用方向集中在两个领域.第一,大数据分析相关,针对海量数据的挖掘.复杂的分析计算:第二,在线数据操作,包括传统交易型操作以及海量数据的实时访问.大数据高并发查询操作.用户根据业务场景以及对数据处理结果的期望选择不同的大

分布式数据库中数据的分片----《分布式数据库系统及其应用》

数据分片也称数据分割,是分布式数据库的特征之一.在一个分布式数据库中,全局数据库是由各个局部数据库逻辑组合而成:反之,各个局部数据库是由全局数据库的某种逻辑分割而得. 在分布式数据库中,数据存放的单位是数据的逻辑片段.对关系数据库来说,一个数据库的逻辑片段是关系的一部分.数据分片有三种基本分法,它们是通过关系代数的基本运算来实现的. 水平分片 按特定条件把全局关系的所有元祖分划成若干个相互不相交的子集,每一子集为全局关系的一个逻辑片段,简称片段.它们通过对全局关系施加选择运算得到,并可通过对这些

电商独立流量,从碎片化资源中来(转)

未来的电商可能会如同现有销售队伍一样,有一支聚集资源的队伍. 传统营销,企业是有抓手的.在大企业越来越大的情况下,很多小企业照样活得很好,因为大小企业都有自己的抓手,大企业的主要抓手是大众传播,小企业的主要抓手是通路. 电商出现了,却丧失了抓手,营销无处着力,世界上没有比做一件事却找不到着力点更悲催的事了. 如果说电商还有抓手的话,那就是找平台购买流量,从而形成了对引流的过分依赖.这不是找抓手,这简直是找镣铐,把自己紧紧拴在平台上,生死不如,永远受制于人. 与电商相伴出现的,是传播的碎片化.我的

跨越数据库发展鸿沟,谈分布式数据库技术趋势

金融行业架构转型需求随着移动化与互联网化的不断发展,我国金融行业的商业模式与技术体系已经逐渐走上了与西方世界完全不同的道路.众所周知,欧美国家的移动化普及率远远不如我国,同时人口基数也有着数量级的不同,这就使得国内外金融行业所面临的业务类型.数据量.并发量都存在巨大的差异,导致对整个IT基础设施的需求截然不同. 在最近的一两年中,国内部分科技领先的银行已经率先对微服务与分布式技术进行了探索,一些新建的互联网金融类业务也已经开始尝试使用微服务架构.分布式技术.DevOps框架进行应用的开发与维护.

[转帖]Greenplum :基于 PostgreSQL 的分布式数据库内核揭秘 (上篇)

Greenplum :基于 PostgreSQL 的分布式数据库内核揭秘 (上篇) https://www.infoq.cn/article/3IJ7L8HVR2MXhqaqI2RA 学长的文章.. 姚延栋 阅读数:7142019 年 9 月 15 日 17:11 本文经授权转载自公众号 PostgreSQL 中文社区,主要介绍了 Greenplum 集群概述.分布式数据存储和分布式查询优化. 一.数据库内核揭秘 Greenplum 是最成熟的开源分布式分析型数据库(今年 6 月份预计发布的 G

分布式数据库hbase详解

新霸哥注意到了在人类随着计算机技术的发展,数据的存储量发生了很大的变化,可以用海量来形容,同时,存储的数据类型也是有多种多样的,网页,图片,视频,音频,电子邮件等等,所以在这中情况下以谷歌旗下的BigTable为代表的新型数据库产生并且迅速发展.Hbase就是BigTable的开源实现,下面新霸哥将详细的为你揭晓HBase相关知识以及相关应用. 互联网时代对数据库的要求和传统的还是有区别的 其中比较突出的一点就是数据量的问题,在数据量非常庞大的今天关系型数据可能无法实现存储并处理海量数据,但是分

程序员MM的自白:磨人小妖精之安卓碎片化

文/腾讯优测 章婉霞 除了crash问题,Android平台的碎片化越来越受到移动开发的关注,且不谈支持Android系统的移动设备早已过万款,屏幕.品牌以及传感器等方面的碎片化问题也困扰着开发者. 初级Android的开发人员经常关心的问题就是开发的应用能不能在需求的设备上正常运行.为什么我没有说所有设备呢?长期盘踞各Android设备市场份额或市场关注度榜单前十位,被大家熟知的品牌,它们ROM的个性化都足以让人眼花缭乱了,更何况在如今"乱世"里那些七零八落的机型了.想要做更全面的自

对话巨杉核心研发团队:分布式数据库自研之路

一直以来,数据库的核心研发团队都十分神秘,作为隐藏在幕后的隐士高人,他们对数据库发展以及数据库研发团队的看法是什么呢?本文我们就由巨杉数据库核心技术研发团队的"老司机",向大家分享他分布式数据库的自研之路. Q:作为数据库行业的"老司机",您能否先介绍一下自己?A:我叫Danny,是巨杉数据库核心研发团队的成员,是一名数据库资深工程师和架构师,有超过20年的数据库核心研发经验,曾经作为DB2 内核研发团队成员参与了DB2 ,DPF等产品的架构设计和研发工作.目前,我

巨杉Tech | 使用 SequoiaDB 分布式数据库搭建JIRA流程管理系统

介绍 JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域.很多企业与互联网公司都在使用Jira作为内部流程管理系统,进行团队协作与问题单管理. JIRA的后台数据库可以选择使用嵌入式数据库或MySQL/PGSQL等专业数据库.一般来说,大部分企业选择MySQL作为底层的数据存储.但是,随着问题工单的不断积累,对于较大型企业来说MySQL所支撑的数据量可能很快达到瓶颈.用户可以选择使用SequoiaD