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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:
+关注继续查看

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


0?wx_fmt=gif&wxfrom=5&wx_lazy=1


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



(建议在wifi条件下观看)


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


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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



640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1

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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


640?wx_fmt=png&wxfrom=5&wx_lazy=1


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


嘉宾简介


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


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

本文作者:蒋步星

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

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3天前
|
存储 人工智能 数据库
应对数据爆炸时代,揭秘向量数据库如何成为AI开发者的新宠,各数据库差异对比
应对数据爆炸时代,揭秘向量数据库如何成为AI开发者的新宠,各数据库差异对比
应对数据爆炸时代,揭秘向量数据库如何成为AI开发者的新宠,各数据库差异对比
|
5月前
|
SQL 存储 NoSQL
现阶段的主流数据库分别是哪几种?
MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。
|
7月前
|
存储 机器学习/深度学习 NoSQL
「图型计算架构」GraphTech生态系统2019-第1部分:图型数据库
「图型计算架构」GraphTech生态系统2019-第1部分:图型数据库
|
8月前
|
存储 NoSQL Oracle
夯实基础,不能忽视的“数据库”
如果我们把数据比作“米”,数据库就是“米仓”。没错,从标准定义来讲,数据库就是按照数据结构来组织,存储和管理数据的仓库。
|
8月前
|
数据库 云计算 数据库管理
阿里云产品体系分为6大分类——云计算基础——数据库——数据库管理
阿里云产品体系分为6大分类——云计算基础——数据库——数据库管理自制脑图
37 1
阿里云产品体系分为6大分类——云计算基础——数据库——数据库管理
|
8月前
|
NoSQL 数据库 云计算
阿里云产品体系分为6大分类——云计算基础——数据库——NoSQL数据库
阿里云产品体系分为6大分类——云计算基础——数据库——NoSQL数据库自制脑图
54 0
阿里云产品体系分为6大分类——云计算基础——数据库——NoSQL数据库
|
8月前
|
关系型数据库 数据库 云计算
阿里云产品体系分为6大分类——云计算基础——数据库——关系型数据库
阿里云产品体系分为6大分类——云计算基础——数据库——关系型数据库自制脑图
44 1
阿里云产品体系分为6大分类——云计算基础——数据库——关系型数据库
|
存储 机器学习/深度学习 人工智能
【数据库技术基础】大数据的特征
【数据库技术基础】大数据的特征
87 1
|
SQL Oracle 关系型数据库
下一代数据库的三重功能:云计算、平台即服务和开源
下一代数据库的三重功能:云计算、平台即服务和开源
135 0
|
SQL 存储 Oracle
杨传辉:深挖 OceanBase 背后的技术逻辑,助力数据库核心系统升级
数据库是信息社会的基础设施,通过开放开源助力数据库技术的快速发展,构建新一代数据基础设施是大势所趋!在“2021云栖大会 . OceanBase 原生分布式数据库论坛” 上,OceanBase CTO 杨传辉为大家带来了一场主题为《OceanBase 一体化架构助力核心系统升级》的演讲。
175 0
杨传辉:深挖 OceanBase 背后的技术逻辑,助力数据库核心系统升级
热门文章
最新文章
推荐文章
更多