写点什么

数据库新闻汇总: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:161090
用户头像

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

关注

评论

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

ChatGPT背后的经济账

OneFlow

人工智能 深度学习 大模型

如何实现OpenHarmony的OTA升级

OpenHarmony开发者

OpenHarmony

使用 NineData 快速构建企业容灾备份

NineData

数据库 数据管理工具 数据备份 运维开发 企业容灾

几个常见的js手写题,你能写出来几道

helloworld1024fd

JavaScript

高级前端常考手写面试题(必备)

helloworld1024fd

JavaScript

从React源码角度看useCallback,useMemo,useContext

goClient1992

React

一文搞懂Redis

京东科技开发者

redis hash Zset Redis 协议 企业号 2 月 PK 榜

从React源码来学hooks是不是更香呢

goClient1992

React

什么是WMS系统?

SAP虾客

wms

lua中实现判断是否为局域网IP

ModStart

用javascript分类刷leetcode16.set&map(图文视频讲解)

js2030code

JavaScript LeetCode

社招前端一面经典手写面试题

helloworld1024fd

JavaScript

react源码分析:深度理解React.Context

flyzz177

React

react源码分析:实现react时间分片

flyzz177

React

2023年国家级重大人才工程引进申报

科兴未来News

创新创业 江苏工博会 博士后 #人才政策# 启明计划

前端vue面试题

bb_xiaxia1998

Vue

带你实现react源码的核心功能

goClient1992

React

一口气讲完了Redis常用的数据结构及应用场景

小小怪下士

Java redis 程序员

文盘Rust -- rust 连接云上数仓 starwift

京东科技开发者

rust Clickhouse 语言 rust语言 企业号 2 月 PK 榜

湖仓一体电商项目(十九):业务实现之编写写入DWS层业务代码

Lansonli

数据湖 湖仓一体电商项目

谈谈我对于关键思考的理解

阿里巴巴中间件

阿里云 关键

百度工程师带你了解Module Federation

百度Geek说

JavaScript 微前端 企业号 2 月 PK 榜

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

让远程成为本地,微服务后端开发的福音

北京好雨科技有限公司

Kubernetes 微服务 云原生 企业号 2 月 PK 榜

用户行为分析模型实践(三)——H5通用分析模型

vivo互联网技术

大数据 数据分析 数仓建模

实现Promise的原型方法--前端面试能力提升

helloworld1024fd

JavaScript

Backbone前端框架解读

京东科技开发者

Vue 前端 前端架构 企业号 2 月 PK 榜 backbone

Verilog HDL函数与任务的使用

timerring

FPGA

react源码分析:组件的创建和更新

flyzz177

React

前端刷完这12道滑动窗口,就可以出山面试了

js2030code

JavaScript LeetCode

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