BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Simba Technologies正将SQL的强大能力带向Cassandra、Hadoop、BigQuery和MongoDB

| 作者 Jonathan Allen 关注 524 他的粉丝 ,译者 廖煜嵘 关注 0 他的粉丝 发布于 2013年1月31日. 估计阅读时间: 5 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

SQL的诞生是有原因的。从本质上说,它是一种为让非职业程序员查询数据库而设计的领域特定语言。“非职业程序员”有时指“临时程序员”,包括一般员工、业务分析师、秘书甚至偶尔是公司的副总裁。当一家公司从关系数据库迁移到NoSQL产品时,依然需要编写即时报告,这只会变得更加困难。

基于ODBC标准,Simba Technologies 正在将SQL的强大能力带向Apache Cassandra、Apache Hadoop/Hive、Google BigQuery和MongoDB。最近,我们有机会访问了Simba Technologies的CTO George Chow,谈到了该公司的MongoDB驱动。

InfoQ:首先,如何通过你们的ODBC驱动去操作MongoDB呢?这是个只读的产品吗,还是说也可以修改数据?

George Chow:我们的驱动目前是只读的。我们在产品的计划列表中有很多特性(也包括回写功能),但我们希望合作商和客户帮我们指定这些特性的优先级。

InfoQ:MongoDB支持相当复杂的嵌套记录。作为SQL开发者,复杂的记录对我而言看起来是什么样子的?或者换句话说,复杂文档是如何映射到结果集中的列的?

George Chow:目前,该驱动能将复杂文档部分(如数组或嵌套文档)以JSON格式编码的VARCHAR暴露出来。我们正计划将它们分解为额外的非规范化列。比如,像下面例子中的简单文档:

   { column1: "somevalue",
  column2: "someothervalue",
  somearray3: [ { text: "name1", author: "...", description: "..." 
  { text: "name2"... }
  ...
  { text: "..."... }
  { text: "..."... }
  { text: "..."... } ]
}

将被分解为如下几列:

  • column1
  • column2
  • somearray3.text
  • somearray3.author
  • somearray3.description

InfoQ:这种将文档分解为基于JSON的varChar类型列的方法,看上去很容易使用,这是已经提供的功能还是将来要发布的功能?

George Chow:这个功能在我们将来计划的产品特性列表中。

InfoQ:你们的MongoDB ODBC驱动程序是否兼容SQL Server的链接服务器功能?如果兼容,是不是一个查询就能同时支持SQL Server表和MongoDB存储?

George Chow:我们已经能让驱动能直接访问普通的桌面应用,例如Microsoft Excel和Tableau。我们希望任何ODBC应用都能使用这个驱动,但到目前为止,我们的精力都放在这两个应用上了。我们其他的大数据/NoSQL驱动(如支持Hadloop/Hive和Google BigQuery的驱动)也有类似甚至更强的功能。虽然我们没有优先考虑,但Microsoft SQL Server的链接服务器特性绝对是可用的。对于NoSQL数据源的链接服务器,你有什么看法?你认为这是一种很重要的桥接方法吗?

InfoQ:我想的是从SQL Server到NoSQL的过渡。例如,假设有一个存储过程,在数据库表上可以正常调用。如果使用服务器链接,不需要修改任何应用程序,就可以直接调用MongoDB。我没想到从一个后端数据库过渡到另一个的更简单方法。

我没有真正想过让最终用户使用该驱动程序,当然它是很有意义的。目前并没有很多允许最终用户直接查询NoSQL数据库的工具。你能举例说明在Excel中如何查询以及结果是什么样的吗?

George Chow:为了让你知道驱动是如何工作的,考虑如下的数据集:

我会定义ODBC的数据源,并按如下方式定义模式:

最后,我可以从Excel中进行查询。比如,对任何数据源,Excel将会将Select * from “music”.”tracks”作为第一个查询。

查看英文原文Simba Technologies is bringing the power of SQL to Cassandra, Hadoop, BigQuery, and MongoDB


感谢臧秀涛对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

对沉没成本的拯救... by Zoom Quiet

SQL 在 NoSQL 时代的逆袭?!
- 合适的场景使用合适的DB
- 但是,对数据的使用,应该越来越人性化,而不是返回专用语言的道路哪,,,
- 必竟 SQL 基于的数学结构环境已经变化了...

不太看好这项技术的最终应用 by Jone Tite

小众应用产品的集成还行,想要兼顾多种数据库时,会损失各个数据库本身的能力,不见得会被采纳

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT