阿里云数据库平台与服务(阿里云数据集成平台)
本文目录一览:
- 1、阿里云的主要功能是什么?
- 2、简述阿里云服务平台提供服务有哪些?
- 3、阿里云服务对象有哪些?
- 4、阿里云数据库和网站运维主要做什么
- 5、对话阿里云李飞飞:关于云原生数据库的五大预判
- 6、阿里云分布式数据库服务DRDS?谁使用过 简单讲讲!
阿里云的主要功能是什么?
阿里云致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。
阿里云服务着制造、金融、政务、交通、医疗、电信、能源等众多领域的领军企业,包括中国联通、12306、中石化、中石油、飞利浦、华大基因等大型企业客户,以及微博、知乎、锤子科技等明星互联网公司。在天猫双11全球狂欢节、12306春运购票等极富挑战的应用场景中,阿里云保持着良好的运行纪录。
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。
扩展资料:
阿里云主要产品:
1、弹性计算:
块存储:可弹性扩展、高性能、高可靠的块级随机存储
专有网络VPC:帮您轻松构建逻辑隔离的专有网络
负载均衡:对多台云服务器进行流量分发的负载均衡服务
弹性伸缩:自动调整弹性计算资源的管理服务
资源编排:批量创建、管理、配置云计算资源
容器服务:应用全生命周期管理的Docker服务
高性能计算HPC:加速深度学习、渲染和科学计算的GPU物理机
批量计算:简单易用的大规模并行批处理计算服务
E-MapReduce:基于Hadoop/Spark的大数据处理分析服务
2、数据库:
云数据库RDS:完全兼容MySQL,SQLServer,PostgreSQL
云数据库MongoDB版:三节点副本集保证高可用
云数据库Redis版:兼容开源Redis协议的Key-Value类型
云数据库Memcache版:在线缓存服务,为热点数据的访问提供高速响应
PB级云数据库PetaData:支持PB级海量数据存储的分布式关系型数据库
云数据库HybridDB:基于GreenplumDatabase的MPP数据仓库
云数据库OceanBase:金融级高可靠、高性能、分布式自研数据库
数据传输:比GoldenGate更易用,阿里异地多活基础架构
数据管理:比phpMyadmin更强大,比Navicat更易用
3、存储:
对象存储OSS:海量、安全和高可靠的云存储服务
文件存储:无限扩展、多共享、标准文件协议的文件存储服务
归档存储:海量数据的长期归档、备份服务
块存储:可弹性扩展、高性能、高可靠的块级随机存储
表格存储:高并发、低延时、无限容量的Nosql数据存储服务
4、网络:
CDN:跨运营商、跨地域全网覆盖的网络加速服务
专有网络VPC:帮您轻松构建逻辑隔离的专有网络
高速通道:高速稳定的VPC互联和专线接入服务
NAT网关:支持NAT转发、共享带宽的VPC网关
2018年6月20日,阿里云宣布联合三大运营商全面对外提供IPv6服务。
5、大数据:
MaxCompute:原名ODPS,是一种快速、完全托管的TB/PB级数据仓库解决方案。
QuickBI:高效数据分析与展现平台,通过对数据源的连接,和数据集的创建,对数据进行即席的分析与查询。并通过电子表格或仪表板功能,以拖拽的方式进行数据的可视化呈现。
大数据开发套件:提供可视化开发界面、离线任务调度运维、快速数据集成、多人协同工作等功能,拥有强大的OpenAPI为数据应用开发者提供良好的再创作生态
DataV数据可视化:专精于业务数据与地理信息融合的大数据可视化,通过图形界面轻松搭建专业的可视化应用,满足您日常业务监控、调度、会展演示等多场景使用需求
关系网络分析:基于关系网络的大数据可视化分析平台,针对数据情报侦察场景赋能,如打击虚假交易,审理保险骗赔,案件还原研判等
推荐引擎:推荐服务框架,用于实时预测用户对物品偏好,支持A/BTest效果对比
公众趋势分析:利用语义分析、情感算法和机器学习,分析公众对品牌形象、热点事件和公共政策的认知趋势
企业图谱:提供企业多维度信息查询,方便企业构建基于企业画像及企业关系网络的风险控制、市场监测等企业级服务
数据集成:稳定高效、弹性伸缩的数据同步平台,为阿里云各个云产品提供离线(批量)数据进出通道
分析型数据库:在毫秒级针对千亿级数据进行即时的多维分析透视和业务探索
流计算:流式大数据分析平台,提供给用户在云上进行流式数据实时化分析工具
6、人工智能:
机器学习:基于阿里云分布式计算引擎的一款机器学习算法平台,用户通过拖拉拽的方式可视化的操作组件来进行试验,平台提供了丰富的组件,包括数据预处理、特征工程、算法组件、预测与评估
语音识别与合成:基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互体验
人脸识别:提供图像和视频帧中人脸分析的在线服务,包括人脸检测、人脸特征提取、人脸年龄估计和性别识别、人脸关键点定位等独立服务模块
印刷文字识别:将图片中的文字识别出来,包括身份证文字识别、门店招牌识别、行驶证识别、驾驶证识别、名片识别等证件类文字识别场景
7、云安全:
服务器安全(安骑士):由轻量级Agent和云端组成,集检测、修复、防御为一体,提供网站后门查杀、通用Web软件0day漏洞修复、安全基线巡检、主机访问控制等功能,保障服务器安全
DDoS高防IP:云盾DDoS高防IP是针对互联网服务器(包括非阿里云主机)在遭受大流量的DDoS攻击后导致服务不可用的情况下,推出的付费增值服务,用户可以通过配置高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠
Web应用防火墙:网站必备的一款安全防护产品。通过分析网站的访问请求、过滤异常攻击,保护网站业务可用及资产数据安全
加密服务:满足云上数据加密,密钥管理、加解密运算需求的数据安全解决方案
CA证书服务:云上签发Symantec、CFCA、GeoTrustSSL数字证书,部署简单,轻松实现全站HTTPS化,防监听、防劫持,呈现给用户可信的网站访问
数据风控:凝聚阿里多年业务风控经验,专业、实时对抗垃圾注册、刷库撞库、活动作弊、论坛灌水等严重威胁互联网业务安全的风险
绿网:智能识别文本、图片、视频等多媒体的内容违规风险,如涉黄,暴恐,涉政等,省去90%人力成本
安全管家:基于阿里云多年安全实践经验为云上用户提供的全方位安全技术和咨询服务,为云上用户建立和持续优化云安全防御体系,保障用户业务安全
云盾混合云:在用户自有IDC、专有云、公共云、混合云等多种业务环境为用户建设涵盖网络安全、应用安全、主机安全、安全态势感知的全方位互联网安全攻防体系
态势感知:安全大数据分析平台,通过机器学习和结合全网威胁情报,发现传统防御软件无法覆盖的网络威胁,溯源攻击手段、并且提供可行动的解决方案
先知:全球顶尖白帽子和安全公司帮你找漏洞,最私密的安全众测平台。全面体检,提早发现业务漏洞及风险,按效果付费
移动安全:为移动APP提供安全漏洞、恶意代码、仿冒应用等检测服务,并可对应用进行安全增强,提高反破解和反逆向能力。
8、互联网中间件:
企业级分布式应用服务EDAS:以应用为中心的中间件PaaS平台、
消息队列MQ:ApacheRocketMQ商业版企业级异步通信中间件
分布式关系型数据库服务DRDS:水平拆分/读写分离的在线分布式数据库服务
云服务总线CSB:企业级互联网能力开放平台
业务实施监控服务ARMS:端到端一体化实时监控解决方案产品
9、分析:
E-MapReduce:基于Hadoop/Spark的大数据处理分析服务
云数据库HybirdDB:基于GreenplumDatabase的MPP数据仓库
高性能计算HPC:加速深度学习、渲染和科学计算的GPU物理机
大数据计算服务MaxCompute:TB/PB级数据仓库解决方案
分析型数据库:海量数据实时高并发在线分析
开放搜索:结构化数据搜索托管服务
QuickBI:通过对数据源的连接,对数据进行即席分析和可视化呈现。
参考资料:
百度百科-阿里云
简述阿里云服务平台提供服务有哪些?
一、自助服务方式
1、智能在线智能诊断,秒级解答,为您推荐最合适的人工服务渠道。
2、自助中心,提供常用自助工具,解决账号、财务、备案、定价等问题。
3、帮助文档,为客户提供阿里云所有产品的简介、购买、入门、操作等内容。
二、售前服务方式
1、售前咨询:95187 转1,工作日早9:00 - 晚8:00,休息日早9:00 - 晚6:00。
2、上云支持,专业架构师1对1助力上云,在线咨询更可享受专属优惠。
3、代金券服务(代金券领取地址-阿里云-云小站),免费领取阿里云最新代金券和9折优惠码,助力用户优惠上云。
三、售后服务方式
1、智能在线
智能诊断,秒级解答,为您推荐最合适的人工服务渠道。
2、技术工单
云产品及工程技术问题,技术工程师为您及时解答。
3、电话咨询
云产品及业务咨询问题,咨询工程师为您及时解答。
四、其他服务方式
1、专家服务
提供从咨询到实施、从迁云到护航的全周期专业服务,满足各场景下的服务需求。
2、支持计划
系统复杂的企业客户可以选择购买支持计划,获取由专属企业群、专属技术服务经理(TAM)等组成的专属支持。
3、社区问答
云产品使用及技术问题,开发者互助解答。
阿里云服务对象有哪些?
1.云服务器ECS
云服务器ECS:云计算产品的基本款,几乎每个客户都必买的,云服务器从1核1G到32核64G(随着时间推移,配置会越来越高),各种优惠都有,不同时段有不同的优惠活动,可以参考阿里云惠网;关于服务器配置还可以随意升降配置,可以包年包月,也可以按量随用随买。对于很多小公司及个人,只购买一台云服务器ECS就够用了。对于稍微大一点的企业从性能、安全、加载速度等方面诸多考虑,可能需要购买其他的阿里云产品。
阿里云从云服务器ECS衍生出来很多云服务器系列,例如适用于初级用户的轻量应用服务器,还有为了迎合各种高性能场景的云服务器,诸如GPU云服务器、FPGA云服务器、神龙云服务器等,总之都是云服务器,是企业上云的基本款。
2.云数据库RDS
云数据库:目前主流是MySQL,阿里云提供MySQL、PostgreSQL,SQL Server,MongoDB,Memcache(Redis)等不同的数据库产品。相对于云服务器,云数据库属于非必需品,因为用户完全可以在云服务器上搭建数据库。由于自身业务发展需要,将数据库独立出来,这时候就需要阿里云的RDS云数据库了。
3.负载均衡SLB
负载均衡SLB:对多台云服务器进行流量分发服务。为了应对业务需求,企业往往会有多台云服务器提供服务器,负载均衡就是将用户的请求按照企业自定义的策略转发到最优的服务器。
4.对象存储OSS
如果企业静态文件较多(图片、视频等大文件),可以将大量的存储内容转移独立出来,放到对象存储OSS里面。
5.CDN
内容分发网络,假设企业的云服务器在杭州,那么位于东北地区的用户访问速度就会比较慢,CDN可以解决这个问题,CDN将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。
6.专有网络 VPC
大家普遍会给阿里云打上公有云的标签,实际上阿里云可以提供的不仅仅是公有云,还有私有云、混合云等。专有网络VPC可以帮助企业在阿里云构建出一个隔离的网络环境,用户可以自定义IP 地址范围、网段、路由表和网关等,VPC可以提供更安全和灵活的网络环境,为我们构建混合云提供服务。
7.弹性伸缩
传统的企业自建的私有机房是不具有弹性伸缩功能的,假设企业遇到业务波峰,只能通过人为的升级硬件来应对,业务回落时就会造成硬件资源的浪费,而弹性伸缩很好的解决了这个痛点。阿里云弹性伸缩可以管理您的集群,在高峰期自动增加ECS实例,在业务回落时自动减少ECS实例,节省基础设施成本。另外,这个弹性伸缩是免费的。
8.DDoS高防IP
DDoS是目前比较常见的攻击方式,为了抵御DDoS攻击,用户可以通过配置高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠。讲真,阿里云的DDoS高防IP还挺贵的。
9.安骑士
当用户购买了云服务器ECS后,可能会受到阿里云发送的安骑士漏洞风险短信,安骑士一款主机安全软件,为您提供主机漏洞检测、基线检查、病毒查杀、资产统一管理等功能,为您建立安全运维管理平台。安骑士企业版可以免费试用7天,之后想再使用,是需要付费的。
10.证书服务
我们在访问网站时,会在浏览器的地址栏中看到绿色的锁,意思是该网站是基于HTTPS协议的。前几年网站基本上都是基于http协议,阿里云百科网目前还是基于http协议,相对于http协议,https提供了一层加密服务,会更加安全一些。网站想要实现HTTPS,可以向阿里云申请签发证书服务器,即我们常说的SSL证书。阿里云目前可以申请到免费的SSL证书(Symantec赛门铁克品牌)。
11.态势感知
态势感知说起来还比较高端,有点类似于先知的意思。态势感知会收集企业20种原始日志和网络空间威胁情报,利用机器学习还原已发生的攻击,并预测未发生的攻击,帮客户扩大安全可见性,并集中管理云上资产安全事件。
12.堡垒机
日防夜防家贼难防,开个玩笑哈。企业往往更加关注外部的安全威胁而忽略了企业内部,实际上运维人员误操作或者仿冒运维人员将对企业造成很严重的损失,更有甚至是致命的。例如:携程的宕机12小时事件,由于员工错误操作,删除了服务器代码,据不完全统计,携程宕机带来的直接损失就是每小时160万美金。堡垒机基于协议正向代理实现,对SSH、Windows远程桌面、SFTP等常见运维协议的 数据流进行全程记录,再通过协议数据流重组的方式进行录像回放,达到运维审计的目的。
13.消息队列MQ
说起消息队列,最典型的应用场景就是一年一度的双十一购物节,消息队列是一个真正具备低延迟、高并发、高可用、高可靠,可支撑万亿级数据洪峰的分布式消息中间件。当小仙女们开启大规模的剁手模式时,用户大量并发访问商品数据库,消息队列可以缓解瓶颈,减少页面响应时间,当然还有其他方面的功能优势,咱这里阿里云百科网就不过多赘述,双十一就是MQ的典型应用场景,大概就是这么个意思。
14.域名
域名与主机ip绑定,通过域名解析访问到主机上的服务,主要是简单易记,相当于别名。
15.虚拟主机
新手建站一般都是从虚拟主机开始的,无需自己配置web环境,简单易管理,价格也便宜。
16.企业邮箱
企业邮箱就是以公司域名为后缀的邮箱,企业自建的邮件系统。目前各大互联网大佬,例如:阿里云、腾讯云、网易等都有提供免费版的企业邮箱,如果想解除诸多限制,可以选购阿里云的企业邮箱付费版。
17.云解析DNS
DNS就是将你的域名解析到服务器的IP上,一般来讲域名解析是免费的,免费版就够用了。
阿里云数据库和网站运维主要做什么
看你的目标是什么咯,如果想做网站运维,就熟悉下各种WEB环境的配置、操作,例如mysql的日常操作命令之类的,然后下几个开源的网站程序下来安装看看,了解下权限设置神马的,不要只会-R 777。。。还有网马的查杀神马的。
如果想做其他的,你得先有目标,剩下的再说。
对话阿里云李飞飞:关于云原生数据库的五大预判
作者:王慧贤
数据存储、数据分析、数据安全......如今,围绕“数据”的话题越来越多,离人们的生活也越来越近。
从陌生到熟悉,数据不仅“出圈”,甚至已然站在了C位。去年,中央发布的《关于构建更加完善的要素市场化配置体制机制的意见》中明确表示,继土地、劳动力、资本、技术后,数据成为第五大生产要素。
步入信息化时代后,数据库、操作系统与中间件作为计算机最基础的三大软件,支撑着企业的正常运行。
当数据成为生产要素后,必然会迎来爆发式增长,企业的数据存储和处理需求将进一步释放。更重要的是,疫情加快了数字化转型的脚步,更加速了企业的上云速度。
从信息化到数字化,时代的变革,总会带来商业世界的变化。如何在云原生架构下使用数据库,成为企业的痛点和云厂商的机会,亚马逊AWS的CTO Werner Vogels曾多次强调:“数据库是云计算的终极之战。”
在数智化时代,云原生到底意味着什么?云原生数据库和传统数据库相比,核心优势是什么?是否把数据库搬上云就是云原生?基于这些问题,雷锋网与阿里巴巴集团副总裁、阿里云数据库产品事业部负责人李飞飞展开一场对话。
国产云原生数据库,摆脱「切肤之痛」
如今,数据库的商业世界,因为云的出现与发展,分成了两大派系。
一派是以Oracle为代表的传统商用数据库,一派是以国外AWS、国内阿里云为代表的云原生数据库,去“IOE革命”下的产物。
其实,早期较为火热的数据库种类有三种,层次式数据库、网络式数据库和关系型数据库。
在《浪潮之巅》一书中,作者吴军写下了这样的观点:“Oracle 的兴起很大程度上靠的是它最早看到关系型数据库的市场前景,并且在商业模式上优于 IBM。”
因此,在云原生数据库“入世”之前,数据库的天下一直是Oracle的,国内大部分互联网公司都不得不采用Oracle+IBM小型机+EMC的模式来维持正常运营。
高昂的费用,使得对于数据库需求较大的互联网巨头“忍无可忍”。
2009年,阿里巴巴的Oracle RAC 集群节点数达到了创记录的20个。可由于Oracle并没有弹性扩展的功能,只能按照峰值流量购买小型机和数据库,导致阿里将业务上涨带来的大部分利润,都支付给了Oracle。
第二年,阿里便开始走上了去“IOE”之路,根据开源MySQL搭建了AliSQL,并顺利经过了淘宝双11的考验,国产云原生数据库算是正式摆脱了“切肤之痛”,逐渐受到市场的真正认可。
另一边,国外的AWS在2015年公布了基于云计算的自研数据库Amazon Aurora。Aurora是一个关系型数据库,可以跨3个可用区域复制6份数据,其最大的特性就是高性能和高可用性。
云计算巨头的入局,让云原生数据库在国内外一步步成为主流。据Gartner预测,到了2021年,云数据库在整个数据库市场中的占比将首次达到50%,到2023年,75%的数据库都要跑在云平台之上。
关于云原生数据库,随着逐步的出圈,也让人们关心的焦点从“是啥?”转变为“还能解决哪些问题?”
但云原生数据库存在着数据孤岛的问题,无法打通多个数据系统的情况下,企业在数据加工和数据管理上就会“压力较大”,甚至在数据安全方面还存在隐患。
传统数据仓库一般基于T+1数据集成构建离线数仓,以支撑企业各项分析与服务。传统方案不但会影响线上业务稳定性,且难以支持企业的实时需求。
因此,在李飞飞看来,云原生数据库已经走到2.0阶段。这个阶段要解决的问题,就是上述存在的痛点。
9月26日,在阿里云数据库创新上云峰会上,阿里云发布了首个一站式敏捷数据仓库解决方案。该方案结合一站式数据管理平台DMS及云原生数据仓库AnalyticDB(简称:ADB),实现了库仓一体的技术架构,提供在线数据实时入仓、T+1周期性快照、按需建仓等能力,数据延时低至秒级,持续赋能业务在线化,使企业的在线数据可以释放出更大的价值。
相较于传统方案,阿里云一站式敏捷数据仓库解决方案有4大核心优势:
1、对业务侧影响小,不会因为数据汇聚集中和实时加工影响业务侧正常运行,CPU、内存占用低于5%;
2、事务顺序和数据准确性有保障,且处理链路短,支持在线数据实时处理落仓,效率更高。数据传输效率100m/s,数据延时在10秒内;
3、支持复杂实时数据加工、计算逻辑;
4、低代码操作,能够大大降低实时数仓的构建难度,提升构建效率的同时,支撑企业数字化转型过程中的各类实时场景。
除了实时统计分析场景外,企业为满足周期性数据分析需求,需建设周期性全量快照。
传统数仓的周期性全量集成方案会对生产业务造成稳定性影响、全量集成时效性差、且无法满足客户针对任意时间点进行数据回溯的业务诉求。
针对T+1周期性集成场景,一站式敏捷数据仓库解决方案支持基于拉链表的T+1全量数据快照,用户通过简单几个步骤,即可按需生成各种周期的全量或增量快照。
此外,业务还可按需进行任意时间点的数据回溯,以快速解决数据异常问题。
谈起未来数据库的发展趋势,李飞飞提到以下五点:
1、云原生+分布式一定是数据库的标配,分布式已经是必选项。分布式数据库由多个相互连接的数据库组合而成,面向用户则是以单个数据库的形态出现。云原生分布式数据库具备易用性、高扩展性、快速迭代、节约成本等特征,从资源池化到弹性扩展,再到智能运维,再到离在线一体化,解决企业用户的核心诉求。
2、AI for DB(database,指数据库)和 DB for AI 将是主流趋势。用AI将数据库运维管控智能化,尤其在云原生+分布式这个前提下更重要,因为数据库不仅是内核的能力弹性高可用、可拓展性,更重要的是部署后应用和运维的复杂度要大大降低。在数据库里,面对越来越多非结构化的数据,分析能力十分重要。
3、数据的安全可信,在今天这个大环境下变得愈发重要,如何确保整个数据库系统,在处理数据全链路过程中提供加密能力、多方安全计算能力、隐私保护的能力,也是很重要的趋势。
4、多模数据处理能力将越来越重要。比如,新型数据库多模态的处理能力,在新能源 汽车 企业打标签、智能电池化预测等应用场景中,将发挥越来越重要的作用。
5、一份数据,多个数据处理引擎:实现仓库一体、仓库联动、仓库打通,数据之间无缝流转。
以上判断,也从侧面反映出阿里云数据库的走向,这点毋庸置疑。但除此之外,业界最关心的,还有开源。
近半年,国内很多厂商相继提出开源战略,背后缘由显而易见,为了打造生态。就在今年的阿里云峰会上,阿里云智能总裁、达摩院院长张建锋(花名行癫)将2021年阿里云的发展关键词归纳为:做好服务、做深基础、做厚中台、做强生态。
做好服务与生态,成为如今厂商们不约而同的目标,而开源,就是最好的选择。
当雷锋网问到:“未来,阿里云数据库会不会把所有能力都开源?”这一问题时,李飞飞给到的回答是:“不会。”
之所以有这样的回答,是因为对于开源,他有着一些判断和看法。
李飞飞表示,这些部分,本就是阿里云数据库的商业化版本。
事实上,业界大多数的数据库厂商都不会针对自身的核心能力开源,如TiDB的核心管控组件、TiFlash。
与像MongoDB,、Cassandra、CouchDB这些以开源起家的数据库厂商不同,开源只是阿里云数据库的战略,不是阿里云数据库的命脉。
前几年,有业内人士表示,在面向开源时,国产数据库首先需要解决信任以及开源知识产权等问题。“开源会让厂商更加认真思考版权还有专利的问题,事实上,选择开源后,对于数据库厂商提出了更高的要求。”
李飞飞认为,开源只是一种选择,数据库开源成功并不代表着商业化就能够成功,不开源也不能代表厂商不先进。
更准确的说,开源只是一种有效手段。
最终,阿里云数据库希望客户能够通过开源版本把阿里云数据库产品技术快速用起来,并能够参与到技术产品的迭代过程中,在一些高阶能力上,借鉴团队专业能力和阿里云的服务能力,成为良好的商业合作伙伴,这是李飞飞以及阿里云数据库对于开源的一些基本思考。雷锋网雷锋网雷锋网
阿里云分布式数据库服务DRDS?谁使用过 简单讲讲!
淘宝开源的TDDL和cobar的结合,放到了阿里云上就是DRDS,是商品,服务,可以购买使用的。可以在阿里云官网上注册免费试用。
=====================================================
随着互联网时代的到来,计算机要管理的数据量呈指数级别地飞速上涨,而我们却完全无法对用户数做出准确预估。我们的系统所需要支持的用户数,很可能在短短的一个月内突然爆发式地增长几千倍,数据也很可能快速地从原来的几百GB飞速上涨到了几百个TB。如果在这爆发的关键时刻,系统不稳定或无法访问,那么对于业务将会是毁灭性的打击。
伴随着这种对于系统性能、成本以及扩展性的新需要,以HBase、MongoDB为代表的NoSQL数据库和以阿里DRDS、VoltDB、ScaleBase为代表的分布式NewSQL数据库如雨后春笋般不断涌现出来。
本文将会介绍阿里DRDS的技术理念、发展历程、技术特性等内容。
DRDS设计理念
从20世纪70年代关系数据库创立开始,其实大家在数据库上的追求就从未发生过变化:更快的存取数据,可以按需扩缩以承载更大的访问量和更大的数据量,开发容易,硬件成本低,我们可以把这叫做数据库领域的圣杯。
为了支撑更大的访问量和数据量,我们必然需要分布式数据库系统,然而分布式系统又必然会面对强一致性所带来的延迟提高的问题,因为网络通信本身比单机内通信代价高很多,这种通信的代价就会直接增加系统单次提交的延迟。延迟提高会导致数据库锁持有时间变长,使得高冲突条件下分布式事务的性能不升反降(这个具体可以了解一下Amdahl定律),甚至性能距离单机数据库都还有明显的差距。
从上面的说明,我们可以发现,问题的关键并不是分布式事务做不出来,而是做出来了却因为性能太差而没有什么卵用。数据库领域的高手们努力了40年,但至今仍然没有人能够很好地解决这个问题,Google Spanner的开发负责人就经常在他的Blog上谈论延迟的问题,相信也是饱受这个问题的困扰。
面对这个难题,传统的关系数据库选择了放弃分布式的方案,因为在20世纪70~80年代,我们的数据库主要被用来处理企业内的各类数据,面对的用户不过几千人,而数据量最多也就是TB级别。用单台机器来处理事务,用个磁盘阵列处理一下磁盘容量不够的问题,基本上就能解决一切问题了。
然而,信息化和互联网的浪潮改变了这一切,我们突然发现,我们服务的对象发生了根本性变化,从原来的几千人,变成了现在的几亿人,数据量也从TB级别到了PB级别甚至更多。存在单点的单机系统无论如何努力,都会面对系统处理能力的天花板。原来的这条路,看起来是走不下去了,我们必须想办法换一条路来走。
可是,分布式数据库所面对的强一致性难题却像一座高山,人们努力了无数个日日夜夜,但能翻越这座山的日子看来仍然遥遥无期。
于是,有一群人认为,强一致性这件事看来不怎么靠谱,那彻底绕开这个问题是不是个更好的选择?他们发现确实有那么一些场景是不需要强一致事务的,甚至连SQL都可以不要,最典型的就是日志流水的记录与分析这类场景。而去掉了事务和SQL,接口简单了,性能就更容易得到提升,扩展性也更容易实现,这就是NoSQL系统的起源。
虽然NoSQL解决了性能和扩展性问题,但这种绕开问题的方法给用户带来了很多困扰,系统的开发成本也大大提升。这时候就有另外一群人,他们觉得用户需要SQL,觉得用户也需要事务,问题的关键在于我们要努力地往圣杯的方向不断前进。在保持系统的扩展性和性能的前提下,付出尽可能小的代价来满足业务对数据库的需要。这就是NewSQL这个理念的由来。
DRDS也是一个NewSQL的系统,它与ScaleBase、VoltDB等系统类似,都希望能够找到一条既能保持系统的高扩展性和高性能,又能尽可能保持传统数据库的ACID事务和SQL特性的分布式数据库系统。
DRDS发展历程
在一开始,TDDL的主要功能就是做数据库切分,一个或一组SQL请求提交到TDDL,TDDL进行规则运算后得知SQL应该被分发到哪个机器,直接将SQL转发到对应机器即可(如图1)。
图1 TDDL数据库切分
开始的时候,这种简单的路由策略能够满足用户的需要,我们开始的那些应用,就是通过这样非常简单的方式完成了他所有的应用请求。我们也认为,这种方案简单可靠,已经足够好用了。
然而,当我们服务的应用从十几个增长到几百个的时候,大量的中小应用加入,大家纷纷表示,原来的方案限制太大,很多应用其实只是希望做个读写分离,希望能有更好的SQL兼容性。
于是,我们做了第一次重大升级,在这次升级里,我们提出了一个重要的概念就是三层架构,Matrix对应数据库切分场景,对SQL有一定限制,Group对应读写分离和高可用场景,对SQL几乎没有限制。如图2所示。
图2 数据库升级为三层架构
这种做法立刻得到了大家的认可,TDDL所提供的读写分离、分库分表等核心功能,也成为了阿里集团内数据库领域的标配组件,在阿里的几乎所有应用上都有应用。最为难得的是,这些功能从上线后,到现在已经经历了多年双11的严酷考验,从未出现过严重故障(p0、p1级别故障属于严重故障)。数据库体系作为整个应用系统的重中之重,能做到这件事,真是非常不容易。
随着核心功能的稳定,自2010年开始,我们集中全部精力开始关注TDDL后端运维系统的完善与改进性工作。在DBA团队的给力配合下,围绕着TDDL,我们成功做到了在线数据动态扩缩、异步索引等关键特征,同时也比较成功地构建了一整套分布式数据库服务管控体系,用户基本上可以完全自助地完成整套数据库环境的搭建与初始化工作。
大概是2012年,我们在阿里云团队的支持下,开始尝试将TDDL这套体系输出到阿里云上,也有了个新的名字:阿里分布式数据库服务(DRDS),希望能够用我们的技术服务好更多的人。
不过当我们满怀自信地把自己的软件拿到云上的时候,却发现我们的软件距离用户的要求差距很大。在内部因为有DBA的同学们帮助进行SQL review,所以SQL的复杂度都是可控的。然而到了云上,看了各种渠道提过来的兼容性需求,我们经常是不自觉地发出这样的感叹:“啊?原来这种语法MySQL也是可以支持的?”
于是,我们又进行了架构升级,这次是以兼容性为核心目标的系统升级工作,希望能够在分布式场景下支持各类复杂的SQL,同时也将阿里这么多年来在分布式事务上的积累都带到了DRDS里面。
这次架构升级,我们的投入史无前例,用了三年多才将整个系统落地完成。我们先在内部以我们自己的业务作为首批用户上线,经过了内部几百个应用的严酷考验以后,我们才敢拿到云上,给到我们的最终用户使用。
目前,我们正在将TDDL中更多的积累输出到云上,同时也努力优化我们的用户界面。PS:其实用户界面优化对我们这种专注于高性能后端技术的团队来说,才是最大的技术挑战,连我也去学了AngularJS,参与了用户UI编。
DRDS主要功能介绍
发展历史看完了,下面就由我来介绍一下目前我们已经输出到云上的主要功能。
【分布式SQL执行引擎】
分布式SQL引擎主要的目的,就是实现与单机数据库SQL引擎的完全兼容。目前我们的SQL引擎能够做到与MySQL的SQL引擎全兼容,包括各类join和各类复杂函数等。他主要包含SQL解析、优化、执行和合并四个流程,如图3中绿色部分。
图3 SQL引擎实现的主要流程
虽然SQL是兼容的,但是分布式SQL执行算法与单机SQL的执行算法却完全不同,原因也很简单,网络通信的延迟比单机内通信的延迟大得多。举个例子说明一下,我们有份文件要从一张纸A上誊写到另外一张纸B上,单机系统就好比两张纸都在同一个办公室里,而分布式数据库则就像是一张纸在北京,一张纸在杭州。
自然地,如果两张纸在同一个办公室,因为传输距离近,逐行誊写的效率是可以接受的。而如果距离是北京到杭州,用逐行誊写的方式,就立刻显得代价太高了,我们总不能看一行,就打个“飞的”去杭州写下来吧。在这种情况下,还是把纸A上的信息拍个照片,【一整批的】带到杭州去处理,明显更简单一些。这就是分布式数据库特别强调吞吐调优的原因,只要是涉及到跨机的所有查询,都必须尽可能的积攒一批后一起发送,以减少系统延迟提高带来的不良影响。
【按需数据库集群平滑扩缩】
DRDS允许应用按需将新的单机存储加入或移出集群,DRDS则能够保证应用在迁移流程中实现不停机扩容缩容。
图4 DRDS按需进行平滑扩缩
在内部的数据库使用实践中,这个功能的一个最重要应用场景就是双11了。在双11之前,我们会将大批的机器加入到我们的数据库集群中,抗过了双11,这批机器就会下线。
当DRDS来到云上,我们发现双11其实不仅仅只影响阿里内部的系统。在下游的各类电商辅助性系统其实也面对巨大压力。在双11前5天,网聚宝的熊总就找到我说,担心撑不过双11的流量,怕系统挂。于是我们就给他介绍了这个自动扩容的功能怎么用,他买了一个月的数据库,挂接在DRDS上。数据库能力立刻翻倍,轻松抗过了双11,也算是我印象比较深刻的一个案例了。
因为我们完全无法预测在什么时间点系统会有爆发性的增长,而如果在这时候系统因为技术原因不能使用,就会给整个业务带来毁灭性的影响,风口一旦错过,就追悔莫及了。我想这就是云计算特别强调可扩展能力的原因吧。
【小表广播】
小表广播也是我们在分布式数据库领域内最常用的工具之一,他的核心目的其实都是一个——尽可能让查询只发生在单机。
让我们用一个例子来说明,小表广播的一般使用场景。
图5 小表广播场景
图5中,如果我想知道买家id等于0的用户在商城里面买了哪些商品,我们一般会先将这两个表join起来,然后再用where平台名=”商城” and buyerID = 0找到符合要求的数据。然而这种join的方式,会导致大量的针对左表的网络I/O。如果要取出的数据量比较大,系统延迟会明显上升。
这时候,为了提升性能,我们就必须要减少跨机join的网络代价。我们比较推荐应用做如下处理,将左表复制到右表的每一个库上。这样,join操作就由分布式join一下变回到本地join,系统的性能就有很大的提升了,如图6所示。
图6
【分布式事务套件】
在阿里巴巴的业务体系中存在非常多需要事务类的场景,下单减库存,账务,都是事务场景最集中的部分。
而我们处理事务的方法却和传统应用处理事务的方案不大一样,我们非常强调事务的最终一致性和异步化。利用这种方式,能够极大地降低分布式系统中锁持有的时间,从而极大地提升系统性能。
图7 DRDS分布式事务解决套件
这种处理机制,是我们分布式事务能够以极低成本大量运行的最核心法门。在DRDS平台内,我们将这些方案产品化,为了DRDS的分布式事务解决套件。
利用他们,能够让你以比较低的成本,实现低延迟,高吞吐的分布式事务场景。
DRDS的未来
阿里分布式数据库服务DRDS上线至今,大家对这款产品的热情超出了我们的预期,短短半年内已经有几千个申请。
尽管还在公测期,但是大家就已经把关系到身家性命的宝贵在线数据业务放到了DRDS上,我能够感受到这份沉甸甸的信赖,也不想辜负这份信赖。
经过阿里内部几千个应用的不断历练,DRDS已经积累出一套强大的分布式SQL执行引擎和和一整套分布式事务套件。
我也相信,这些积累能够让用户在基本保持单机数据库的使用习惯的前提下,享受到分布式数据库高性能可扩展的好处。
在平时的DRDS支持过程中,我面对最多的问题就是,DRDS能不能够在不改变任何原有业务逻辑和代码的前提下,实现可自由伸缩和扩展呢?十分可惜的是,关系数据库发展至今,还没有找到既能保留传统数据库一切特性,又能实现高性能可扩展数据库的方法。
然而,虽不能至,吾心向往之!我们会以“可扩展,高性能”为产品核心,坚定地走在追寻圣杯的路上,并坚信最终我们一定能够找寻到它神圣的所在。
作者简介:王晶昱,花名沈询,阿里巴巴资深技术专家。目前主要负责阿里的分布式数据库DRDS(TDDL)和阿里的分布式消息服务ONS(RocketMQ/Notify)两个系统。
发表评论
暂时没有评论,来抢沙发吧~