【独家】颠覆传统,告诉你一个不同于数据库的计算体系

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介:

[导读]数据库是当前数据分析中最重要的数据存在形式,但受其封闭性和关系代数四十年没有关键性发展等影响,现今很难满足多数据计算量的计算需求。演讲嘉宾蒋步星将针对结构化数据常见的集合和有序运算以及大数据计算等实际业务需求,分析探讨关系代数在描述和实施计算时面临的困难,研究结构化数据的计算特点后提出更有适应性的计算模型,并进一步形成更有开放性的计算能力提交方案,最后再简单分享对新一代数据仓库的展望。



本讲座选自润乾软件创始人蒋步星于2017年3月28日在清华大数据“技术·前沿”系列讲座上所做的题为《颠覆传统,告诉你一个不同于数据库的计算体系》的演讲。



(建议在wifi条件下观看)


蒋步星演讲内容重点分为四个部分。第一个部分主要讲工程方面的问题,就是关系数据库在工程方面不方便的地方,我们应该怎么解决。第二个部分,关系代数理论体系的很多问题,我们用什么办法改进。第三部分,大数据的计算技术。第四部分,展望在这些问题基础上我们设计一个什么样的新的数据库体系。


蒋步星:提及数据库,它不仅仅是做存储,更重要的是计算,特别是数据仓库更涉及计算。数据库需要存储的数据是比较规整的,必须经过设计使其有一定的约束性,以确保数据的合法性,所以它有一定的封闭性。但数据计算无处不在,此时不应把所有的计算都交给数据库来做,而是应该找一个更具开放性且轻量级的计算引擎来实施无处不在的计算。



针对实际中数据多样性和数据源的实时性,库外计算可以真正实践一个ETL过程,ETL是先E再T再L,先清洗再转换再加载;可以减少存储过程;减少冗余的中间表;可以优化执行路径。如果说有独立于数据库之外的计算能力的话,不稳定的数据就可以在数据库外做,可以落地到文件系统。但中间数据仍是需要的,因为数据运算复杂是无法避免的。



数据中心是典型的需要数据库外计算能力的场景。其对外的接口不能随便写入语句执行,需做一些访问的控制、数据的脱敏,所以它对外是一种服务式的结构,其中包括多个数据源可编程的,可集成的混合计算。它是轻量级的可集成的而不是一个很独立的东西,数据库相对来说是一个很独立的进程,集成起来并不是特别方便,这样的一种方式就可以为数据中心服务。



关系数据库的理论基础就是关系代数,它有一种形式化的语言就是SQL,考虑到应用中的实际问题,我们设计了另外一种代数体系-离散数据集。



并不是所有运算都是集合性的,离散性体现在集合成员可以游离在集合外存在;独立运算或及其它游离成员再组合新集合运算。


下面是关于离散性数据应用



然后是有序的计算,这个也是SQL的弱势之处。有序的计算天然是集合化和离散性的结合物,有序的含义并不是一个元素的顺序,它一定要在一个集合里面才有这个意义,单个就没有次序的意义了。主要是关于跨行引用、有序分组、位置利用。



案例分析:一支股票连续上涨多少天。如果是用SQL的分组的思路来做的,它还在上涨我们就跟前面的数据分成一个组,如果它下跌了就起一个新组,然后再看最长的那个分组就算出来了。若是JAVA程序员可能就是先清零,涨了加一,降了就清零,都可以做出来。但通过关系数据库,想出的解决办法很绕,所以这是我的一个招聘考题,尤其是做公司的可以拿回去试试,通过率能达到30% 左右。



其实代数体系设计得好,或者办法好,就是可以少算。接下来涉及高技能计算技术,主要是讲遍历、连接、并行,并行其实主要是解决分段或者是集群问题。




连接其实是关系代数里面最头疼的运算,实际上如果我们换一种思维看,刚才讲离散性的时候也碰到过,把外键指向的记录就认为是那个记录,而不是拿个外键号对应相等,就把它变成指向那条记录的对象。现在关系数据库最快的解决办法,是哈希对应,计算哈希值,然后要比对,哈希值如果有重的就要一个一个比对,如果重的多了还要二次哈希,会造成许多繁琐操作。



不透明的冗余方案:结构化数据计算经常是数据密集型任务; 数据分布后读取压力将由多个节点分担; 每份数据有多个备份,某节点失效后还能由别的节点计算。


另外,备胎式内存分布就不能和外存一样使用冗余式。



数据库(OLAP)与数据仓库(OLTP)是不同的。OLTP不算特别明显的大数据任务,但并发多,它特别强调事务一致性,有数据结构的多样性。而OLAP业务涉及的数据复杂度也比较高,读数据没有什么一致性。关系数据库其实是把这两种需求合到一起了,实际上并不合适。



