什么是对互联网“在线业务友好”的数据库服务?

作者介绍:沈炼,蚂蚁数据部数据库内核负责人。2014年入职蚂蚁,承担蚂蚁集团的数据库架构职责,先后负责了核心链路上OceanBase、OceanBase高可用体系建设、NoSQL数据库产品建设。沈炼对互联网金融、数据库内核、数据库高可用体系等领域有着深厚的理解。沈炼秉承“止于至善”的理念,深耕互联网金融和数据库两个专业方向,保持着十年如一日的热情与专注。

背景

何为“数据库服务”,我的理解是一种交付形态。数据库产品是指用于存储和管理数据的计算机软件系统,软件是其交付形态,在线业务常用的数据库产品包括关系型数据库和NoSQL。而数据库服务指将数据库产品以访问接口的形态交付到用户(也就是在线业务),并维持其稳定且安全的运行。相比于数据库产品,数据库服务具有更长的生命周期和更多的技术内涵,除了数据库产品本身的可靠性,还需要接入的简易性、运行的稳定性、数据的安全性和合规性、成本的可控性等。

因此,互联网“在线业务”对“数据库服务”有着独特的技术诉求,需要对业务工作负载和数据库产品特性有着深刻的理解。然而脱离于互联网平台之外,很少有这方面的专门阐述,本文正是试图弥补这一缺憾。我们将围绕蚂蚁业务场景阐述什么是对互联网“在线业务”友好的“数据库服务”,本文的技术主张也适用于其他的互联网平台业务。

水平伸缩

随着互联网的持续爆发和移动互联网的兴起,支付宝作为一款优秀的国民App,流量屡创新高,极大考验了整套后端系统的水平伸缩性。

蚂蚁的应用架构经历了数代发展,从第一代的集中式架构,到第二代的分布式架构,再到第三代的自研平台的架构、第四代的云平台架构、第五代的云原生架构,每代架构都有着不同的业务使命和技术使命,但“弹性”始终作为基本课题贯穿其中。蚂蚁也长出了SOFAStack这样的代表应用层的分布式产品,使得应用代表的无状态服务层具备了可伸缩、可扩展的能力。但数据库代表的有状态服务层的伸缩性具有着更高的难度和技术挑战,需要解决扩展性、一致性、高可用、高性能等难题。

关系数据库最显著的特征是ACID,给应用程序提供了数据一致性、数据完整性和数据持久性的语义。在海量流量的冲击下,单机数据库受限于单机资源很快出现性能瓶颈和容量瓶颈,分布式中间件和分布式数据库提供了不同层次的解决方案。

分布式中间件位于应用系统和数据库集群之间,遵循数据库通信协议和SQL标准。截获客户端发往数据库的SQL请求,并进行解析和转发,根据数据的分布规则发送到对应的数据库实例。接受数据库实例返回的执行结果,解析后转发至对应的客户端。分布式中间件通过这种解析并转发请求的方式,将应用流量分发到多个数据库实例上,减轻了每个数据库实例上的应用流量,从而突破了单数据库实例的性能瓶颈和容量瓶颈。业界的分布式中间件产品有Cobar、MyCAT、DRDS等,蚂蚁的中间件产品则是ZDAL、DDS。

在分布式数据库的具体实现中,关系型数据库和NoSQL有着不同的技术路径和不同的对应用层的语义呈现:

分布式数据库在解决了水平伸缩性的同时,还提供了更好的高可用能力。例如OceanBase,能够在少数派副本故障时提供RPO=0、RTO<30秒的高可用SLA,这是传统关系型数据库完全无法想象的。

对于蚂蚁的在线业务,端到端的水平伸缩性是一个必选项,蚂蚁的数代应用架构演进也体现了这点。对于数据库服务,必须从设计之初就把水平伸缩性纳入设计目标之中。不具备水平伸缩性的数据库服务一定不业务友好。

应用敏捷

蚂蚁包罗万象的业务场景产生了丰富多样的数据库服务诉求。金融业务产生的交易数据;搜广推业务产生的圈人数据;安全业务产生的用户行为数据;消费金融业务产生的风控数据;AI业务产生的训练数据;小程序云业务产生的社交数据和移动应用数据;短视频业务产生的多模态内容数据;监控业务产生的指标数据等。多样化数据产生的诉求是灵活的数据模型和数据操作,关系型数据库提供的关系模型面对这种场景时举步维艰。

