写点什么

数据库新闻汇总:ActiveRecord 数据分片,更快的 Postgres IO

  • 2008-07-23
  • 本文字数:712 字

    阅读完需:约 2 分钟

本次数据库新闻汇总有,FiveRun 最近开源的 ActiveRecord 数据分片插件 DataFabric;如何用 Postgres 异步客户端 API 和 Ruby 1.9 的 Fibers 来加速 Postgres 数据访问。

ActiveRecord 的数据分片

数据分片(Sharding)是一种将数据库打散成小块,然后分布到多台服务器上的技术,可以提高性能和可伸缩性。数据如何分割在很大程度上取决于应用的具体情况,比如 eBay 可以按照商品类别来划分。

ActiveRecord 本身并不支持数据分片,于是才有了 FiveRuns 的 DataFabric 。DataFabric 是一个 ActiveRecord 插件,它为数据模型增加了数据分片和复制的能力。

在模型中加入分片相当简单,它在 README 里给出了这样的例子:

<pre id="ga9a11">class MyHugeVolumeOfDataModel < ActiveRecord::Base<p>  data_fabric :replicated => true, :shard_by => :city</p><p>end </p>详细信息请参阅 FiveRuns 博客或者 DataFabric GitHub 仓库

更快的 Postgres IO

另一则数据库新闻是 Muhammed Ali 将 Ruby 的 Postgres 访问速度提高了约 40%。他用 Postgres 的异步客户端 API 和 Ruby 1.9 Fibers 实现了一个非阻塞的连接池和 fiber 池。从用户程序的角度看,交互过程是这样的:

[……] 当一个 fiber 调用 cpool.exec,查询被送到池中处理,该 fiber 被挂起,让路给 其他 fiber。 其他 fiber 到达 cpool.exec 的时候也同样会挂起。稍后你会在事件循环中收到查询结束的通知(但顺序不定),然后与已结束查询相关联的 fiber 将恢复执行。

Muhammed 还打算将之与 EventMachine 做更好的集成,也许能更进一步提升速度。请参阅 Muhammad 的博客,他将在上面给出代码的介绍和分析详情。

查看英文原文: Databases Roundup: Data Sharding for ActiveRecord and Faster Postgres IO

2008-07-23 01:161082
用户头像

发布了 225 篇内容, 共 70.0 次阅读, 收获喜欢 52 次。

关注

评论

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

零基础入门Vue之影分身之术——列表渲染&渲染原理浅析

不在线第一只蜗牛

Java Vue 前端 前端开发

开源项目中的设计模式(一) - Alibaba Sentinel与责任链模式

骑牛上青山

Java 设计模式

甲辰龙年,中国科技十大趋势

脑极体

科技趋势

Blocs for mac:可视化Web设计,全新的方法来构建现代化、高质量的静态网站

Rose

前端开发CSS实用的技巧有哪些

小魏写代码

Axure RP 10中文汉化版 交互式原型设计

Rose

开发者集结令丨Farris-Vue前端组件创新挑战赛开赛啦!

inBuilder低代码平台

前端 低代码 开发

macOS Big Sur 11安装包(macOS11系统下载) v11.7.10正式版

Rose

Final Cut Pro 中文基础教程:多机位剪辑

Rose

过年前 再带大家卷一波Go高质量知识点

王中阳Go

Go golang go面试题 后端面试题

一行命令找出 Linux 中所有真实用户

互联网工科生

Linux

火山引擎ByteHouse:如何为OLAP设计高性能向量检索能力?

字节跳动数据平台

数据库 大数据

将Excel转换为HTML:Easy Data Transform for mac

Rose

microsoft 365永久激活密钥

Rose

「云原生可观测团队」获选「InfoQ 年度技术内容贡献奖」

阿里巴巴云原生

阿里云 云原生

告别 GPU 焦虑,玩转极致性价比的 CPU 文生图

阿里巴巴云原生

阿里云 Kubernetes 云原生

好“云”来!盘点春节与云计算息息相关的那些事儿

Finovy Cloud

云计算 云时代

VMware Fusion Pro 13(VM虚拟机)中文破解版安装教程

Rose

photoshop2024硬件要求

Rose

数据库新闻汇总:ActiveRecord数据分片,更快的Postgres IO_Ruby_Mirko Stocker_InfoQ精选文章