数据蒋堂 | SQL用作大数据计算语法好吗?

当前的大数据平台在处理结构化数据时大都仍然以提供SQL语法为主流。兼容SQL的好处是很明显的,SQL的应用非常广泛,会SQL的程序员很多,如果继续采用SQL则可以避免许多学习成本。支持SQL的前端软件也很多,使用SQL的大数据平台很容易融入这个现成的生态圈中。大数据平台打算替代的传统数据库也是SQL语法的,这样兼容性会很好,移植成本相对较低。

但继续使用SQL也有缺点,最大的问题就是难以获得大数据计算最需要的高性能。

我们在前面的文章中提到过,SQL中缺乏一些必要的数据类型和运算定义,这使得某些高性能算法无法描述,只能寄希望于计算引擎在工程上的优化。传统商业数据库经过几十年的发展,优化经验已经相当丰富,但即使这样仍有许多场景难以被优化,理论层面的问题确实很难在工程层面解决。而新兴的大数据平台在优化方面的经验还远远不如传统数据库,算法上不占优,就只能靠集群更多的机器获得性能提升。另外,SQL还是一种描述性语言,不擅长指定执行路径,而想获得高性能常常需要专门优化的执行路径,这又需要增加许多特殊的修饰符来人为干预,那还不如直接用过程性语法更为直接,这也会妨碍用SQL写出高性能的代码。

SQL发明之初的计算机硬件能力还比较差,要保证实用性,SQL的设计必须适应当时的硬件条件,这就导致了SQL很难充分利用当代计算机的硬件能力,具体来说就是大内存、多线程和集群。SQL中的JOIN是按键值对应的,而大内存情况下其实可以直接用地址对应,不需要计算HASH值和比对,性能可以提高很多;SQL的数据表无序,单表计算时还容易做到分段并行,多表关联运算时一般就只能事先做好固定分段,很难做到同步动态分段,这就无法根据机器的负载临时决定并行的线程数量;对于集群运算也是这样,SQL在理论上不区分维表和事实表,JOIN运算简单地定义为笛卡尔积后过滤,要实现大表JOIN就会不可避免地产生占用大量网络资源的HASH Shuffle动作,在集群节点数太多时,网络传输造成的延迟会超过节点多带来的好处。

如果我们设计新的代数体系和运算模型,就可能克服SQL的这些缺点,一方面更好地描述高性能算法,另一方面能充分利用当前的硬件资源,从而获得更高的性能。

不过,这样一来,对外的接口也就不再是SQL语法了,不能再兼容以往的代码了。

顺便提一句,新的运算模型并不是指当前业内的NoSQL,NoSQL并不是为高性能计算设计的,事实上它以牺牲计算能力为代价而换取了可横向扩展的能力,对于复杂大数据计算的需求而言是个倒退。

有没可能让高性能和兼容性共存呢?比如采用新的内核模型,然后基于它去解释SQL语法,或者能将SQL代码自动移植到新体系下。

理论上是可能的,解释或移植SQL是有不少工作量,但并不是非常困难。不过,这样做只能获得语法的兼容性,并不能得到高性能。高效的代码要针对运算模型的特征去编写,而SQL语法中并没有体现这些信息,一定要把SQL移植过来,仍然会面临前述的工程层面优化问题,没办法做得最优效果。事实上,两种均采用SQL的数据库,要让其特有的语法能够互相解释和移植,在不影响性能的前提下都是很难做到的。新兴的大数据厂商都愿意提供这种可移植的技术以降低老数据库的移植成本,但并没有多少成功者。

那么,结论是什么呢?

对于中短期目标的产品,那么继续采用SQL是合理的,这将有利于产品的快速应用,性能主要依靠硬件能力或更大规模的集群来提升。而面向长期目标的产品,那就有必要采用取代关系代数体系的运算型,为获得高性能,不能也不必再提供兼容SQL的方案了,需要忍受漫长的健全生态圈过程。

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

《数据蒋堂》的作者蒋步星,从事信息系统建设和数据处理长达20多年的时间。他丰富的工程经验与深厚的理论功底相互融合、创新思想与传统观念的相互碰撞,虚拟与现实的相互交织,产生出了一篇篇的沥血之作。此连载的内容涉及从数据呈现、采集到加工计算再到存储以及挖掘等各个方面。大可观数据世界之远景、小可看技术疑难之细节。针对数据领域一些技术难点,站在研发人员的角度从浅入深,进行全方位、360度无死角深度剖析;对于一些业内观点,站在技术人员角度阐述自己的思考和理解。蒋步星还会对大数据的发展,站在业内专家角度给予预测和推断。静下心来认真研读你会发现,《数据蒋堂》的文章,有的会让用户避免重复前人走过的弯路,有的会让攻城狮面对扎心的难题茅塞顿开,有的会为初入行业的读者提供一把开启数据世界的钥匙,有的甚至会让业内专家大跌眼镜,产生思想交锋。

时间: 2024-09-23 09:26:43

数据蒋堂 | SQL用作大数据计算语法好吗?的相关文章

【数据蒋堂】第18期:SQL用作大数据计算语法好吗?

当前的大数据平台在处理结构化数据时大都仍然以提供SQL语法为主流.兼容SQL的好处是很明显的,SQL的应用非常广泛,会SQL的程序员很多,如果继续采用SQL则可以避免许多学习成本.支持SQL的前端软件也很多,使用SQL的大数据平台很容易融入这个现成的生态圈中.大数据平台打算替代的传统数据库也是SQL语法的,这样兼容性会很好,移植成本相对较低. 但继续使用SQL也有缺点,最大的问题就是难以获得大数据计算最需要的高性能. 我们在前面的文章中提到过,SQL中缺乏一些必要的数据类型和运算定义,这使得某些