我们不能也不应该淹没在各种业务数据的细节里,却忽视了对问题本质的思考和理解。多样化数据的存储诉求的底层逻辑是“数据不应该被存储形式束缚”,传统的关系型数据库定义了关系模型和SQL接口,这种范式并不能适用于所有的数据场景,新型数据模型、访问接口和数据架构呼之欲出。应用程序需要新的数据范式来解放自身,就像半个世纪前关系模型将应用程序从处理数据的物理存储结构的繁文缛节中解放出来一样,这就是应用敏捷性。

数据模型

数据模型是对数据库的存储结构和语义的描述,是对现实世界数据特征的抽象。数据模型在应用程序和数据库之间建立了一座桥梁,屏蔽了数据在数据库如何储存的细节,并向应用程序提供数据的抽象视图。恰当的数据模型能够极大简化应用程序的数据逻辑,避免应用开发者陷于处理业务数据与数据库数据模型之间不匹配的问题。传统关系型数据库提供了关系模型的数据语义,而现代NoSQL则提供了很多非关系模型的数据语义,包括KV模型、宽表模型、文档模型、图模型、时序模型等。数据库的数据语义突破数据模型的束缚以更匹配业务数据表示的形式呈现是一种应用敏捷性。

基础技术栈

数据模型是一种应用敏捷性,基础技术栈(包括应用开发栈和应用工具栈)是另一种应用敏捷性。基础技术栈提供了标准构建模块,使得应用开发可以直接在其上构建应用程序,免去了使用胶水组件将多种独立组件粘合在一起的额外投入,我们以MEANStack和TICKStack来举例。

我们上面介绍的基础技术栈都是以NoSQL作为核心的(MongoDB@MEAN、InfluxDB@TICK),面向特定场景或特定行业的整套解决方案,具有全栈、易迁移、易扩展、社区生态丰富等优点,从而使得应用开发/应用搭建能够专注于业务逻辑,是一种应用敏捷性的体现。

数据分析

OLTP作为面向在线交易的场景,往往具有短事务和小数据量的特点,专注于事务处理的并发性和快速性。与OLTP对应的是OLAP,面向数据分析和决策支持的场景,往往涉及大量数据的分析,专注于查询的复杂性。然而,现代OLTP往往会有数据分析的需求,基于事务数据实时提供分析视图,因此数据分析能力也是一种应用敏捷性。典型的数据分析流派有Lambda、HTAP、HSAP,代表了若干着不同的设计理念。

灵活检索

在线业务往往有着数据检索的需求,一个成熟的解决方案是在主数据库之外联合查询引擎一起提供数据服务,两者之间的数据通过业务主键关联。主数据库用于存储原始数据,同时把待检索字段和业务主键写入查询引擎里面建立索引,查询时先基于检索字段去查询引擎获取业务主键,再基于业务主键去主数据库获取完整的原始数据。多存储架构会引入数据一致性的问题,例如应用在主数据库写入成功,但在查询引擎写入失败,此时会发送一个补偿消息到消息队列用于异步重试,从而达到数据的最终一致性。一个被广泛使用的产品组合为HBase+ElasticSearch+MQ,其架构图如下:

多产品组合引入了架构复杂度,增加了硬件成本,且应用程序需要处理多产品之间数据一致性的问题。对,数据一致性是分布式系统的设计关键,从水平扩展性到容灾设计,再到现在的多产品组合架构,我们始终绕不过数据一致性的话题。对于数据一致性有几种解决方案:2PC、Totalorderbroadcast、最终一致性,或者终极大招——容忍不一致。数据一致性的语义应该由数据库服务屏蔽掉,并通过灵活的接口语义呈现出来,这就是应用敏捷性。

因此对于在线业务的数据检索需求,一个业务友好的解决方案是数据库服务同时提供原始数据存储和数据检索的功能,且提供可配置的数据一致性语义。数据检索特性应该尽量多元化,包括地理位置检索、全文检索、向量检索等。

总结

