NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Moneta:一个面向 Tokyo Cabinet 和 Memcache 等键 / 值存储方式的接口

  • 2009-02-25
  • 本文字数:797 字

    阅读完需:约 3 分钟

关系型数据库只是各种数据存储方式中的一种。根据实际情况不同,键 / 值存储方式可能是更合适的选择。如果数据主要通过一个主键进行访问,那么键 / 值存储方式可能比关系型数据库更适合此类场景。那么,什么是键 / 值存储?听上去和传统的散列非常接近——实际上,这本就是相同的东西。

键 / 值存储方式相比成熟而复杂的 RDBMS 要简单得多,这也是该方面出现大量实现并相互竞争的原因。这里我们体验了 Tokyo Cabient,以及一个不同键 / 值存储方式的统一接口:Moneta。

Tokyo Cabinet 是一个 C 语言编写的类库,实现了一个非常高效,并节省空间的键 / 值存储:

数据存储在一个简单的文件中,每条记录为一个键 / 值对。每个键和值是一系列字节,长度可变,它们都支持两种形式:二进制数据和字符串。这里没有数据表或数据类型等概念。记录通过散列表或定长的数组进行组织。

除了对Ruby 的支持之外,也有面向Perl,Java 和Lua 的API。

Tokyo Tyrant 还提供了用于并行和远程连接的服务器,使 Tokyo Cabinet 能够跨多台机器使用。您可以从 Ilya Grigorik 的介绍文章中了解到 Tokyo Cabinet 的更多示例和信息。

假设您已经决定要采用键 / 值存储方式,但是还没有确定要使用哪种具体实现,则不妨尝试一下Moneta 。它和Rack 之于Web 服务器的作用类似,“希望能够为各种键/ 值存储方式提供统一的接口”。如 Yehuda Katz 所述,“那些希望利用键 / 值存储优势的类库(例如 Rails 和 Merb 的缓存支持)可以在后端使用 Moneta”。

Moneta 创造性地支持文件、memcache、内存、文件系统中的 xattrs、DataMapper,以及之前提过的 Tokyo Cabinet(通过 rufus-tokyo 进行支持,这是个“基于 ruby-ffi 的 Tokyo Cabient 和 Tokyo Tyrant 接口”)等多种存储方式。

您可以从 Yehuda 的 blog 中得到有关Moneta 的更多信息,或访问其 github repository

查看英文原文: Moneta: An Interface to Key-Value Stores like Tokyo Cabinet, Memcache

2009-02-25 23:002757
用户头像

发布了 157 篇内容, 共 52.7 次阅读, 收获喜欢 6 次。

关注

评论

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

海外HTTP代理哪家最好用?Rola-IP与StormProxies的全方位数据对比

Geek_bf375d

macOS 14 Sonoma 14.1.1正式版(最新苹果系统) pkg完整安装包

Rose

苹果系统 macOS 14 Sonoma Mac14系统

一物一码需求,标签制作功能轻松解决

草料二维码

二维码 二维码生成 标签制作 一物一码

Unity中国全面支持OpenHarmony游戏开发,多款游戏率先完成适配

最新动态

荣誉 | 观测云登榜「2023 中国好 SaaS TOP 10 SaaS 企业 」

观测云

可观测性 SaaS

喜报 | MIAOYUN通过2023年度四川省“专精特新”中小企业认定!

MIAOYUN

专精特新 MIAOYUN 高新技术企业 专精特新中小企业 专精特新企业

IP代理哪家好用? 必看经典文

Geek_bf375d

剑指数据结构—实现动态数组

少年游侠客

数据结构 数组 ArrayList Java’

云电脑与5G网络的结合将会带来什么

青椒云云电脑

云电脑

8款好用的笔记软件,让你的读书笔记独一无二!

彭宏豪95

读书笔记 效率 软件推荐 在线白板 笔记软件

inBuilder低代码平台新特性推荐-第5期

inBuilder低代码平台

低代码

软件测试/测试开发丨性能测试体系学习笔记

测试人

软件测试

领跑同一阵营!百分点科技入选Forrester AI/ML权威报告

百分点科技技术团队

人工智能 数据科学 百分点科技

销售易取得500强客户背后的实践与进化

B Impact

ROLA-IP海外IP代理为第四届全球跨境电子商务大会注入活力

Geek_bf375d

【Data & AI Con Shanghai 2023】嘉宾专访|西电王皓:认清边界 大胆创新

白玉兰开源

人工智能 白玉兰开源

聊聊低代码技术

互联网工科生

软件开发 低代码

Go类型嵌入介绍和使用类型嵌入模拟实现“继承”

快乐非自愿限量之名

Go 编程 教程 语言 教程分享

哪些行业发展需要用到代理IP?罗拉ROLA-IP告诉你什么是专业

Geek_bf375d

分布式AI在LLM时代的技术深度探索

不在线第一只蜗牛

人工智能 AI lee

瓴羊X阿里云上的Salesforce联合解决方案正式发布

ToB行业头条

“箭在弦上”的边缘计算,更需要冷静和智慧

脑极体

服务器

海外IP代理rola-ip表现突出,全球覆盖面广,技术支持优秀

Geek_bf375d

Linux cat命令

智趣匠

Python 机器学习入门:数据集、数据类型和统计学

小万哥

Python 程序员 软件 后端 开发

华为云开源 | 线下meetup · 电子科技大学站圆满收官

华为云开源

云原生 开源项目 开源社区

低代码工具的常见用例与受众市场

树上有只程序猿

低代码

投资机构Janus Capital Group为Rola-IP品牌融资700万美元

Geek_bf375d

矢量图设计软件层出不穷,CorelDRAW为何无人能替?

淋雨

设计 矢量图 CorelDraw 绘画 设计软件

OpenAI 深夜炸场,更强更便宜;英特尔 CEO 分享三大失败原因;黄仁勋说成龙长得像他丨 RTE 开发者日报 Vol.79

声网

Mac 版截图工具链

Eric 老乌龟

macos 工具

Moneta:一个面向Tokyo Cabinet和Memcache等键/值存储方式的接口_Ruby_Mirko Stocker_InfoQ精选文章