用数据仓库,解决实际计算问题。不像计算引擎是个开放的体系,数据仓库虽不能假定数据类型,但在建新的数据仓库时,就可以要求数据组织是另外的样子。把众多数据组织到一起,存储量变小常常意味着性能的提升;把主键都序号化,建成多层,相当于外层的指针化的主键,提高整体效率。



两个小时的精彩演讲落下帷幕,大家针对技术向蒋总提出诸多问题。涉及到OLTP业务,OLAP业务的不一样在于任何一个运算的时候都可能涉及一堆服务器,是简单的分布式。涉及工程上的问题,数据计算、数据库的同样会有进一步的发展等等。


嘉宾简介


蒋步星,润乾软件创始人、首席科学家,清华大学计算机硕士,著有《非线性报表模型原理》等。1989年,中国首个国际奥林匹克数学竞赛团体冠军成员,个人金牌。2000年,创立润乾公司。2004年,首次在润乾报表中提出非线性报表模型,完美解决了中国式复杂报表制表难题,目前该模型已成为报表行业的标准。2014年,经过7年开发,润乾软件发布不依赖关系代数模型的计算引擎——集算器,有效地提高了复杂结构化大数据计算的开发和运算效率。2015年,润乾软件被福布斯中文网站评为“2015福布斯中国非上市潜力企业100强”2016年,荣获中国电子信息产业发展研究院评选的“2016年中国软件和信息服务业十大领军人物”。2017年, 自主创新研发新一代的数据仓库、云数据库等产品即将面世。


原文发布时间为:2017-04-06 

本文作者:蒋步星

本文来自云栖社区合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU”微信公众号

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
4月前
|
存储 缓存 关系型数据库
阿里云数据库 SelectDB 多计算集群核心设计要点揭秘与场景应用
在云原生存算分离架构下,多计算集群的实现从技术方案上看似乎并不存在过多难题。但从产品的角度而言,具备成熟易用的多计算集群能力且能运用于用户实际业务场景中,还有较多核心要点需要深度设计
阿里云数据库 SelectDB 多计算集群核心设计要点揭秘与场景应用
|
6月前
|
数据采集 Java BI
笛卡尔积计算在关系数据库中的高效应用
笛卡尔积计算在关系数据库中的高效应用
|
6月前
|
存储 关系型数据库 分布式数据库
PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题
【7月更文挑战第3天】PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题。此架构让存储层专注数据可靠性,计算层专注处理SQL,提升性能并降低运维复杂度。通过RDMA加速通信,多副本确保高可用性。资源可独立扩展,便于成本控制。动态添加计算节点以应对流量高峰,展示了其灵活性。PolarDB的开源促进了数据库技术的持续创新和发展。
327 2
|
8月前
|
SQL 存储 算法
数据库编程大赛:一条SQL计算扑克牌24点
参加NineData举办的数据库编程大赛,展示你的技术才华!用一条SQL语句解决扑克牌24点的计算表达式。这场比赛面向数据库爱好者、开发者、程序员、DBA等,展示你的编程技能,并有机会赢得丰厚奖励。欢迎大家来挑战!
278 0
数据库编程大赛:一条SQL计算扑克牌24点
|
数据库
计算数据库某个表大小
计算数据库某个表大小
|
缓存 弹性计算 分布式计算
阿里云适合建网、web应用、数据分析和计算、数据库系统的云服务器价格参考
阿里云服务器新客专享,新用户完成账号实名认证,享受优惠价格购买计算型、通用型、内存型云服务器爆款配置特价优惠,限1-2台,这些云服务器主要适合搭建网站、web应用、数据分析和计算、数据库系统等中小类型和规模的企业级应用。
424 1
阿里云适合建网、web应用、数据分析和计算、数据库系统的云服务器价格参考
|
存储 Cloud Native 关系型数据库
阿里云最新产品手册——阿里云核心产品——云原生关系型数据库PolarDB——计算与存储分离
阿里云最新产品手册——阿里云核心产品——云原生关系型数据库PolarDB——计算与存储分离自制脑图
261 1
|
SQL 关系型数据库 MySQL
阿里云数据库SQL挑战赛赛题三:计算三角形面积
阿里云开发者社区及数据库团队联合举办「阿里云数据库SQL挑战赛」,来自阿里云数据库团队的技术专家为各位开发者准备了三道由浅入深的赛题,快来试试你有多会写 SQL 吧。此外,我们还为开发者提供了 3 个月免费的 RDS MySQL Serverless 资源,参赛的同时还能体验云上开发的便利性。
855 1
|
存储 机器学习/深度学习 NoSQL
「图型计算架构」GraphTech生态系统2019-第1部分:图型数据库
「图型计算架构」GraphTech生态系统2019-第1部分:图型数据库
|
关系型数据库 Serverless 数据库
《Serverless数据库技术研究报告》——三、 Serverless数据库技术趋势——(二)计算资源标准化,统一底层资源
《Serverless数据库技术研究报告》——三、 Serverless数据库技术趋势——(二)计算资源标准化,统一底层资源
131 0