FoundationDB SQL層:在NoSQL數據庫中存儲SQL數據

jopen 11年前發布 | 8K 次閱讀 FoundationDB SQL

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

  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 個進程。

來自: InfoQ
                    <span id="shareA4" class="fl">                            
                        </span>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!