BT

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

FoundationDB SQL层:在NoSQL数据库中存储SQL数据

| 作者 Abel Avram 关注 8 他的粉丝 ,译者 马德奎 关注 0 他的粉丝 发布于 2014年9月18日. 估计阅读时间: 2 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

FoundationDB已经正式发布“SQL层(SQL Layer)”,这是一个ANSI SQL引擎,运行在他们自己的键值存储上。它使FoundationDB成为一个关系型数据库,其后台是一个可扩展的、具有容错能力的、无共享的分布式NoSQL存储,而且支持跨多个数据元素的ACID事务

FoundationDB的做法是将数据模型与存储分离。例如,数据存储并没有内建索引。上一层会提供相应的功能,它通过创建和存储两个键值对来实现索引,一个用于数据,一个用于索引。

通过API提供简便的存储访问,并将部分功能分配给上一层,这使开发人员可以在FoundationDB上创建各种层。SQL层是其中一种。社区还创建了若干其它的层,如Protocol Buffers for RubyFowl(一个面向Node.js的查询层)及其它。

通常组织在表中的SQL数据在FoundationDB中存储为“元组(tuple)”。数据通过有序键访问,它们也是元组。除数据索引外,这样一个元组包含数据所属的表及与其它表的关系信息。通过使用元组,在一次操作中,检索/存储范围数据成为可能。

SQL层用Java编写,并使用了源于Apache DerbyFoundationDB SQL Parser,它兼容多种ORM——Hibernate、Entity Framework、ActiveRecord、Django、SQLAlchemy、Doctrine。该层在GitHub上提供,遵循GNU GPL许可协议

FoundationDB支持多种开发语言——Java、.NET、C、Ruby、Node.js、Go、PHP、Python——,并且可以部署到Linux、Mac OS或Windows、单机或它们组成的集群、本地或云上。除付费版本Silver、Gold和Platinum之外,FoundationDB还提供了免费版本。该版本在生产环境中有使用限制,用户只能启动6个进程。

查看英文原文:FoundationDB SQL Layer: Storing SQL Data in a NoSQL Database

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的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通知我

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

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

讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT