分布式存储系统
文章平均质量分 63
快乐的霖霖
一个人默默的奋斗者
展开
-
HASHDB:一个简单的Key-value的存储系统原型
HASHDB:一个简单的Key-value的存储系统原型来源:http://blog.csdn.net/liuben/article/details/66708411、HashDB是什么?HashDB是一个简单的KeyValue存储系统原型,提供基本的二元组的数据存储与读取功能,亦即当前被广为推崇的NoSQL存储系统。最初想到设计这个小系统,完全是出于偶然。本人维护转载 2012-10-10 16:07:30 · 1376 阅读 · 0 评论 -
高性能分布式存储系统的核心
高性能分布式存储系统的核心 针对超高性能分布式存储的系统,需要高性能的网络和存储,例如要求100us内完成从A机器写入B机器1K数据。需要做的是选用高性能的软硬件解决方案,包括高性能网络硬件,高性能网络软件,高性能存储硬件,高性能存储软件。 网络和存储硬件向着高吞吐低延迟的方向不断发展。网络环境上,从主流千兆网发展为双万兆,更高性能的RDMA很快将在原创 2017-10-24 10:06:03 · 3224 阅读 · 0 评论 -
Amazon Aurora
Amazon Aurora 它基于存储计算分离的架构,并将回放日志部分下推到分布式存储层,存储节点与数据库实例(计算节点)松耦合,并包含部分计算功能。 Aurora体系下的数据库实例仍然包含了大部分核心功能,比如查询处理,事务,锁,缓存管理,访问接口和undo日志管理等;但redo日志相关的功能已经下推到存储层,包括日志处理,故障恢复,备份还原等。Aurora相对于传统原创 2017-10-15 19:13:46 · 740 阅读 · 0 评论 -
TiKV架构解析
TiKV架构解析参考资料: 1. TiKV 源码解析系列 - 如何使用 Raft 2. TiKV 源码解析系列 - multi-raft 设计与实现 3. TiKV 源码解析系列 - Placement Driver 4. TiKV 源码浅析 - PD Scheduler 5. TiKV 源原创 2017-11-18 19:45:57 · 11702 阅读 · 0 评论 -
360高性能KV存储平台Zeppelin
360高性能KV存储平台ZeppelinZeppelin 是奇虎 360 开源的一个高性能,高可用的分布式 Key-Value 存储平台,它以高性能、大集群为目标,并希望能在 Zeppelin 的基础上,不仅能够提供 KV 的访问,还可以通过简单的一层转换满足更复杂的协议需求。本文就将从背景,技术细节,回顾和未来计划几个方面来进行介绍这个开源项目。项目地址:https:转载 2018-01-27 17:02:21 · 1434 阅读 · 0 评论 -
HANA内存数据库简介
HANA内存数据库简介 SAP HANA是一个软硬件结合体,提供高性能的数据操作功能。HANA 的精髓就是把所有的数据放到内存里——离处理数据最近的地方,也是计算机全身除了CPU 速度最快的地方。而不像传统数据库,数据放在硬盘里,走过复杂的读操作,走过系统总线,在内存里被短暂的处理,然后再走过同样的路回去,躺在硬盘里。HANA的基本原理如下图所示:原创 2018-03-05 09:45:19 · 15766 阅读 · 0 评论 -
一致性哈希之应用twemproxy与codis
一致性哈希之应用twemproxy与codis一. twemproxytwemproxy 是 twitter 开源的一个轻量级的后端代理,兼容 redis/memcache 协议,可用以管理 redis/memcache 集群。 twemproxy 内部有实现一致性哈希算法,对于客户端而言,twemproxy 相当于是缓存数据库的入口,它无需知道后端的...原创 2018-03-08 22:28:06 · 2699 阅读 · 0 评论 -
2018 存储技术热点与趋势总结
2018 存储技术热点与趋势总结https://mp.weixin.qq.com/s/lqWY8DBibCbdHTV-xiUmqA转载 2018-03-16 23:58:38 · 1043 阅读 · 0 评论 -
TiDB系统架构
TiKV架构 TiKV 是一个分布式的 KV 系统,目前是pingCAP公司开源的系统。它采用 Raft 协议保证数据的强一致性,同时使用 MVCC + 2PC 的方式实现了分布式事务的支持。 TiKV的整体架构如下: Placement Driver : Placement Driver (PD) 负责整个集群的管理调度。Node :原创 2017-09-05 23:13:19 · 2926 阅读 · 0 评论 -
HDD/SSD/NVM存储介质
HDD/SSD/NVM存储介质NonVolatile Memory,非易失存储器,具有非易失、按字节存取、存储密度高、低能耗、读写性能接近DRAM,但读写速度不对称,读远快于写,寿命有限(需要像ssd一样考虑磨损均衡)。当电流关...原创 2018-09-04 22:48:53 · 3325 阅读 · 0 评论 -
分布式存储的读修复和周期性静默修复的原理
分布式存储的读修复和周期性静默修复的原理 什么是静默错误?简单来说,就是磁盘写入数据返回成功,或者当时写入是正确的,放置一段时间后,由于硬件错误、固件 BUG 或者软件 BUG、供电问题、介质损坏等等各种原因,数据被改变了。正常来讲,分布式存储内部都会在读取数据时,或...转载 2018-09-04 23:26:17 · 1210 阅读 · 0 评论 -
LevelDB系统的整体架构
LevelDB系统的整体架构 上图简单展示了 LevelDB 的整体架构。LevelDB 的静态结构主要由六个部分组成:MemTable:内存数据结构,具体实现是 SkipList。 接受用户的读写请求,...原创 2018-09-23 17:48:36 · 584 阅读 · 0 评论 -
LSM树设计思想以及存储模型
LSM树设计思想以及存储模型 一. LSM树的设计思想 1. 哈希存储系统 哈希表的持久化实现,支持增、删、改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-val...原创 2015-10-25 12:42:10 · 3438 阅读 · 0 评论 -
Bitcask存储系统架构设计思想
Bitcask存储系统架构设计思想Bitcask模型是一种日志型键值模型。所谓日志型,是指它不直接支持随机写入,而是像日志一样支持追加操作。Bitcask模型将随机写入转化为顺序写入。有两个好处:提高随机写入的吞吐量,因为写操作不需要查找,直接追加即可如果使用SSD作为存储介质,能够更好的利用新硬件的特性Bitcask中存在3种文件,包括数据文件,索引文件和线索原创 2017-09-02 16:13:40 · 5213 阅读 · 0 评论 -
淘宝开源Key/Value结构数据存储系统Tair技术剖析
淘宝开源Key/Value结构数据存储系统Tair技术剖析Tair的功能Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。Tair除了普通Key/Value系统提供的功能,比如get、put、delete以及批量接口外,还有一些附加的实用功能,使得其有更广的适用场景,包括:转载 2013-04-04 17:00:25 · 1359 阅读 · 0 评论 -
哈希函数——ELF HASH和CRC HASH解析
哈希函数——ELF HASH和CRC HASH解析 一. 简介 Hash应用中,字符串是最为常见的关键字,应用非常普通,现在的程序设计语言中基本上都提供了字符串hash表的支持。字符串hash函数非常多,常见的主要有Simple_hash, RS_hash, JS_hash, PJW_hash, ELF_hash, BKDR_hash, SDBM_hash, DJB_原创 2013-04-08 20:46:35 · 4255 阅读 · 0 评论 -
滚动校验(Rolling Checksum)算法
滚动校验(Rolling Checksum)算法Rsync中使用了一种滚动检验(Rolling Checksum)算法,用于快速计算数据块的检验值。它是一种弱校验算法,采用的是Mark Adler的adler-32校验,它的定义如下: a(k, l) = (∑Xi) mod M b(k, l) = (∑(l - i +1)Xi) mod原创 2013-04-09 10:24:49 · 11673 阅读 · 1 评论 -
rsync 的核心算法
rsync 的核心算法 rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中重要的特性就是对有变更的部分进行传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。 问题: 首先,我们来想一下rsync要解决的问题,如果我们要原创 2013-04-09 10:39:11 · 1642 阅读 · 0 评论 -
360开源的类Redis存储系统:Pika
360开源的类Redis存储系统:Pika 介绍一个360开源的类Redis存储系统:Pika。 整体架构如下: 详细细节参考资料: 网址https://github.com/Qihoo360/pika原创 2016-05-15 21:10:40 · 2080 阅读 · 0 评论 -
分布式系统SDK端重试策略
分布式系统SDK端重试策略1. API 的属性:成功率优先:强调成功率, 所以重试的时候,sleep 时间较长,按照指数退避的方式sleep。latency优先: 强调latency,所以重试的时候,sleep的时间较短。2. 重试次数retryTimes + 1原创 2017-07-09 23:46:14 · 650 阅读 · 0 评论 -
DPDK介绍
DPDK介绍 DPDK拦截中断,不触发后续中断流程,并绕过协议栈,通过UIO技术将网卡收到的报文拷贝到应用层处理,报文不再经过内核协议栈。减少了中断,DPDK的包全部在用户控件使用内存池管理,内核控件与用户空间的内存交互不用进行拷贝,只做控制权转移,减少报文拷贝过程,提高报文的转发效率。 DPDK核心技术如下: (1)通过UIO技术将报文拷贝到应用原创 2017-10-19 23:55:54 · 10380 阅读 · 0 评论 -
高性能Key/Value存储引擎levelDB, rocksDB, TiDB,InnoDB
高性能Key/Value存储引擎levelDB, rocksDB, sessionDB1. 简单介绍 LevelDB是Google开源的持久化KV单机数据库,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般,也就是说,LevelDB很适合应用在查询较少,而写很多的场景。LevelDB应用了LSM (Log Structured Merge) 策略,l原创 2016-07-03 23:36:00 · 15435 阅读 · 0 评论 -
纠删码(EC)的学习
纠删码(EC)的学习1. 简介 纠删码(erasure coding,EC)是一种数据保护方法,它将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的位置,比如磁盘、存储节点或者其它地理位置。 副本策略和纠删码是存储领域常见的两种数据冗余技术。相比于副本策略,纠删码具有更高的磁盘利用率。 Reed-Solomon码是一种常见的纠删码。原创 2017-10-22 17:40:19 · 11301 阅读 · 1 评论 -
KV存储的对比
KV存储的对比转载于:https://yq.aliyun.com/articles/85634?spm=5176.8091938.0.0.Bck5cC最近对各种KV存储进行一个比较,从存储引擎到存储引擎的类型,到单机版的kvstore,再到分布式kvstore集群。存储引擎的类型类型全称btree转载 2017-10-31 13:24:03 · 17970 阅读 · 0 评论 -
存储系统的分类
存储系统的分类之前收集了一些存储产品,最近又重新整理了一下,对他们进行了简单的分类。每个对存储的分类可能不仅相同,我的分类完全按照自己的喜好来分,如和您的分类不同,仅供参考。只是做了搜集和分类,少量产品加了写介绍,希望以后有时间,加更多更详细的介绍。[TOC]1.存储引擎1.1 Hash Table1.1.1 dbm (database ma转载 2017-10-31 13:27:19 · 6397 阅读 · 0 评论 -
leveldb之log文件
leveldb之log文件1. log文件在LevelDb中的主要作用是系统故障恢复时,能够保证不会丢失数据。因为在将记录写入内存的Memtable之前,会先写入Log文件,这样即使系统发生故障,Memtable中...原创 2018-09-23 18:10:32 · 1692 阅读 · 4 评论