写点什么

带有基于 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:451899

评论

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

论Oracle兼容性,我们需要做什么

YashanDB

数据库 oracle 兼容性

【信创】 JED on 鲲鹏(ARM) 调优步骤与成果 | 京东云技术团队

京东科技开发者

数据库 信创 arm 企业号10月PK榜

HarmonyOS远端状态订阅开发实例

HarmonyOS开发者

【央企】全方位账户集中管理 资金可视、可管、可控

用友BIP

全球司库 领先实践

一文带你简单了解一下堡垒机是干嘛的!

行云管家

网络安全 信息安全 等保 堡垒机 等级保护

免费名额限量发布!数划云邀请您参与明道云伙伴大会2023

数划云

【交付高质量,用户高增长】-用户增长质量保证方法论 | 京东云技术团队

京东科技开发者

质量管理 测试 测试 单元测试 质量保证 企业号10月PK榜

搞流式计算,大厂也没有什么神话

字节跳动云原生计算

flink 云原生 流式计算

渲染软件大盘点!快来看看你适合哪款吧!

Finovy Cloud

渲染 渲染软件

软件测试/测试开发丨校招推荐-中控技术股份有限公司岗位开放

测试人

程序员 软件测试 招聘 内推

【数据安全】数据安全运维是什么意思?有什么意义?

行云管家

数据 信息安全 数据安全 等保 数据安全运维

MySQL数据库:为什么它是您的最佳选择?

小齐写代码

突破边界与持续技术创新,Doris Summit Asia 2023 主论坛亮点解读

SelectDB

数据库 大数据 数据仓库 实时数仓 Apaache Doris

记一次Redis Cluster Pipeline导致的死锁问题

vivo互联网技术

dubbo 死锁 redis cluster pipeline Arthas

体验提升-一个“小技巧”彻底解决锦礼商品可见不可售 | 京东云技术团队

京东科技开发者

算法 过滤算法 企业号10月PK榜

GPT-4 即将超越拐点;5.5G 手机或明年上半年商用;AI 音乐或将成行业标配丨 RTE 开发者日报 Vol.65

RTE开发者社区

【Fast By BIP 酒企数智化领先实践场景(一)】基于BIP的定制酒全周期管控平台,助力酒企高效交付管控

用友BIP

酒业 全周期管控

城投行业快速转型“投融建管营”新模式,用友Fast by BIP 很在行

用友BIP

Fast by BIP 城投行业

技术分享| 二进制部署MySQL

anyRTC开发者

数据库 音视频 私有云 ​MySQL

即时通讯音视频开发(二十):一文读懂视频的颜色模型转换和色域转换

JackJiang

网络编程 即时通讯 IM

基于 P-Tuning v2 进行 ChatGLM2-6B 微调实践 | 京东云技术团队

京东科技开发者

人工智能’ ChatGLM2-6B 企业号10月PK榜

飞书深诺前端 SPA 敏捷部署方案演进

飞书深诺技术团队

架构 前端 CI/CD SPA 单页面应用

软件项目管理、开发、配套支撑等全文档整理

金陵老街

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