我们说数据库服务应该给应用程序提供应用敏捷性,其本质是某种易用性,尽量使得应用程序减少实现数据逻辑的投入,更专注于业务逻辑自身。易用性有多种理念,例如我们本文介绍的数据模型、基础技术栈、数据分析、灵活检索等,数据库服务不需要也无法践行所有这些理念,需要的是把这些理念融入到日常的架构设计和服务交付中去,如果能够以合理的ROI践行一两个理念,那也就达到对业务友好的目的了。

安全合规

安全合规是在线业务一项非常基本的诉求,可以帮助企业更好的保护其数据资产,保障业务运行的连续性,降低法律风险。安全合规的方案设计需要从数据的生命周期入手,遍历所有流程,分析其风险敞口并针对性防护。数据库的入口主要有两个,分别是应用程序和运维人员/运维系统。应用程序通过数据库协议与数据库进行通信和数据交换,涉及到认证鉴权、数据传输、数据存储等流程。

蚂蚁业务具有金融属性,完备的安全合规能力是一个必选项。对于数据库服务,必须从设计之初就把安全合规纳入设计目标之中,并保持跟随业务安全合规诉求提高而演进的初心和能力。不具备安全合规能力,或者安全合规能力不能演进的数据库服务对于业务系统,是不可承受之重。

成本优化

现代数据具有4V特性,其中有个是规模性(Volume),规模性表示数据量的爆炸性增长,对性能和存储容量提出了很高的诉求,最后都会直观反应到数据库成本上,高昂的成本最后会成为企业继续发展的拦路虎,尤其是当前的存量时代。因此随着数据库服务的发展,成本优化是必须纳入考虑的事情,否则会阻碍数据库服务的进一步发展。

业务数据库架构优化是成本收益最大的优化措施。我们前面介绍了各种多产品架构,包括PolyglotPersistence、CQRS、Lambda架构等,多产品架构会引入多份数据存储的开销、应用代码适配多产品引入的代码复杂度开销、多产品的运维开销、建站的交付开销等。我们作为数据库服务提供者,本着帮助业务收敛其数据库架构的目标,需要尽可能促进数据库产品丰富其特性。多种技术可以达到收敛数据库架构的目标:多模数据库,一份数据提供多种数据模型服务,避免可能的PolyglotPersistence和CQRS架构;HTAP&HSAP,一套系统同时提供数据写入和数据分析的职责,避免可能的Lambda架构;具有检索特性的持久化数据库,一套系统同时提供数据持久化和数据检索的职责,避免可能的PolyglotPersistence和CQRS架构。

总之,成本优化对企业有着非常积极的意义,但同时对业务自身也可能产生巨大的改造成本,需要数据库服务提供方跟业务方齐心协力,一起缔造优秀的ROI和TCO。成本优化对于数据库服务提供方可能是一个懈怠的事情,需要有企业成本控制小组从整体资源层面进行审计,以做到整体最优。

轻量交付

蚂蚁是一个多站点的业务环境,经常会有新建站点而交付数据库服务的需求。轻量交付能力能够显著缩短建站周期、提升建站体验、优化建站成本,具备轻量交付能力的数据库服务能够有效提升其业务友好性。

轻量交付首先离不开数据库产品的管控成熟度。数据库服务依赖的硬件设施需要能够适配企业当前普适的硬件形态,例如硬件设施经历了从物理机形态到虚拟机形态的演进,再到当前的容器形态,数据库产品需要积极去适配,积极适配当前企业普适的硬件形态能够有效降低交付前置事项对人肉的依赖;服务搭建流程需要能够接口化且具备原子动作的可重入能力和回滚能力,这对管控平台的成熟度提出了要求,从而能够被上层系统所集成,能够最大限度的规范化、自动化,并最终无人化;数据库服务需要具有完备的健康自检能力,完整覆盖服务自身的所有组件与接口,及依赖的第三方服务,从而保证交付质量。

轻量交付也离不开数据库产品的架构轻量化,架构轻量化表示对第三方组件的依赖尽可能少,从而能够有效降低站点的“重量”,避免引入一些又大又重的组件,这对于站点的成本控制有着非常积极的意义。

