AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

带有基于 Smalltalk 的 Ruby VM 的 NoSQL OODB:MagLev 1.0 发布了

  • 2011-11-18
  • 本文字数:1716 字

    阅读完需:约 6 分钟

MagLev 1.0 发布了,它是一个构建在 64 位 Smalltalk VM GemStone/S 之上的 Ruby VM。但 MagLev 并不只是一个 Ruby VM,它包含了一个成熟的 NoSQL 数据存储,从它的网站上可以看到:

MagLev VM 充分利用 GemStone/S JIT 获得本地代码的性能、分布式共享缓存、完全支持 ACID 事务处理,以及企业级 NoSQL 数据管理能力,提供健壮和持久的编程平台。它可以透明地管理比内存大得多的数据和代码(兆兆字节级别)。

InfoQ 就 MagLev 1.0 采访了 VMWare 的Monty Williams(GemStone 已被 VMWare 收购)。

InfoQ:MagLev 在目前的 NoSQL 家族处于什么位置?

  • 我并不把 MagLev 看作一个整合了 NoSQL 数据库的 Ruby VM,而是把它看作一个使用 Ruby 作为数据操作语言的 NoSQL 数据库。
  • 我认为人们还没意识到的一点是 MagLev 提供了一个“单一对象空间”。没有东西会发送到一个独立的数据库,也没有东西从一个独立的数据库获取。你的全部代码都是“在数据库里”执行的。你甚至不用跟踪已被修改的对象并把它们保存到磁盘里,MagLev 会自动处理这些事情。
  • 你可以保存任何 Ruby 对象,即使是 proc、lambda、线程或者 continuation。这里有个例子示范了停止、复制、保存线程,然后在另一个不同的 VM 里重新启动它。 http://blog.bithug.org/2011/09/maglev-debug
  • MagLev 的持久化类似影像持久化(Image Persistence),即对象持久化到磁盘的格式和它们在共享缓存里面的一样。你不必对它们进行封送或者把它们转换成 JSON 或其它格式。
  • MagLev 的事务处理是 ACID,这意味着多个 VM 可以与相同的数据仓库和共享状态、对象以及代码交互,并且保持引用完整性。
  • 当你启动一个新的 MagLev VM 时,由另一个 VM 加载的代码可能还在缓存里,因此加载 / 使用它们可能很快。

InfoQ:VMWare 的云服务是否支持 MagLev?

现在还没有。早在八月份我们就开发了一个原型,也希望提供这种支持,但这取决于实际的需求。

InfoQ:前支持哪个版本的 Ruby 语言,1.8.7?有没有 1.9 的计划?

目前只支持到 1.8.7,因为这是最稳定的平台。1.9 的变化太快了,无法在 1.0 里采用它。不过,是否采用 1.9 还是取决于实际的需求。

InfoQ:是否支持 FFI 或者本地扩展?

FFI 和本地扩展的支持都是内置的,不必运行 MRI 需要的所有东西。MagLev 有一个内存压缩 GC,它要求本地代码“循规蹈矩”。相关限制以及如何处理可以在这里找到: https://github.com/MagLev/maglev/blob/master/lib/ruby/1.8/include/Maglev_c_extensions.md .

InfoQ:MagLev 在线程 / 并发方面如何?

MagLev 使用 Green Thread。不过,MagLev 有一个共享的、支持事务的对象空间,因而内置了一个可伸缩的跨越多个 MagLev VM 的并行模型。因为“所有”关联的 MagLev VM 看到的是相同的对象,所以 MagLev 可以有上千个真正的并行线程运行在相同的对象之上。

InfoQ:MagLev 使用了 MIT 许可协议,GemStone/S VM 的许可协议又是什么呢?

需要澄清的是,我们为 MagLev 写的 Ruby 和 Smalltalk 代码使用了 MIT 许可协议。我们使用的 Ruby 库和其它开源组件的许可协议不尽相同。详情参见 https://github.com/MagLev/maglev/tree/master/Licenses (特别是 README 这个文件)

InfoQ:MagLev 是否分为有所限制的免费版本和商业版本,还是全部免费?

永远都会有一个免费的版本。唯一的限制是 2GB 的共享缓存,详情参见 https://github.com/MagLev/maglev/blob/master/etc/maglev.demo.key-Linux-x86_64 .
这不会限制你可以存储的数据量,只限制了共享内存的缓存。

