一种关于存储分片扩展的方案

2014-04-29 00:44:03白帆
电脑迷 2014年3期
关键词:存储

白帆

摘 要 数据库的扩展是分布式存储的关键技术,本文对sharding技术的适用环境进行了研究,介绍了一种基于存储分片技术对于数据库系统扩展能力的提升方法。

关键词 分布式 存储 分片 扩展

中图分类号:TP311.13 文献标识码:A

0引言

如何提升数据库的扩展能力一直是数据库技术的核心问题,随着互联网高速发展,商业数据库软件对数据库的自动扩展能力显示出不适应的情况,暴露出一些不足之处,本文结合sharding碎片技术,对该技术适合的应用领域进行分析研究,提出了一种存储分片扩展的新方案,改进分布式数据库存储管理,提升扩展能力。

1 分片技术介绍

1.1 sharding 的定义

shard即“碎片”,sharding也称作数据切分或分区。是指通过某种条件,把同一个数据库中的数据分散到多个数据库或多台机器上,以减小单台机器压力。

1.2 常见的sharding切分算法

hash切分

hash放置是以每条数据的一个域或者多个域(一般都选择主键或者unique键)作为划分键K,假设总共的节点数量为N (1-N), 那么数据被分配到的节点编号为:

n = hash(k) mod N

hash划分实现非常简单,只要所采用的哈希函数能把值算的足够均匀,那么数据将会很均匀的被切分到各个节点,而且几乎不需要元数据就可以进行查询的路由。但是,hash切分也存在很明显的两个缺点:

(1)实用性较差,由于划分键的值被hash化,生成一个与输入分布无关、输出均匀的值,所以每个节点内数据之间并没有什么逻辑相关性,关联数据集中性差,这样不能高效的支持一些具有范围性或分类性的服务,比如区域性服务、以时间范围为约束的服务等。……

登录APP查看全文

猜你喜欢
存储
档案管理中电子文件的存储探究
条形码技术在涂装生产中的应用
云计算与虚拟化
结构化电子病历的设计及应用
浅叙国产存储技术之发展
烟台新型自动气象站数据本地存储的设计及实现
大型机电设备出口包装防护
基于Hadoop的业务过程模型管理方法研究
存储对桌面云的影响分析