如何使用Big SQL访问大数据使用详解

在大数据技术推广.使用过程中,一个很大的挑战就是如何使用目前企业用户广泛使用的标准 SQL 来访问基于 Hadoop 平台的大数据,使用企业原有应用来访问大数据. 现在,使用大数据技术,通常使用 Hive.Pig 及 Java 程序来访问大数据,只能支持标准 SQL 的子集,需要用户学习新的编程语言,改写企业原有的应用,为了解决上述问题,IBM 推出了 Big SQL,它使用标准的 SQL 来访问基于 Hadoop 平台的 InfoSphere BigInsights,并提供标准的 JDBC.O

【大数据100分】大数据架构及行业大数据应用(中级教程)

[大数据100分]南大通用CTO武新:大数据架构及行业大数据应用[大数据中级教程] 主讲嘉宾:武新 主持人:中关村大数据产业联盟 副秘书长陈新河 承办:中关村大数据产业联盟 武新,南大通用高级副总裁兼CTO,法国奥尔良大学和法国国家科研中心博士:南大通用GBASE系列数据库产品的总设计师.在著名的甲骨文公司任职12年,是世界顶级的Oracle数据库专家.2010年获得中组部实施的国家"千人计划"荣誉(海外高层次人才引进计划),是国内基础软件行业唯一入选的数据库技术专家.对目前最新兴的列

新华三重磅发布大数据产品,打造大数据产业与生态体系

近日,紫光旗下新华三集团(以下简称新华三)在郑州举办了大数据产品发布会.在这场题为"数据引擎的力量"的发布会上,新华三向与会嘉宾详细汇总了在大数据领域的创新与成果,同时对新华三大数据发展战略作了进一步解读,并正式发布了包含8大引擎在内的新华三大数据产品DataEngine.此次活动是新华三郑州大数据公司成立以来第一次整体亮相,也吹响了新华三加速进军大数据领域的"号角". 新华三集团总裁兼首席执行官于英涛现场致词指出,公司致力于打造大数据产业与生态体系 大数据是新华三

新联邦业务数据湖为颠覆大数据应用铺路

文章讲的是新联邦业务数据湖为颠覆大数据应用铺路,EMC公司今天发布联邦业务数据湖.这套完整的工程解决方案包括来自EMC信息基础设施.Pivotal和VMware的领先的存储及大数据分析技术,帮助客户利用大数据的新世界,从而扫清通向新洞察和颠覆性差异化道路的障碍. 方案可在短至七天内实施,联邦业务数据湖可极大简化构建一个数据湖所需的大量复杂任务,是专为企业需要的速度.自服务和可扩展性而设计,让组织能够通过使用大数据分析,开始更好地进行业务决策.作为一个来自EMC联邦的融合解决方案, 联邦业务数据湖

大数据VS心理学:大数据将革新心理学-互联网分析沙龙

行业数据 大数据VS心理学:大数据将革新心理学 什么是心理学? 依照百度百科的描述,心理学是一门研究人类的心理现象.精神功能和行为的科学.心理学研究涉及知觉.认知.情绪.人格.行为.人际关系.社会关系等许多领域,也与日常生活的许多领域--家庭.教育.健康.社会等发生关联. 心理学一方面尝试用大脑运作来解释个体基本的行为与心理机能:同时,心理学也尝试解释个体心理机能在社会行为与社会动力中的角色:而且,它也与神经科学.医学.生物学等科学有关,因为这些科学所探讨的生理作用会影响个体的心智. 心理学包括

大数据到底怎么学:数据科学概论与大数据学习误区

"数据科学家走在通往无所不知的路上,走到尽头才发现,自己一无所知."-Will Cukierski,Head of Competitions & Data Scientist at Kaggle 最近不少网友向我咨询如何学习大数据技术?大数据怎么入门?怎么做大数据分析?数据科学需要学习那些技术?大数据的应用前景等等问题.由于大数据技术涉及内容太庞杂,大数据应用领域广泛,而且各领域和方向采用的关键技术差异性也会较大,难以三言两语说清楚,本文从数据科学和大数据关键技术体系角度,来说

Teradata“统一数据架构”引领企业大数据应用体系

ZDNET至顶网CIO与应用频道 11月17日 人物访谈(文/王聪彬):现如今,数据已经被认定为重要的企业资产,可以帮助企业体现商业价值,也就是实现常说的数据驱动业务.而就在刚刚结束的2014年 Teradata Partners全球用户大会上,Teradata天睿公司国际集团总裁赫尔曼威摩(Hermann Wimmer)从全球客户的交流中得到了一致的反馈,就是大数据已经逐步变成现实.但大数据的出现其实只是开端,还需将结构化数据和非结构化数据进行结合,充分挖掘大数据的价值,而通过统一数据架构可以

浅谈大数据:如何成为大数据企业?

文章讲的是浅谈大数据:如何成为大数据企业,1.什么叫大数据? "大数据"是"数据化"趋势下的必然产物!数据化最核心的理念是:"一切都被记录,一切都被数字化".最近2年所产生的数据量等同于2010年以前整个人类文明产生的数据量总和,更重要的是,数据来源极大丰富,形成了多源异构的数据形态,其中非结构化数据所占比重逐年增大.牛津大学互联网研究所Mayer-Schonberger教授指出,"大数据"所代表的是当今社会所独有的一种新型的