写点什么

MagLev Ruby VM 发布,将 GemStone 持久特性引入 Ruby

2009 年 12 月 01 日

MagLev 是由 GemStone 在 Smalltalk 虚拟机 GemStone/S 上构建的一个 Ruby 实现。虚拟机 GemStone/S 是 GemStone 的主要产品之一,已经发布数年,并且以其成熟的分布式和持久能力而闻名。

在 2008 年宣布 MagLev 之后,这个团队就一心扑在这个项目上。经过一个内部的 Alpha 测试版,现在有一个消息可以告诉大家: MagLev 公开的版本,包括托管在 GitHub 上的 MagLev 源代码现在均已可用。

尝试一下 MagLev?首先获得源代码:

复制代码
git clone git://github.com/MagLev/maglev.git

然后在 MagLev 源码目录中运行

复制代码
./install.sh

最后按照它提供的指令一步一步来即可。想要运行 MagLev 的话,只需

复制代码
rake maglev:start

这样系统就启动了。使用maglev-irb可以快速运行 Ruby 代码,它能和 MagLev 的通用后端进行通信;maglev-rubymaglev-gem也均已可用。

如果细细读过这些样例,便不难发现 hat_trick 这个例子,它被 Avi Bryant 用于第一次展示 MagLev 的 demo。这个例子介绍了持久性,能够允许在一个irb实例中设置一个对象然后在另外一个实例中访问它。

要运行这个例子,只需要简单地运行 MagLev 以及两个maglev-irb实例。为了在一个maglev-irb实例中创建一个对象,执行:

复制代码
Maglev.persistent do
Maglev::PERSISTENT_ROOT[:stuff] = ["hello world"]
end
Maglev.commit_transaction

然后切换到另外一个maglev-irb实例,执行:

复制代码
Maglev::PERSISTENT_ROOT[:stuff]

将会返回字符串“hello world”。

很显然,这是一个非常简单的用于展示持久性的 demo;更多 MagLev 持久性的 API 请参见文档

另一个相关的例子是一个使用持久性的Ruby 的PStore 实现。它告诉开发者GemStone 的持久特性是如何无需处理ORM 就能够将整个对象图面持久化的。

虽然MagLev 现在还不支持Rails,但是 Rack Sinatra 的示例已经可以正常工作了。

一个公开的 MagLev Trac 现已可用,开发者可以用来跟踪整个开发过程。为了兼容性考虑,这个图给出了通过Ruby 规范的数目,当然详细结果的链接也会给出。

看起来MagLev 没有任何许可证,但是GemStone 确实会发布免费版本,例如捆绑了web 架构Seaside 的GemStone/S ,基于64bit,能够管理大于4G 的数据。

虽然这些日子关于NoSQL 数据库有些小小的争论,但是GemStone/S 的确是一个已经使用多年的成熟的解决方案。MagLev 现在紧密地将这些特性和Ruby 结合在一起。你会选择谁?你会尝试MagLev 吗?

查看英文原文: MagLev Ruby VM Now Available, Brings GemStone’s Persistence to Ruby

2009 年 12 月 01 日 23:40684
用户头像

发布了 90 篇内容, 共 27.9 次阅读, 收获喜欢 1 次。

关注

评论

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

一文讲透布隆过滤器

flyer0126

布隆过滤器

ARTS 打卡第四周(200601-200607)

老胡爱分享

ARTS 打卡计划

视频码控:CBR、VBR和ABR

潇湘落木

直播 SRS 视频编码 码控

一个人的精益

escray

学习 面试 面试现场

从雕像到肖像画,这位设计师用 GAN 和 PS 复原了他眼中的古罗马皇帝「群像」

程序员生活志

高频面试题——你真的搞懂物理内存与虚拟内存了吗

大柚子

操作系统 内存管理 虚拟内存 物理内存

小米的护城河

石云升

小米 护城河

JeecgBoot手记

卧石漾溪

ARTS 挑战打卡第七周(200622-200628)

老胡爱分享

ARTS 打卡计划

用科学的方法理解每日优鲜

石云升

新零售 每日优鲜 多快好省 科学分析

Spring Boot 集成 Sharding-JDBC + Mybatis-Plus 实现分库分表

简爱W

朱嘉明 算力革命背后是分配制度革命 没有算力就没有未来

CECBC区块链专委会

区块链 数字货币 数字经济

ARTS 打卡第三周(200525-200531)

老胡爱分享

ARTS 打卡计划

ARTS挑战打卡第八周(200629-200705)

老胡爱分享

ARTS 打卡计划

浅谈备受开发者好评的.NET core敏捷开发工具,讲讲LEARUN工作流引擎

Learun

工作流 开发工具 计算机程序设计艺术 表单

教你用SQL实现统计排名

Simon

MySQL

交易所合约跟单开发方,数字资产合约跟单系统搭建

13530558032

企业信息化到底重不重要?

代码制造者

低代码 零代码 信息化 编程开发 运营管理

MySQL如何快速插入数据

Simon

MySQL 数据库

定时任务最简单的3种实现方法(超实用)

王磊

Java 定时任务

ARTS 打卡第二周(200518-200524)

老胡爱分享

ARTS 打卡计划

ARTS挑战打卡第六周(200615-200621)

老胡爱分享

ARTS 打卡计划

深圳区块链支付系统开发,USDT支付系统服务商

13530558032

ARTS挑战打卡第五周(200608-200614)

老胡爱分享

ARTS 打卡计划

程序员不愿996,创建6个涉黄平台,涉案5000余万元!

程序员生活志

程序员

马方业:区块链就是新未来 区块链就是新财富

CECBC区块链专委会

区块链 新未来 新财富

ARTS 挑战打卡第九周(200706-200712)

老胡爱分享

ARTS 打卡计划

区块链交易所系统开发内容,数字货币交易所搭建

13530558032

基于ALBERT的文本相似度解决方案

华宇法律科技

人工智能 自然语言处理 Pytho

Redis追命连环问,你能回答到第几问?(上)Redis简介,数据类型及缓存雪崩缓存击穿缓存穿透

大柚子

Java redis 缓存 面试 后端

Linux系统监控工具推荐

王坤祥

监控 工具软件

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

MagLev Ruby VM发布,将GemStone持久特性引入Ruby-InfoQ