写点什么

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

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

关注

评论

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

华为云联合信通院发布业界首个《云原生数据库白皮书》

IT资讯搬运工

全新EMQX Dashborad:易操作、可观测,集群数据尽在掌握

EMQ映云科技

物联网 IoT mqtt emqx 8月月更

深度解析全链路压测实施过程

穿过生命散发芬芳

全链路压测 8月月更

学习开发技术有哪些比较好的方法?

小谷哥

Spring Security系列教程07--基于内存模型实现授权

一一哥

spring springboo Spring Security OAuth

华为云GaussDB践行云原生 带来极致弹性、全域可用和极简体验

IT资讯搬运工

软件测试 | 测试开发 | 接口测试之HTTP、HTTPS 抓包分析

测吧(北京)科技有限公司

HTTP

兆骑科创高层次人才创新创业大赛,项目落地,云路演

兆骑科创凤阁

Spring Security系列教程02--创建SpringSecurity项目

一一哥

Java spring security springboot 安全框架 spring-boot

Spring Security系列教程04--实现Form表单认证

一一哥

springboot Spring Security OAuth 表单认证

兆骑科创双创服务平台,项目对接,人才引进

兆骑科创凤阁

软件测试 | 测试开发 | 使用 cURL 发送请求

测吧(北京)科技有限公司

curl

技术分享 | 测试平台开发-前端开发之Vue.js 框架(一)

霍格沃兹测试开发学社

BI如何配置“花生壳”,看这一篇就够了

葡萄城技术团队

内网穿透 可视化数据

技术分享 | 数据持久化技术(Java)

霍格沃兹测试开发学社

技术分享 | 黑盒测试方法论—等价类

霍格沃兹测试开发学社

技术分享 | 被测系统架构与数据流分析

霍格沃兹测试开发学社

技术分享 | 测试平台开发-前端开发之Vue.js 框架的使用(二)

霍格沃兹测试开发学社

软件测试 | 测试开发 | app自动化测试(Android)-- 属性获取与断言

测吧(北京)科技有限公司

自动化测试

1. 关联容器

小白钊钊

c++ 8月月更

2. 背包问题

小白钊钊

算法 8月月更

华为云GaussDB深耕数据库根技术,助力能源行业数字化转型

IT资讯搬运工

技术分享 | 被测项目需求你理解到位了么?

霍格沃兹测试开发学社

排队助手:3 张图带你看懂「队伍合页」的经典案例场景

天天预约

小程序制作 SaaS应用 排队 排队工具

秋招如何抱佛脚?2021最新大厂Java面试真题合集(附权威答案)

收到请回复

Java 架构 语言 & 开发

Spring Security系列教程05--实现HTTP摘要认证

一一哥

HTTP 认证 Spring Security OAuth

技术分享 | 软件项目管理与跨部门沟通协作

霍格沃兹测试开发学社

如何从零开始参与 Apache 顶级开源项目?| 墙裂推荐

SelectDB

数据库 开源 程序员 社区贡献 企业号九月金秋榜

软件测试 | 测试开发 | 接口测试价值与体系

测吧(北京)科技有限公司

接口测试

Spring Security系列教程03--实现HTTP基本认证

一一哥

spring security HTTP springboot basic spring-boot

Spring Security系列教程06--前后端分离时的安全处理方案

一一哥

前后端分离 springsecurity 认证授权

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