知识大全 开源数据库Sharding技术[2]
Posted 数据库
篇首语:一身转战三千里,一剑曾百万师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 开源数据库Sharding技术[2]相关的知识,希望对你有一定的参考价值。
开源数据库Sharding技术[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Sharding 策略
数据 Sharding 的策略与分区表的方式有很多类似的地方 有基于表 ID 范围 数据产生的时间或是SOA理念下的基于服务等众多方式 可选择 而与传统的表分区方式不同的是 Sharding 策略和业务结合的更为紧密 成功的 Sharding 必须对自己的业务足够熟悉 进行众多可行性分析的基础上进行 业务逻辑驱动
Sharding 实现案例分析 Digg 网站
作为风头正劲的 Web 网站之一的 Digg 虽然用户群庞大 但网站数据库数据并非海量 去年同期主数据大约只有 GB 的样子 现在应该更大一些 但应该不会出现数量级上增长 数据库软件采用 MySQL x Digg 的 IO 压力非常大 而且是读集中的应用( %的 IO 是读请求) 因为提供的是新闻类服务 这类数据有其自身特点 最近时间段的数据往往是读压力最大的部分
根据业务特点 Digg 根据时间范围对主要的业务数据做 Sharding 把不到 % 的 热 数据有效隔离开来 同时对这部分数据用以更好的硬件 提供更好的用户体验 而另外 % 的数据因用户很少访问 所以尽管访问速度稍慢一点 对用户来说 影响也很小 通过 Sharding Digg 达到了预期效果
现有的Sharding 软件简介
现在 Sharding 相关的软件实现其实不少 基于数据库层 DAO 层 不同语言下也都不乏案例 限于篇幅 作一下简要的介绍
MySQL Proxy + HSCALE
一套比较有潜力的方案 其中 MySQL Proxy (//fe mysql /wiki/MySQL_Proxy) 是用 Lua 脚本实现的 介于客户端与服务器端之间 扮演 Proxy 的角色 提供查询分析 失败接管 查询过滤 调整等功能 目前的 版本还做不到读 写分离 HSCALE 则是针对 MySQL Proxy 插件 也是用 Lua 实现的 对 Sharding 过程简化了许多 需要指出的是 MySQL Proxy 与 HSCALE 各自会带来一定的开销 但这个开销与集中式数据处理方式单条查询的开销还是要小的
Hibernate Shards
这是 Google 技术团队贡献的项目(// hibernate / ) 该项目是在对 Google 财务系统数据 Sharding 过程中诞生的 因为是在框架层实现的 所以有其独特的特性 标准的 Hibernate 编程模型 会用 Hibernate 就能搞定 技术成本较低 相对弹性的 Sharding 策略以及支持虚拟 Shard 等
Spock Proxy
这也是在实际需求中产生的一个开源项目 Spock(// spock /)是一个人员查找的 Web 网站 通过对自己的单一 DB 进行有效 Sharding化 而产生了Spock Proxy(//spockproxy sourcefe net/ ) 项目 Spock Proxy 算得上 MySQL Proxy 的一个分支 提供基于范围的 Sharding 机制 Spock 是基于 Rails 的 所以Spock Proxy 也是基于 Rails 构建 关注 RoR 的朋友不应错过这个项目
HiveDB
上面介绍了 RoR 的实现 HiveDB (// hivedb /)则是基于Java 的实现 另外 稍有不同的是 这个项目背后有商业公司支持
PL/Proxy
前面几个都是针对 MySQL 的 Sharding 方案 PL/Proxy 则是针对 PostgreSQL 的 设计思想类似 Teradata 的 Hash 机制 数据存储对客户端是透明的 客户请求发送到 PL/Proxy 后 由这里分布式存储过程调用 统一分发 PL/Proxy 的设计初衷就是在这一层充当 数据总线 的职责 所以 当数据吞吐量支撑不住的时候 只需要增加更多的 PL/Proxy 服务器即可 大名鼎鼎的 Skype 用的就是 PL/Proxy 的解决方案
cha138/Article/program/SQL/201311/16327相关参考
开源技术之Tomcat数据源配置总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 成功配置环境
Facebook开源服务器和数据中心核心技术 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
知识大全 C#开源轻量级对象数据库NDatabase介绍[2]
C#开源轻量级对象数据库NDatabase介绍[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
第一站 走进开源数据库 %的投入 实现%的理想 在Linux这种开放源代码的操作系统已经逐渐被越来越多的企业应用时在基础软件平台的另一端开源数据库开始显山露水 近年来美国一些大企
开源技术Eclipse使用技巧[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 修改处窗口&
几乎像是一年一度的仪式数据库三大巨头供应商—OracleIBM和微软正着手准备主要产品的发布展开了一场客户争夺战 但是不同于以往的竞争这次商家关注的是急剧增长的新的开源带来的威胁特别是针对低
java开源数据库项目Derby的问答 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! IBM?在
MySQL创始人宣布创建开源数据库联盟 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! MySQL
知识大全 C#开源轻量级对象数据库NDatabase介绍[1]
C#开源轻量级对象数据库NDatabase介绍[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 C#开源轻量级对象数据库NDatabase介绍[3]
C#开源轻量级对象数据库NDatabase介绍[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!