热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TeradataCTO:数据仓库融合开源,万物皆可分析

作为一家大数据技术公司的技术掌舵人,Teradata天睿公司首席技术官宝立明(StephenBrobst)对开源的热爱是业内共知的。但在热爱开源的背后,体现的是什么样的大数据技术路

作为一家大数据技术公司的技术掌舵人,Teradata天睿公司首席技术官宝立明(Stephen Brobst)对开源的热爱是业内共知的。但在热爱开源的背后,体现的是什么样的大数据技术路线呢?

Teradata天睿公司首席技术官宝立明(Stephen Brobst)


万物皆可分析

Teradata提出了“万物皆可分析”(Analytics of Everything)的说法,宝立明表示,“万物皆可分析”的概念指的是传感器能够捕获数据,以前很多公司只是在做数据的采集,现在这些企业已经成熟了,可以开始做数据的分析了。

在五到十年之前,还没有制造业企业在谈大数据分析,现在Teradata称万物皆可分析已经包括制造业。在医疗设备上,其实也是有传感器的,是放在人们的身上来检测身体状况,从而决定是不是需要一些治疗的干预,有利于提高医疗水平的质量,提高人们的身体健康的水平。同样,电信行业也是有传感器数据的,手机就是传感器,能够发送各种各样有关用户的移动的位置信息。还有零售行业也是如此,所以Teradata认为“万物皆可分析”,真正包括的万物是涵盖各行各业。

宝立明认为,万物皆可分析更重要。物联网或者万物互联,只是谈的是数据的收集。数据收集越多,成本越高,不分析就没有价值。

IoT数据带来的不同:



  1. 量是100倍于传统的数据,因此你需要一个非常强大的数据平台去存储它,去处理它,这个数据平台必须是高度可扩展的。



  2. 对于IoT数据而言,这种地理空间的数据占非常大的比例,所以Teradata需要在这方面拥有先进的地理空间分析的能力。



  3. 在IoT的数据中,有大量的基于时间序列的事件数据要去分析。而传统的SQL处理,基本上处理的是数据集,它不善于做这种时间序列处理。所以,这也是为什么Teradata谈到Aster在这方面是远远领先于其他数据分析技术。



对于万物皆可分析,Teradata一直以来倡导的技术架构是UDA(统一数据架构)。在UDA(统一数据架构)之下,Teradata既有自己的技术,也有各种各样开源的技术,比如Hadoop。同时Teradata还有数据湖的技术、Aster技术。Aster非常关键的一点是非常适合传感器数据的分析平台。

Teradata可以做的是,把数据先放到数据湖存储,经过Aster,经过对数据进一步处理,把它导入到数据仓库,为BI分析师所使用,所以它是一层一层的数据堆栈的架构。Aster作为一个数据平台,已经被移植到了Hadoop这种分布式的Power系统之上了,既可以在文件系统上去执行Aster,也可以在开源的数据库上应用。

针对万物皆可分析,Teradata相关的产品一共有七大类:



  1. Teradata Listener框架,能够以实时的方式把海量的数据导入到Teradata的系统里;2. 利用RESTful API,可以实现各种技术平台的对接;

  2. 一个非常可靠、高可伸缩的数据传输技术;



  3. 存储技术;



  4. 可兼容的技术;

  5. 不断完善的压缩技术;

  6. 即将推出的Teradata IntelliFlex一体机,基于海量并行处理(MPP)架构,能以非常高的经济性,有效地进行海量数据的处理。

Teradata还有一个nPath技术,结合了MapReduce和SQL来做时序数据的分析。

如果把MapReduce在Hadoop这样的一个分布式的文件系统上去做执行的话,它会产生大量的中间的文件。但是Teradata现在把MapReduce直接和SQL结合,它直接就会得出最终的文件,中间的这些文件就没有了,简化了分析的难度,并提高了效率。


开源的偏好与整合

如果回顾Teradata的公司历史,Teradata其实在15年前就已经宣布Teradata的数据库产品是跑在Unix、Linux开源的版本之上,而当时其他的数据库公司仍然是基于HPUX或者AIX。直到今天Teradata产品的操作系统仍然是Linux。

从操作系统层面看,Teradata是100%开源的,而Teradata的竞争对手,尽管会做很多开源市场的宣传,但他们基本上都是创建于商用的OS上。

在地理空间方面的数据分析能力上,Teradata直接使用了开源的技术,Teradata把地理空间数据分析的开源技术的能力做了一个并行,整合到Teradata自己的系统里。