轻量交付也意味着面向更高一层的Programmingmodel交付,积极的主动或跟随推高应用程序的思考层次。例如云计算的发展使得计算资源被不断推高,从物理机到云服务器,再到容器,使得应用程序对计算资源的适配越来越轻量化。数据库服务也同样随着云计算的发展而发展,从On-Premises到云托管,再到Serverless,应用程序的Programmingmodel也在不断推高,其专注点越来越回归到业务逻辑自身。因此数据库服务的轻量交付必须积极拥抱应用程序的Programmingmodel。

总之,轻量交付是一个系统化工程,囊括了数据库产品的架构轻量化、管控成熟度、交付层次等方面,而管控成熟度又是以产品成熟度为前提的。能够轻量交付的数据库服务一定是一款比较成熟的数据库产品且拥有成熟的配套管控体系,从而是对业务友好的数据库服务。数据库产品往往受限于自身的生命周期,很难做到超出自身成熟度的轻量交付,但我们应该把轻量交付作为终态目标而不断逼近。

从业务视角需要的是数据库服务,而不仅仅是数据库产品,数据库服务提供者必须从业务视角审视自己如何提供更好的数据库服务。数据库服务相比于数据库产品有着更多的技术内涵,囊括了数据库内核产品、数据库管控产品、访问中间件、数据库部署架构、业务数据存储架构等整套技术栈,囊括了从服务交付、稳定运行、成本优化、合规整改等完整的数据生命周期,需要从业务编程模型、业务工作负载和数据库特性等多角度分析和优化,从而做到整体最优。对业务友好的数据库服务能够极大简化业务层在数据库逻辑上的投入,能够更专注于业务逻辑自身,对企业发展有着巨大的价值。

科技在进步,业务在演进,数据库服务也必须与时俱进,才能持续对业务友好。

