写点什么

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

  • 2013-01-30
  • 本文字数:1485 字

    阅读完需:约 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 )关注我们,并与我们的编辑和其他读者朋友交流。

2013-01-30 05:212682
用户头像

发布了 81 篇内容, 共 27.2 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

【数独 1】不回溯,试试候选数法1ms高效解数独谜题-C++实现

清风莫追

8月月更

RPC与REST对比指南

阿泽🧸

Rest 8月月更

攻克美颜、虚拟背景、眼神接触多个难题,腾讯会议技术领先的秘诀找到了

科技热闻

iofod - 为攻城师们打造的低代码平台

iofod jude

低代码 实用工具

15条建议,把技术成果写成一篇高质量学术论文

阿里技术

经验分享

Jedis 客户端

武师叔

8月月更

文件管理-Linux系统VIM编辑

Albert Edison

Linux centos 运维 vim教程 8月月更

当云走向行业垂直化,企业该如何应对?

BeeWorks

音视频大佬离职后,我是如何在短时间内在音视频开发做出一个性价比高的最优方案

擎声科技

开发者 RTC sdk 实时音视频 擎声Qtt

科创板的一束“海光”,正在让中国半导体发展之路更清晰

脑极体

合并两个有序单链表,对象析构这一着我实在没想到。

清风莫追

8月月更

排查 log4j2 安全漏洞的一次经历

观测云

春意盎然,适合“二叉树剪枝”

掘金安东尼

算法 前端 8月月更

leetcode 128. Longest Consecutive Sequence 最长连续序列(中等)

okokabcd

LeetCode 数据结构与算法

【Java】:你知道字符串的格式化输出吗?

翼同学

Java 前端 编程语言 8月月更

Tapdata 与麒麟软件完成兼容性互认证,国产化生态布局再跃步

tapdata

Tapdata Tapdata架构

Apache Doris 助力网易严选打造精细化运营 DMP 标签系统

SelectDB

数据分析 OLAP Doris 多维分析 DMP

灵感宝盒图谱全新改版!代码实验室开启报名丨RTE NG-Lab 双周报

声网

人工智能 RTE NG-Lab

个推漫话数据智能 | 《天才基本法》中的贝叶斯网络及原理解读

个推

人工智能 机器学习 深度学习 算法模型

故障复盘后的告警如何加出效果?浙江移动等老司机总结了6条注意事项

TakinTalks稳定性社区

C++继承中的同名成员处理方式与同名静态成员处理方式

CtrlX

c c++ 面向对象 代码 8月月更

融云 | 企业通讯录的设计与实现

融云 RongCloud

通信 企业

兼容认证|天融信太行云与观测云完成产品兼容性互认证

观测云

自研发RTC退退退!接入第三方RTC才是真的香

擎声科技

RTC 实时音视频 社交APP出海 泛娱乐出海 擎声Qtt

头脑风暴:完全平方数

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

开源一夏|聆听信通院何所长开源生态发展的所记所思

穿过生命散发芬芳

开源 8月月更 SUSECON

彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-项目入口与路由EP01

刘悦的技术博客

Go golang Go web Go 语言 golang 面试

如何开发一款基于 Vite+Vue3 的在线表格系统(上)

葡萄城技术团队

Vue 前端 vite 框架 系统开发

<T>和<?>区别

六月的雨在InfoQ

开源 T 8月月更

Seata-php 入门与下半年展望

apache/dubbo-go

【LeetCode】设计有序流Java题解

Albert

LeetCode 8月月更

Simba Technologies正将SQL的强大能力带向Cassandra、Hadoop、BigQuery和MongoDB_DevOps & 平台工程_Jonathan Allen_InfoQ精选文章