不同Hadoop上的SQL数据库引擎如何适配BI工作

简介:

不同Hadoop上的SQL数据库引擎如何适配BI工作?

Hadoop上的SQL引擎Impala是一种新型查询系统基准,发现Spark和Hive在BI的工作负载中有自己的优势与弱势。

根据最新的基准,三个主要的SQL-on-Hadoop引擎,Apache Impala 2.3, Apache Spark 1.6 和Apache Hive 1.2,都有各自独特的优势和劣势,这令他们能很好的适应一些BI用例,而不是其他智能。

“一个引擎是无法满足所有需求的”,Dave Mariani,大规模AtScale的CEO和创始人,AtScale是一个专门在hadoop上实现BI的创新企业。“我们已经完成了布置,对于我们的客户而言这是多个引擎的补充。”

关于在Hadoop基础上的商业智能,AtScale帮助技术评估者选择最好的SQL –on-Hadoop技术,以帮助他们完成BI用例。AtScale测试团队使用星型架构基准(SSB)数据集,基于广泛使用的TPC-H数据(TPC- H是事务处理性能委员会公布的一套针对数据库决策支持能力的测试基准),将其进行修改使之更加 精确的表现一个面向BI的数据布局。数据集允许数据团队测试大型表的查询:在线订购表含有接近6百万行,大型客户表含有超过十亿行。

SQL-on-Hadoop引擎有不同的“甜区”工作负载

Mariani解释AtScale根据三个关键要求评价SQL-on-Hadoop引擎,以及它们的适应度是否能满足BI工作负载。

在大数据上执行。SQL-on-Hadoop引擎必须能够连续不断的分析十亿百亿行数据,并且没有生成错误,对命令的反应时间是10s或者是100s。

在小数据上速度快。引擎需要传递相互表现到已知查询模式,因此,

SQL-on-Hadoop引擎在处理小数据时,不超过几秒钟就能将结果返回。(小数据是指有着成千上百万的命令行的数据)。

对用户来说是稳定的。企业级BI用户的基础是由成百上千的数据工作人员组成。SQL-on-Hadoop引擎必须在高度并行分析的工作负载中运行可靠。

Mariani领导团队为雅虎的BI创建了可能是世界上最大的在线分层分析!他相信这三个标准是基本要求的代表,是企业在Hadoop上实现BI时都会遇到的。这个标准,是测试团队和大量行业企业合作得出的,包括金融服务,医疗,零售,电信等。

“我们使用了真实世界的的经验去形成文档,每一个技术评估者可以将其作为是评估流程的一部分”。Josh Klahr补充,AtScale.生产部门副总裁。

测试团队发现三个引擎都通过了测试,足够稳定去支持BI工作负载,但是一个引擎不能满足所有需求。每个引擎都有自己的“甜区”,企业有可能去寻找所有引擎的混合用法,他们相信这有可能最适合他们的目标。

当Hive在逐渐思考SQL-on-Hadoop的默认值时,它将基准中引擎运行最慢的情况放置一边,令其不能很好的配合相互查询。

“如果你使用Hive Tez作为你的相互查询引擎,你能做到的最佳是2.4秒”。Mariani 说。

但是它可能缓慢,Hive也是三个引擎中最稳定的,在多个查询类型中有着最好的连贯性。

“Hive Tez就像乌龟。”. Mariani 说,“它总是能完成竞赛,但是不是在壮观,迅速的时尚下。但是它是最可靠的。”

Impala和Spark,从利益方面来说,在处理小数据集时,他们是最好的。Impala会在大量的工作负载中覆盖了Spark,但是 Mariani提到Spark1.6相比Spark1.5有了巨大的性能改变,他希望Spark能继续保持这样的发展趋势,因为Spark已经划出一块大的开源社区,关注着它的发展。数据管理公司云纪元公司(Cloudera)最近计划捐赠Impala给Apache软件基金会,这可以为其发展增加势头。

现在,Impala是用例的王者,它需要大量的用户

“Impala在并发上真的很棒,” Mariani 说,“如果你打算拥有一大堆用户,让他们去使用小的快速的查询,Impala相比Spark是更好的选择。”

“如果速度不是最重要的,但是稳定性和可靠性很重要,我会选择使用Hive Tez作为我的数据管线引擎”,他补充道,“对于那些需要大批处理的工作负载,我会选择Hive Tez。如果我想要我的BI用户接入我的数据仓库,我会使用Spark或者Impala。”

Mariani 提到,虽然团队不能把其他引擎作为基准,如Apache Drill或者 Apache Presto,但是他们会在下次尝试。

他说,“你永远不知道引擎与引擎之间,谁将是可以作为赌注的更好的马。”


文作者:Optimus Prime

来源:51CTO

相关文章
|
18天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
2天前
|
SQL 数据库
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
11 1
|
2天前
|
SQL 存储 数据库连接
C#SQL Server数据库基本操作(增、删、改、查)
C#SQL Server数据库基本操作(增、删、改、查)
5 0
|
2天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
|
4天前
|
SQL 数据库
SQL数据库基础语法-查询语句
SQL数据库基础语法-查询语句
|
4天前
|
SQL 存储 数据库
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
|
5天前
|
SQL 存储 数据库
SQL数据库查询优化技巧
【5月更文挑战第6天】本文介绍了7个SQL数据库查询优化技巧,包括选择合适索引、避免`SELECT *`、使用JOIN代替子查询、优化WHERE子句、使用LIMIT、分析查询计划和定期维护数据库。通过这些方法,开发者可以提升查询效率,改善系统性能。
|
7天前
|
SQL 数据库 Windows
sql数据库安装过程,SQL数据库的安装过
本文概述了安装SQL Server数据库的步骤:准备硬件和软件环境,运行安装程序,选择安装类型,接受许可协议,设定安装路径和组件,配置实例和服务账户,选择身份验证模式,配置其他设置,然后安装并完成。安装后需检查验证SQL Server是否正常工作。确保遵循步骤以顺利完成安装。
43 3
|
11天前
|
SQL 关系型数据库 MySQL
利用 SQL 注入识别数据库方法总结
利用 SQL 注入识别数据库方法总结
|
11天前
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之dataworks为子账号创建DataWorks访问密钥的基本步骤如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
26 0

热门文章

最新文章