写点什么

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:212618
用户头像

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

关注

评论

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

观测云产品更新 | 场景、管理、监控、AI 错误分析、AI 智能助手等

观测云

产品迭代

PeptideBERT:基于Transformer用于肽性质预测的语言模型

Splendid2025

夏日炎炎,透明屏如何散热“冷静”?

Dylan

电子 LED display LED显示屏 夏令营 LED屏幕

VMware ESXi 8.0U3d macOS Unlocker & OEM BIOS ConnectX-3 网卡定制版 (集成驱动版)

sysin

esxi

喜讯!白鲸开源入选智联联盟2024年度软件研发优秀案例

白鲸开源

白鲸开源

【重磅来袭】DeepSeek-R1昇腾满血版入驻华为开发者空间!互动体验,瓜分福利!

华为云开发者联盟

昇腾 DeepSeek 华为开发者空间

深入研究:淘宝天猫图片搜索商品 API 接口详解

tbapi

淘宝图片搜索接口 淘宝拍立淘接口 淘宝图搜API

Apipost自定义函数深度实战:灵活处理参数值秘籍

数据追梦人

「DeepSeek-V3 技术解析」:多词元预测技术(Multi-Token Prediction, MTP)

Baihai IDP

AI LLMs DeepSeek MTP

高并发场景下的Java性能优化

飞算JavaAI开发助手

Web3项目的技术架构

北京木奇移动技术有限公司

区块链技术 软件外包公司 web3开发

人工智能如何重塑软件测试开发?这几个方向将决定你的职业天花板

测试人

人工智能

IntelliJ IDEA 中安装和使用通义灵码 AI 编程助手教程

阿里巴巴云原生

IDEA

TimechoDB v2.0.1/2.0.2 发布 | 支持时序表模型,表模型中新增嵌套查询、权限管理、UDF 等功能

Apache IoTDB

DPP推荐引擎架构升级演进之路|得物技术

得物技术

算法 Java Agent AB

如何使用AI辅助开发HTML5 - 通义灵码功能全解析

阿里巴巴云原生

html5

AI生成高并发Java代码实战:秒杀系统优化方案

飞算JavaAI开发助手

AI代码生成工具如何突破Java单元测试效能天花板?

飞算JavaAI开发助手

如何使用AI辅助开发HTML5 - 通义灵码功能全解析

阿里云云效

html5 AI

复杂业务逻辑的AI生成代码调试技巧

飞算JavaAI开发助手

区块链智能合约的开发架构

北京木奇移动技术有限公司

区块链技术 智能合约开发 软件外包公司

远程控制软件怎么选?简单分析四款国产远控软件长短

科技热闻

修改DNS服务器会影响DNS解析生效吗?(国科云)

国科云

vivo Trace 监控追求极致的建设历程

vivo互联网技术

Profile Skywalking Dynatrace Datadog profiling

从片段到完整逻辑:AI生成Spring Boot微服务代码的深度对比

飞算JavaAI开发助手

什么是用于 REST API 的 Bearer Token以及如何通过代码和工具进行调试

数据追梦人

即刻体验!文心大模型X1现面向企业用户全面开放!

百度Geek说

模型

Proxmox VE 8.4 发布 - 开源虚拟化管理平台

sysin

PVE

AI 重构 Java 遗留系统:从静态方法到 Spring Bean 注入的自动化升级

飞算JavaAI开发助手

区块链智能合约的开发

北京木奇移动技术有限公司

区块链技术 智能合约开发 软件外包公司

IntelliJ IDEA 中安装和使用通义灵码 AI 编程助手教程

阿里云云效

云计算 AI IDEA

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