IBM Big SQL和Hadoop
IBM具有使用SQL和数据库技术的历史悠久。
在与此历史保持符合中,IBM在Hadoop上的SQL解决方案利用其关系数据库技术的组件,这些技术被移植到Hadoop上运行。
如果我们在熟悉IBM的产品名称的大数据产品和函数中,我们可以轻松猜测他们在Hadoop解决方案上命名的SQL:Big SQL。
Big SQL的目标是在Hadoop上提供SQL接口,它可以尽可能多地为用户提供用于与关系数据库的SQL接口的内容。
这意味着广泛的查询语法支持,快速性能,不需要用户使用猴子的查询以及控制数据安全性的能力。
该图显示了BigInsights的部分部署,IBM的Hadoop分布运行大SQL。
其中我们可以看到BigInsights防火墙后面的主节点和数据节点的子集。
其中一个主节点正在运行大型SQL Server,其中包括IBM的SQL编译器和优化程序。
此主节点上还包含一个目录,其中HDFS中的任何编目数据的元数据和统计信息都存储用于编译器/优化程序。
查询子部分被发送到存储所请求数据的适用数据节点,并且大的SQL运行时(IBM的SQL运行时)执行工作负载。
而不是使用中间结果集运行映射器和reducer进程并持续文件,而是使用持续运行在彼此之间传递邮件的连续运行守护进程。
值得注意的是,查询的数据被Hadoop存储和管理。
Big SQL支持标准Hadoop文件格式 - 例如,RCFile和Parquet。
Big SQL提供与IBM关系数据库产品相同的广泛SQL支持 - 例如,ANSI SQL-2011,以及IBM的SQL程序语言(SQL/PL)的兼容性。
(在撰写本文时,IBM正在努力为Oracle的SQL方言及其PL/SQL程序语言提供支持。
)
随着标准IBM SQL引擎的许多其他函数,最值得注意的是基于ROWAND列的安全性(也称为细粒度访问控制,或者FGAC),其中只有特定的用户可以被授权查看某些数据行集或者列。
Big SQL附带标准IBM数据服务器客户端,其中包括驱动程序包。
传统数据库应用程序可以连接到BigInsights Hadoop集群并通过SSL安全地交换加密数据。