宝立明列举了一些他感兴趣的开源大数据技术,并做简要评价。



  • Presto。Teradata和Facebook合作研发的一个项目,是一个Open SQL Engine on Hadoop,支持任何一种Hadoop。能够帮助Teradata很好地连接其他一些开源的数据库平台。



  • Mesos。和Yarn竞争的开源技术,主要是做资源管理的。当然用Mesos的时候,有时它用起来特别好用,但有时就不那么好用了。



  • R。从分析的角度来说,R本身有一个非常大的各种分析能力的库。但是R的问题是,它不可扩展,而Teradata的技术是高度可扩展的。通过并行R技术,就能够使得原来不具有扩展性的技术也变得高度可扩展。



  • Spark。它有机器学习、有流、有SQL的接口,在Hadoop上都可以运行。



  • Flink,Flink和Spark是竞争对手,目前这两个语言竞争是非常激烈的。但是Teradata很欢迎这种竞争,就像Mesos和Yarn的竞争一样。竞争是一件非常好的事情,可以让技术更好地发展。



尽管喜欢Spark,宝立明不喜欢Scala语言,这是出于编程难度的考虑。


Scala这个语言我不喜欢,为什么呢?学起来太难,你要学这个语言的话,可能编程要花费很长一段时间。


万物皆可分析依赖的Teradata UDA(统一数据架构),里面有Hadoop,有Presto,同时还有QueryGrid,可从Hadoop平台发起并完成跨平台查询,将处理过程下推到Teradata数据库。用户还可从Teradata平台发起查询,将处理过程下推到Hadoop平台。它是Teradata所说的商用和开源技术的混合体。而QueryGrid是运行在Presto上面的。对于Teradata的客户而言,Teradata可以让他们选择,他们可以选择开源,也可以选择商用的SAS。还有就是Teradata的Listener框架,它实质是Kafka,Kafka是一种并行传输的技术,它是开源的,是LinkedIn开发的。因此,Teradata的UDA,是非常好的一个开源和商用技术的混合体。

QueryGrid也可以支持与Presto来做连接,但是它不是只跟Presto来做连接,比如Teradata跟Presto连接,或Teradata也可以通过QueryGrid跟Oracle去做连接等。所以QueryGrid是一个产品,可以做很多数据的协同和连接器、处理器。


机器学习

开源机器学习是目前开源大数据领域的一个热门话题。宝立明表示,机器学习的关键一定是多种算法的结合,如果只偏向于一个或几个算法的话,必然会有盲区。所以一个大型的机器学习的系统里,会有多个算法,不同的算法算出来的结果Teradata把它结合起来。

Teradata为机器学习的这些引擎或是算法提供一个大数据的平台,而且这个平台是具有非常高的可延展性的。Teradata的做法是把这些机器学习的算法,像R、Ruby,内嵌到Teradata平台做并行的执行。



  1. 提供的平台,更多的是开源,这不是Teradata独享的,是SAS、Apache提供给Teradata的。



  2. Teradata把机器学习的算法,如Teradata自己的算法,或开源的算法,内嵌到Aster的数据平台之上,供Teradata的数据科学家做各种各样的实验、探索。Teradata也会用到自己开发的机器学习的算法,去更好地找到Teradata所说的可以商用的一些成熟的技术,再结合数据湖的一些技术。找到这些可用的技术能力之后,Teradata把它整合到自己的商用解决方案里。



他还表示,Teradata做的一件最为有意思的研发工作就是,把Spark的能力和Teradata Aster的数据平台结合在一起。Spark本身有一个执行的框架,Aster的平台有非常先进的分析能力。Spark部署和使用比较困难,需要是一个懂Spark编程的人员才行。但是对于Aster而言,任何一个数据科学家都可以使用,不一定要懂编程,所以如果两者能够结合在一起,是非常不错的。


云计算支持

对于云计算,宝立明表示,Teradata是一个云的使能者,客户可以做内部云、托管云,也可以在其他公有云的服务供应商上获得Teradata一些功能的云的服务。Teradata的原则是给客户同类最佳的技术选择。

首先有的客户愿意自己做,Teradata给提供内部云的方案,有的客户希望托管,Teradata为他们做性能的最大优化。还有的客户选择公有云。目前AWS是Teradata宣布的第一个公有云的合作伙伴。Teradata在全球会设有一些相应的托管云服务。例如在欧洲,Teradata在德国有一个托管云。

此外,针对一些客户的个性化需求,宝立明表示,Teradata提供的是一种分析的平台,但不做商业模型。不同的客户从Teradata拿到的是模板,有了这个模板之后,Teradata会为他们提供专业服务,帮他们进行应用的个性化的定制,根据自己的业务需求,而这一切Teradata都是通过App Center来实现的。



推荐阅读
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
author-avatar
looloSam
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有