THE END
1.在线交流客服系统,重塑客户服务未来的关键力量纺织在线交流客服系统正重塑客户服务的未来。该系统采用先进的技术,实现实时互动、智能响应和高效解决问题的目标。通过在线平台,客户可以随时随地获得帮助,企业则能更快速地响应客户需求,提升服务质量。智能客服的引入,使得系统能够http://bjzywd.cn/post/15889.html
2.在线网约重塑服务与体验新篇章财务局在线网约,简而言之,是指通过互联网平台预约服务的行为,其背后的逻辑在于借助信息技术,将服务提供者与需求者通过互联网平台连接起来,实现资源的优化配置和高效利用,在线网约服务的出现,不仅为消费者提供了便捷,也为服务提供者带来了更多的商机。 在线网约的发展现状 http://m.hnjwwzy.cn/post/1302.html
3.在线服务的定义是什么?在线服务是指通过互联网平台提供的各种服务,包括但不限于在线购物、在线支付、在线咨询、在线教育、在线医疗等。这些服务可以通过电子设备,如电脑、手机、平板等进行访问和使用。在线服务的特点包括便捷、高效、全天候可用、跨地域等。随着互联网的普及和技术的发展,在线服务已经成为人们日常生活中不可或缺的一部分。 https://www.mbalib.com/ask/question-0c1efd9e87f89432c7f9d353949621d3.html
4.服务在线是什么意思啊?服务在线是指以互联网为主要手段,通过在线平台或社交媒体等渠道为客户提供各种形式的服务。这种服务模式充分利用了互联网的便利性,提高了服务效率和速度,让客户享受更加方便、个性化的服务。在服务在线模式下,客户可以随时随地得到所需的服务,不再受时间和地点的限制,大大提高了服务的满意度和质量。服务https://zhidao.baidu.com/question/595111695740136125.html
5.在线服务时长是指什么?()强大的网络冲击令许多老资格的短波电台或关门大吉,或转入在线服务,或缩减语种、波短、广播时长,红极一时的“十波段”自然也就“___”了。填入上文横线处最恰是() A. 耳听为虚,眼见为实 B. 皮之不存,毛将焉附 C. 言之无文,行而不远 D. 失之https://www.educity.cn/souti/j3yrldxv.html
6.wps云服务是啥意思wps云服务是指用户通过wps软件通过网络以按需、易扩展的方式获得所需服务,主要依据wps在线服务账号、密码https://iask.sina.com.cn/jxwd/6er0eM6yIYZ.html
7.净服务收入指的是什么?净服务收入指企业各类经营活动所确认的营业收入中,单纯反映提供服务所获得的收入。不应包含经营或外包农、林、牧、渔业,采矿业,制造业,电力、热力、燃气及水生产和供应业,建筑业,批发和零售业,住宿和餐饮业,金融业,房地产开发经营等活动所确认的收入;也不应包含代收代付、代开票、代管代运货物价值、土地出让等带来http://www.szft.gov.cn/bmxx/qtjj/cjwt/content/post_11047215.html
8.生活服务电商是指人们的日常生活所需的多方面的服务,包括在线餐饮刷刷题APP(shuashuati.com)是专业的大学生刷题搜题拍题答疑工具,刷刷题提供生活服务电商是指人们的日常生活所需的多方面的服务,包括在线餐饮外卖、在线租房、在线招聘、在线旅游、在线教育、在线交流、在线旅行等。()A.正确B.错误的答案解析,刷刷题为用户提供专业的考https://www.shuashuati.com/ti/f10cdfac32c04865bf531aef81df656e.html
9.猎豹游戏用户协议条款2、猎豹游戏服务:指猎豹游戏向您提供的、与前述猎豹游戏软件相关的各项在线运营服务,并包括猎豹游戏软件本身。 3、增值服务代用币(游戏虚拟货币):指猎豹游戏为满足玩家在猎豹游戏服务中的正常交易交流需求,而设计的一种虚拟道具,通过人民币兑换等途径获得,可用于换取游戏中指定的各类增值服务,仅限于在特定游戏中使用https://www.ijinshan.com/privacy/user_agreement.html
10.物流辅助服务包括什么物流辅助服务,是指航空服务、港口码头服务、货运、客运场站服务、打捞救助服务、装卸搬运服务、仓储服务和收派服务。具体分析如下: 1.航空服务:航空地面服务以及通用航空服务。 ①航空地面服务是指航空各部门以及相关人员向在境内飞行或则停留的飞机或者其他飞行器提供导航的地面服务的活动。包括保障旅客安全以及停机场地以https://www.dongao.com/shuiwushi/sf1/202304144195562.shtml
11.做强线上智慧能源服务平台指依托数据优势,开发能源增值服务,探索新型商做强线上智慧能源服务平台指依托数据优势,开发能源增值服务,探索新型商业化数据运营模式,形成商业机会,实现价值创造()A.正确B.错误请帮忙给出正确答案和分析,谢谢!https://www.shangxueba.com/ask/22964682.html
12.学网专业的奥鹏在线离线作业答案辅导网6.()是指行人在单位时间内行走的距离。 A.行人步数 B.行人流率 C.行人流密度 D.行人空间占有量 7.()一般用于中心城市与外围郊区、周围城镇间的交通联系。 A.放射形路网 B.三角形路网 C.并列形路网 D.树杈形路网 8.我国现有道路体系根据其功能和服务范围可以分为()和城市道路两大类。 http://www.youxue100f.com/qita/2022-12-13-10186.html
13.30万以上的qps高并发服务如何优化qps达到峰值了,怎么去优化如何优化高并发服务,这里指的是qps在30万以上的在线服务,注意不是离线服务,在线服务会存在哪些挑战呢? ①无法做离线缓存,所有的数据都是实时读的 ②大量的请求会打到线上服务,对于服务的响应时间要求较高,一般都是限制要求在300ms以内,如果超过这个时间那么对用户造成的体验就会急剧下降 https://blog.csdn.net/Jernnifer_mao/article/details/133853967
14.苹果在线服务瘫痪11个小时后恢复CNBC | 苹果在线服务瘫痪11个小时后恢复 苹果设备的诸多服务,如iTunes和App Store,在周三出现大范围服务中断现象。据彭博社报道,此次服务中断事件在美国、瑞士、西班牙和英国都有发生。一些用户报告称,在周三清晨5点左右发 现自己的苹果设备出现连接错误,无法正常访问应用程序或进行应用下载。 https://news.cri.cn/2015-3-12/565a35d6-5151-42a8-a92e-a4590031ecc4.html
15.人民法院在线服务我的案件为空,是不是说明无犯罪记录?人民法院在线服务中“我的案件”为空,通常是指在该法律程序或系统中,没有当前正在处理或等待处理的https://www.64365.com/ask/34198172.aspx
16.河南省高校学生资助在线服务系统学生操作指南河南省高校学生资助在线服务系统学生操作指南 扫河南省高校学生资助在线二维码: 学院代码:13564 ★ 账号:个人身份证号 ★ 初始密码:zizhu13564,为保证个人账户信息安全,请第一次登录后务必修改密码为复杂密码并牢记。 ★学生简要使用流程: 第一步:完善个人信息。使用账号密码登录网站后,选择菜单栏“个人基本信息”完善http://www.zlxy.edu.cn/xsc/info/1038/1425.htm
17.常见问题10.加密锁保险服务是指什么? 答:加密锁保险服务是指加密锁遗失可以免费补一次。市场价500/次。 11.还有不清楚的问题怎么办? 答:咨询电话:0571-56035577-8856/8875;咨询QQ:592034374 品茗科技股份有限公司(造价事业部) 总部地址:杭州市天堂软件园B幢C座4F http://shop.pinming.cn/mall/support/faq/
18.nicetheme服务协议nicetheme“nicetheme 在线服务账号”:指您用于登录本服务的 nicetheme 账号和第三方账号。nicetheme 账号由 nicetheme 提供,即您在网址为 https://nicetheme.cn/signup 上完成注册所获得的账号。第三方账号由 nicetheme 之外的其他方提供,包括QQ账号、微信账号、新浪微博账号及后续可能增加的其他账号。 https://www.nicetheme.cn/shopping-notice
19.在线客服系统智能客服软件引领智能客服时代Live800是一款企业级的在线客服系统,专注行业21年,服务全球数十万企业,引领智能客服时代。集在线客服系统、工单系统、AI智能客服机器人、呼叫中心系统等产品于一体,助企业降本增效,提升客户满意度。http://www.live800.com/
20.服务协议和隐私政策学堂在线学堂在线和学堂在线的参与者也不保证本产品、任何课程或内容的准确性、完整性、时序性和质量,也不保证任何特定课程会持续提供。“学堂在线成员”是指X大学以及其他为本产品、课程指导老师及其职员提供信息、内容和服务的机构。 您自行承担使用本产品以及通过本产品获得的内容和服务的全部风险。您自行决定是否访问本产品https://next.xuetangx.com/app/protocol
21.驰声听说在线自适应学习平台2. 驰声听说在线服务的提供者:即驰声听说在线的运营者苏州驰声信息科技有限公司及其关联公司。 3. 个人信息:是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息。 4.个人敏感信息:指包括身份证件号码、个人生物识别信息、银行账号、财产信息、行踪轨迹、交易https://www.91tszx.com/static/page/private.html
22.黑龙江社保医保app,黑龙江社保医保APP在线服务黑龙江社保医保APP提供便捷的在线社保医保服务,包括查询、缴费、报销等功能。用户可以随时随地通过手机APP进行社保医保相关操作,方便快捷地管理个人社? ,理想股票技术论坛https://www.55188.com/topics-7838513.html
23.小学线上教学一生一策实施方案范文(通用5篇)1、在线直播课堂。利用天翼云直播平台,建立直播间开展教学。 2、网络点播教学。以教材为基础,以教学单元为单位,建立灵活、可行的课程表,提供网络课程点播服务(直播内容回看)。 3、电视视频学习。利用电视专用频道,通过直播、点播等方式进行学习。 4、学生自主学习。教师根据网上学习资源清单,结合班级实际,利用班级群指导https://www.ruiwen.com/fangan/6695793.html
24.2024涉嫌聚众卖淫要判多少年服务指南 咨询须知 委托律师须知 1、看完还有疑问?立即咨询律师快速为你提供法律服务。 2、咨询时请说明你的具体需求,律师分析案情后为你针对性解答。 在线法律咨询 99% 问题解决率深度沟通27w 律师在线高效解决 严选律师 快速响应 隐私保障 专业解答 1分钟快速提问 快速提问 预计2分钟回复 4分钟前 云南-https://m.66law.cn/zuiming/ask/223753.aspx
25.Alibaba.com:Manufacturers,Suppliers,Exporters&ImportersFind quality Manufacturers, Suppliers, Exporters, Importers, Buyers, Wholesalers, Products and Trade Leads from our award-winning International Trade Site. Import & Export on alibaba.comhttps://www.alibaba.com/