InfoQ:简而言之,如果我使用 MagLev,我需要付费吗?不用付费,看情况,还是需要付费?

仅当你需要支持或者更大的缓存时才要付费。

InfoQ: MagLev 与你的 Smalltalk 和 Seaside 解决方案有什么关系?

它们都使用了相同的 JIT、字节代码循环、缓存和 GemStone/S 提供的持久化。底层的 VM 可以运行 Ruby 和 Smalltalk 代码,因此你可以在 MagLev VM 上运行 Seaside。

通过 rvm 安装 MagLev 非常简单:

复制代码
rvm install maglev
rvm use maglev

更多信息可以参见《Get Started with MagLev》,包括文档和相关链接。示例部分包含了示例代码,示范MagLev 对Sinatra 或者Rails 3.1 的支持。

查看英文原文: NoSQL OODB with Smalltalk-based Ruby VM: MagLev 1.0 Released

2011-11-18 06:451693

评论

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

深入了解 JavaScript 内存泄漏

京东科技开发者

JavaScript 前端 内存 计算

瓴羊Quick BI,让企业运营提效的好工具

对不起该用户已成仙‖

探索大语言模型垂直化训练技术和应用-陈运文

NLP资深玩家

人工智能 ChatGPT

政企中小微客户业务一线支撑赋能

鲸品堂

通信 运营商 电信运营商 企业号 3 月 PK 榜

如何自动化测试你的接口?—— Rest Assured

JAVA旭阳

Java springboot

PopupWindow(悬浮框)的基本使用

芯动大师

android AlertDialog PopupWindow

NFT质押借贷平台开发系统DApp搭建

薇電13242772558

NFT

面试造飞机? 网易在职顶级大佬“java面试真题 2023” (助上岸)

三十而立

软件测试/测试开发丨Pb协议的接口测试

测试人

软件测试 自动化测试 测试开发

如何将营销模板以小程序的形式上架至App?

FinFish

小程序容器 小程序技术 营销模板

MQTT协议是什么?MQTT和Kafka的联系与区别

EMQ映云科技

kafka 物联网 IoT mqtt 企业号 3 月 PK 榜

看起来很简单的二维码巡检,究竟是怎么实现的?

草料二维码

小程序 二维码 表单 设备巡检

直面风口,未来不仅是中文版ChatGPT,还有AGI大时代在等着我们

加入高科技仿生人

人工智能 AI 低代码 数智化 AGI

软件测试/测试开发丨接口协议之抓包分析 TCP 协议

测试人

软件测试 自动化测试 测试开发

组装式应用新趋势:小程序技术科提高软件开发效率

FinFish

小程序容器 组装式应用 小程序技术

dubbo Triple 统一参数验证

昵称不能为null

dubbo triple协议 参数验证

蚁人与量子停车场

白洞计划

AI 智慧停车场

软件测试/测试开发丨RPC接口测试技术-Tcp 协议的接口测试

测试人

软件测试 自动化测试 测试开发

腾讯2022年度研发大数据报告:研发人员占比74%,新增研发项目超7000个

科技热闻

面试造飞机?GitHub顶级“java面试手册2023”(统计通过率95%)

三十而立

Java

智能健康管理正当时,脉冲技术的一次自证与他证

脑极体

skg 按摩仪

8个不能错过的程序员必备网站,惊艳到我了!!!

引迈信息

前端

python进阶:带你学习实时目标跟踪

华为云开发者联盟

Python 人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜

基于飞桨实现的特定领域知识图谱融合方案:ERNIE-Gram文本匹配算法

飞桨PaddlePaddle

阿里云资深技术专家闫卫斌:打造具备极致容灾能力的对象存储

云布道师

阿里云 云存储

架构实战 - 模块 9 毕业项目

mm

#架构实战营

现货合约一键自动跟单app系统开发搭建(api对接)

开发v-hkkf5566

谁能让企业运营快速提效,那当然瓴羊Quick BI

巷子

OpenAI创始人:GPT-4的研究起源和构建心法

OneFlow

人工智能 深度学习 ChatGPT Greg Brockman

for 循环嵌套 for 循环,你需要懂的代码性能优化技巧!

三十而立

Java

Java 内联类初探

三十而立

Java

带有基于Smalltalk的Ruby VM的NoSQL OODB:MagLev 1.0发布了_Ruby_Werner Schuster_InfoQ精选文章