在这个全国抗疫的特殊时刻,阿里CIO学院希望与更多企业的CIO、CTO、技术专家、程序员站在一起,因此举办攻“疫”技术公益培训,分享技术在人类灾难前能够呈现的价值。在阿里CIO学院攻“疫”技术公益培训的第一场直播中,达摩院数据库首席科学家,阿里巴巴副总裁,ACM杰出科学家李飞飞(花名:飞刀)为大家带来了企业级云原生分布式数据库系统的分享,以下内容由视频直播内容整理而成。
首先为大家将介绍整个数据库市场分析与预测。根据Gartner公司的分析报告,2018年全球基础软件如虚拟化软件、操作系统、存储等的市场规模大约为2000亿美金,其中数据库占20%,大约为461亿美金。而中国的数据库市场规模大概为161亿人民币,但这一数字实际上因为各种原因被远远低估了。2018年数据库市场的增长率是18%,其中云数据库占比达到了22.75%,而Gartner预测在未来的2到3年内云数据库的占比可能会达到75%。在世界范围内,云数据库的领袖毫无疑问当然是亚马逊。亚马逊是最早在云数据库市场发力的厂商,也是目前做的最好的一家云厂商。而在AWS做云数据库之前,这个市场处于“None-Player”的状态,传统数据库市场的巨头是Microsoft、IBM、Oracle,而AWS未能跻身其中。但云数据库赛道为AWS带来了发展的机遇,其发展速度非常快,它的云原生数据库Aurora在2018年就达到了3亿美金的营收。数据库已经发展了40年,可以说是一个传统又古老的领域。回顾数据库的发展历史,1980年到1990年属于商业起步阶段,此时Oracle、IBM DB2、Sybase以及SQL Server和Informix等开始出现。1990年至2000年,开源数据库开始展露头角,出现了PostgreSQL和MySQL等。与此同时,出现了一些分析型数据库,因为之前出现的都是OLTP,而现在随着大量数据的出现,需要对于这些数据进行分析,因此出现了OLAP,而为了避免读写冲突,就需要建立分析型数据库系统,Teradata、Sybase IQ、Greenplum等就快速成长起来。2000年到2010年期间,以谷歌为代表的互联网公司逐渐推出了NoSQL数据库。尤其是谷歌的GFS(Google File System)、Google Bigtable、Google MapReduce三大件。Google File System解决了分布式文件系统问题,Google Bigtable解决了分布式KV(Key-Value)存储的问题,Google MapReduce解决了在分布式文件系统和分布式KV存储上面如何做分布式计算和分析的问题。之所以产生了这三大件,是因为数据强一致性对系统的水平拓展以及海量数据爆发式增长的分析能力出现了断层。因此就需要解决这个问题,把这种数据的强一致性需求弱化,换来能够使用用分布式的集群做水平拓展处理。谷歌三大件在业界诞生以后,很快的衍生了一个新的领域叫NoSQL(Not Only SQL),就是针对非结构化、半结构化的海量数据处理系统。现在也有很多很好的商业公司基于NoSQL发展,比如说文档数据(MongoDB)、缓存(Redis)等大家平常应用开发都会用到的NoSQL系统。而在2010年以后,AWS Aurora、Redshift、Azure SQL Database、Google Spanner以及阿里云的POLARDB和AnalyticDB等都发展起来了,它们的特点就是云原生、一体化分布式、多模和HTAP的能力。总结而言,数据库的演进经历了从结构化数据在线处理到海量数据分析,从SQL+OLAP的RDBMS到ETL+OLAP的Data Warehouse和Data Cube,再到今天异构多源的数据类型的发展历程。如今,上云已经成为一种趋势。而在上云的过程中,数据库则被认为是云上非常重要的一环。因为云最开始提供的是IaaS,而随着各种智能化应用的兴起,数据库就成为了从IaaS到智能化应用连接的重要一环。最经典的是传统关系型OLTP数据库,其主要用于事务处理的结构化数据库,典型例子是银行的转账记账、淘宝下单、订单以及商品库存管理等。其面临的核心挑战是高并发、高可用以及高性能下的数据正确性和一致性。其次是NoSQL数据库及专用型数据库,其主要用于存储和处理非结构化或半结构化数据(如文档,图,时序、时空,K-V),不强制数据的一致性,以此换来系统的水平拓展、吞吐能力的提升。再次是分析型数据库 (On-Line Analytic Processing, OLAP),其应用场景就是海量的数据、数据类型复杂以及分析条件复杂的情况,能够支持深度智能化分析。其面临的挑战主要是高性能、分析深度、与TP数据库的联动,以及与NoSQL数据库的联动。除了数据的核心引擎之外,还有数据库外围的服务和管理类工具,比如数据传输、数据备份以及数据管理等。最后就是数据库的管控平台,无论是私有云、专有云、混合云还是自己的IDC机房内进行部署,总要有一套数据库管控系统来管理数据库实例的产生和消亡、实例的资源消费等,能够以简单的形式提供给DBA以及数据库开发者。专业用户独享
本文为机器之心深度精选内容,专业认证后即可阅读全文
开启专业认证