写点什么

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

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

关注

评论

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

助力教育信创快速发展,统信软件与山东四所高校建立信创应用重点实验室

统信软件

软件 操作系统 教育 信创产业 教育新创

阿里云液冷技术荣获CDCC数据中心科技成果一等奖

云布道师

阿里云 基础设施建设

第三章热备份路由选择协议(HSRP)

初学者

网络 11月月更

【Python 基础学习】-数据类型

度假的小鱼

11月月更 Python数字类型

2022年11月《中国数据库行业分析报告》重磅发布!精彩抢先看

墨天轮

人工智能 数据库 dba 智能运维 国产数据库

LigaAI X 猴子无限 | AIGC火了,人类又得到了什么?

LigaAI

分布式 大模型训练 研发协作平台 AIGC 大规模离散模型

HDC 2022 开发者主题演讲与技术分论坛干货分享(附课件)

HarmonyOS开发者

HarmonyOS

跬智信息 (Kyligence) 荣获信创“大比武”重要奖项,坚持做大做实国产软件

Kyligence

数据库 数据分析 云平台技术

手把手教你成为荣耀开发者:商户服务开通指南

荣耀开发者服务平台

android 开发者 手机 荣耀 honor

几类主流的虚拟化技术

穿过生命散发芬芳

虚拟化技术 11月月更

破坏系统是为了更稳定?混沌工程在去哪儿的4个阶段实践

TakinTalks稳定性社区

混沌工程 故障治理

解密金融行业数据云平台建设密码

数造万象

超详细图文保姆级教程:App开发新手入门(一)

YonBuilder低代码开发平台

开发者 App 新手入门

统一移动办公门户,满足政企高效安全协作需求

BeeWorks

第四章TCP/IP网络层设备路由器

初学者

网络 11月月更

完全解析大数据的高可用集群部署

好程序员IT教育

大数据

案例 | 九科信息为某大型企业设计社保公积金自动缴存解决方案

九科Ninetech

华为云会议AI智能降噪3.0,可抑制200种噪声!

科技之光

【Python 基础学习】-流程控制

度假的小鱼

11月月更 Python流程控制

CSS 基础属性篇组成及作用

千锋IT教育

远程触发Jenkins的Pipeline任务

程序员欣宸

jenkins 11月月更 pipiline

WorkPlus即时通讯APP,提供智能化、多场景的IM系统解决方案

BeeWorks

提升汽车APP用户体验,火山引擎APMPlus的“独家秘笈”

字节跳动终端技术

性能监控 APP开发 应用性能 火山引擎 APMPlus

Baklib知识库|为什么知识共享工具对减少内部知识缺口至关重要

Baklib

知识

数据治理必读|基于Dataphin,快速建设高质量数据支撑业务发展

瓴羊企业智能服务

明道云Sales Playbook开源版正式发布

明道云

普惠联接,让人类诗意地栖居在大地上

脑极体

第五章TCP/IP 网络在我们身边

初学者

网络 11月月更

【Python 基础学习】-字符串

度假的小鱼

11月月更 Python字符串操作

EMR-StarRocks 与 Flink 在汇量实时写入场景的最佳实践

阿里云大数据AI技术

数据库 flink EMR 十一月月更

一发一存一消费,跟着p8大佬深入学习Java中间件技术及其应用开发

钟奕礼

Java 程序员 java面试 java编程

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