FoundationDB 已经正式发布“ SQL 层(SQL Layer)”,这是一个 ANSI SQL 引擎,运行在他们自己的键值存储上。它使 FoundationDB 成为一个关系型数据库,其后台是一个可扩展的、具有容错能力的、无共享的分布式 NoSQL 存储,而且支持跨多个数据元素的ACID 事务。
FoundationDB 的做法是将数据模型与存储分离。例如,数据存储并没有内建索引。上一层会提供相应的功能,它通过创建和存储两个键值对来实现索引,一个用于数据,一个用于索引。
通过 API 提供简便的存储访问,并将部分功能分配给上一层,这使开发人员可以在 FoundationDB 上创建各种层。SQL 层是其中一种。社区还创建了若干其它的层,如 Protocol Buffers for Ruby 、 Fowl (一个面向 Node.js 的查询层)及其它。
通常组织在表中的 SQL 数据在 FoundationDB 中存储为“元组(tuple)”。数据通过有序键访问,它们也是元组。除数据索引外,这样一个元组包含数据所属的表及与其它表的关系信息。通过使用元组,在一次操作中,检索 / 存储范围数据成为可能。
SQL 层用 Java 编写,并使用了源于 Apache Derby 的 FoundationDB 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
公众号推荐:
跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。
评论