分布式数据库_我的云服务器_促销

云服务器 虚拟云 浏览

小编:我非常清楚地记得我和哈娜最初的相遇。其中一个是与保罗·巴克的对话,他是一个早期的HANA成瘾者。我们讨论了在HANA中构建SQL模型,然后讨论了HANA信息视图的好处。他对使用HANA

分布式数据库_我的云服务器_促销

我非常清楚地记得我和哈娜最初的相遇。其中一个是与保罗·巴克的对话,他是一个早期的HANA成瘾者。我们讨论了在HANA中构建SQL模型,然后讨论了HANA信息视图的好处。他对使用HANA CE函数的好处睁大了眼睛,声称性能得到了疯狂的提高。

什么是CE函数?

HANA计算引擎函数(或CE函数)是HANA SPS02中引入的一种机制,允许直接访问HANA列存储。它们允许极其精确地控制如何投影、计算和聚合精确的列。事实上,它们是原始HANA列存储如何建模向量函数的直接表示。

为什么CE函数如此之快?

它们完全绕过了SQL优化器,意味着你想要执行的任何东西都在列存储中运行,你总能得到HANA的全部性能。在HANA的早期,SQL可能非常低效,并导致HANA以行格式在SQL引擎中具体化大量数据。这导致了较大的内存泡沫和100-200倍的性能下降。

相比之下,CE函数总是在列引擎中运行,如果返回的结果集不多,则效率很高。实际上,它们实际上编译成一种叫做L的语言,它是HANA的中间语言,非常类似于C++。在2011和2012中,云支付返利,我经常在CE函数中编码HANA解决方案的高性能方面。

CE函数是HANA SQLScript语言的一部分,因此是ANSI SQL的扩展。这很好,但也意味着没有太多备用运算符,语法可能会变得非常时髦。有时需要单引号('),有时需要双引号(")。有时双单引号("),或三个单引号(")。CE函数非常挑剔!

更重要的是,你必须指定每一列,而且程序复杂,这意味着大量的复制和粘贴,以及激活代码。编辑不会给你太多帮助,错误信息也很简洁。简言之,你必须是一个专家SQL程序员,对HANA列存储有很好的工作知识,才能用CE函数编写好的SQLScript。

但是如果你想要性能,哇-这就是HANA的速度。

HANA上的BW…

因此在2012年,HANA SPS04上的"橙色项目"(Project Orange)或BW出现了。HANA数据库已经足够成熟,可以用于SAPBW,但BW从未使用CE函数。相反,BW团队有他们自己的专有方式进入HANA。

这很快被证明是BW内部的一个限制,计算场景概念诞生了。现在,在BW7.4中编译BW对象时,会创建一个HANA视图,可以通过BW的OLAP引擎访问该视图,也可以直接访问HANA数据库。两者可以互换,但CE功能对BW的需求限制太多了。

…紧接着是Business Suite

然后在2013年出现了HANA上的Business Suite。Business Suite通过OpenSQL接口广泛使用了ANSI SQL,并首次使用HANA SPS06。由于Business Suite的编程方式,HANA团队不得不使SQL比以前快得多,大量的开发工作都花在了SQL优化器上。从HANA SPS06开始,SQL和HANA信息视图之间通常没有什么不同。

不要忘记HANA Live

HANA Live仅在HANA图形计算视图中编程。如果设计得不好的话,它们会表现得很差,因此HANA开发团队投入了大量精力使它们表现出色。它们现在编译成计算场景,这是一个列投影和计算的XML表示。

CE函数在这一过程中发生了什么?

超过一半的SAP HANA客户使用BW,中云数据,Business Suite是go Lifes增长最快的产品。这些机制中的任何一个都没有使用CE函数,因此它们的开发关注度非常有限,几乎没有什么新特性。

加上它们不灵活、难以使用,其他机制SQL和图形计算视图得到了所有的关注。CE函数没有得到任何进一步的优化,并且自HANA SPS05以来保持不变。他们没有变得更糟-其他选项只是越来越好。

截至HANA SPS07,我们发现图形计算视图总是比CE函数更快。在HANA SPS08中,我们发现SQL、分析视图和图形计算视图在许多情况下都有完全相同的解释计划。它们的性能都是一样的,如何设计只是一个偏好问题。

事实上,极其复杂的视图可以创建为级联计算视图,视图编译器将折叠和简化视图,并创建一组优化的列投影、计算、,向量联接和并集作为单个计算场景。这真的是韩亚皇冠上的宝石。

CE功能-安息

CE功能是韩亚过去的重要组成部分,但已经没有理由使用它们了。它们的灵活性较差,速度较慢,编程难度也较大。我们预计在即将发布的HANA中,它们将被弃用并最终不受支持。

我唯一使用CE函数的时候是HANA SQL优化器的执行计划不好的时候。因为CE函数和SQL不共享引擎,所以可以使用CE函数控制hanasql优化器。现在这是一个非常不寻常的场景。

请注意,脚本计算视图仍然有它的位置–您可以调用SQLScript中的业务函数、预测函数和其他存储过程对象。然而,这样做的时间是有限的,因为在HANA SPS09中,现在可以通过图形建模器来完成其中的一些工作。我希望通过HANA SPS10或11,脚本计算视图将不再是必需的。

因此,虽然他们还没有被正式否决,但请庆祝他们的去世,不要再使用他们了。

明星帖子,约翰-感谢分享!

虽然我不同意历史的时间表,无限云存储,但我还是同意这样一条信息:

别再认为CE函数=快,其他的一切=慢,伙计们。

使用SQL或图形视图,享受你的设计至少有机会被后来的维护人员理解(记住,可能是你)

哈,是的,我想你可能会!如果有事实上的错误,很乐意改正。一些时间线当然是主观的。

好吧,公平地说,我认为他们不会改变你的观点。

一些随机点:

文章来源:www.vmchk.com

 
你可能喜欢的: