
分布式存储之 架构-数据结构-算法-系统接口调用
文章平均质量分 85
JackLiu16
stay hungry,stay young!
展开
-
Hash算法的讲解
散列表,又叫哈希表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散...转载 2018-10-30 00:52:37 · 857 阅读 · 0 评论 -
一致性Hash算法的深入理解
总结:1、使用一致性Hash算法,尽管增强了系统的伸缩性,但是也有可能导致负载分布不均匀,解决办法就是使用虚拟节点代替真实节点, 2、Hash算法的选择上,首先我们考虑简单的String.HashCode()方法,这个算法的缺点是,相似的字符串如N1(10.0.0.0:91001),N2(10.0.0.0:91002),N3(10.0.0.0:91003),哈希值也很相近,造成的结果是节...转载 2018-10-30 00:50:27 · 288 阅读 · 0 评论 -
如何理解算法时间复杂度的表示法O(n²)、O(n)、O(1)、O(nlogn)等?
时间复杂度这个东西,其实更准确点说应该是描述一个算法在问题规模不断增大时对应的时间增长曲线。所以,这些增长数量级并不是一个准确的性能评价,可以理解为一个近似值,时间的增长近似于logN、NlogN的曲线。 先从O(1)来说,理论上哈希表就是O(1)。因为哈希表是通过哈希函数来映射的,所以拿到一个关键字,用哈希函数转换一下,就可以直接从表中取出对应的值。和现存数据有多少毫无...转载 2018-10-30 00:09:14 · 1335 阅读 · 0 评论 -
haproxy
资料集合:https://www.cnblogs.com/zyd112/p/8888945.htmlhttps://www.aliyun.com/jiaocheng/linux_23074_1.html?spm=5176.100033.2.26.28375d66uIccgI构建HAProxy高性能反向代理架构https://www.cnblogs.com/heiye123/arti...转载 2018-10-22 00:01:49 · 363 阅读 · 0 评论 -
poxas-著名的分布式数据一致性算法学习笔记
最近学习分布式系统架构设计,刚好看到著名的Paxos算法,写个学习笔记总结一下。Paxos算法是莱斯利·兰伯特(Leslie Lamport,此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法。这个算法被认为是类似算法中最有效的。笔记中很多东西借鉴大神的博客,在最下面有链接。该文章只是自己加深印象,做个总结。一:基本语义在Paxos算法中有一下几种角色:Propo...转载 2018-10-21 23:43:44 · 698 阅读 · 0 评论 -
ext2、ext3与ext4的区别
ext2与ext3Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。 linux...转载 2018-10-21 23:36:37 · 786 阅读 · 0 评论 -
编程之美---电梯调度算法
在看linux 0.11版本的块设备驱动部分,里面提到了电梯算法,总结下几种寻道的方式。 第一种:最为原始的先到先服务(first come first served)的算法。假设此时我们正在第11道读取数据,然后陆陆续续有其他进程来要求我们提供磁盘内容给他们。这里我们把要读取的柱面按照进程提出要求的顺序记录下来,比如1, 36, 16, 34, 9, 12,那么严格按照先到先服...转载 2018-10-20 13:48:17 · 1982 阅读 · 0 评论 -
Linux 的 EXT4 文件系统的历史、特性以及最佳实践
在之前关于 Linux 文件系统的文章里,我写过一篇 Linux 文件系统介绍 和一些更高级的概念例如 一切都是文件。现在我想要更深入地了解 EXT 文件系统的特性的详细内容,但是首先让我们来回答一个问题,“什么样才算是一个文件系统 ?” 一个文件系统应该涵盖以下所有特点:数据存储: 对于任何一个文件系统来说,一个最主要的功能就是能够被当作一个结构化的容器来存储和获取数据。 命名空间: 命名...转载 2018-10-20 13:42:33 · 453 阅读 · 0 评论 -
Spark入门实战系列--10.分布式内存文件系统Tachyon介绍及安装部署
【注】该系列文章以及使用到安装包/测试数据 可以在《倾情大奉送--Spark入门实战系列》获取1、Tachyon介绍1.1 Tachyon简介随着实时计算的需求日益增多,分布式内存计算也持续升温,怎样将海量数据近乎实时地处理,或者说怎样把离线批处理的速度再提升到一个新的高度是当前研究的重点。近年来,内存的吞吐量成指数倍增长,而磁盘的吞吐量增长缓慢,那么将原有计算框架中文件落地磁盘替换为...转载 2018-10-20 00:27:22 · 300 阅读 · 0 评论 -
Hadoop之Hbase架构以及应用介绍
Hbase全称为Hadoop Database,即hbase是hadoop的数据库,是一个分布式的存储系统。Hbase利用Hadoop的HDFS作为其文件存储系统,利用Hadoop的MapReduce来处理Hbase中的海量数据。利用zookeeper作为其协调工具。 本篇文章将重点介绍Hbase三个方面的内容:Hbase体系结构(架构)的介绍、Hbase shell的操作、Hbase的Java...转载 2018-10-20 00:26:07 · 2079 阅读 · 0 评论 -
如何根据文件的inode号查找inode数据
1. 根据ls -i 查看文件的inode号2. 使用debugfs命令查看文件所在磁盘分区的超级块信息#debugfs /dev/sda2debugfs: stats...Inode count: 5152768Block count: 20590080Block size: 4096Inode size: 256Inodes per ...转载 2018-10-20 00:20:02 · 5077 阅读 · 0 评论 -
文件系统接口
文件系统是接下来学习的文件的总纲,这个帖子有些有些概念只是轻轻点一下,后续的学习过程中会着重介绍: 1、文件概念 文件是记录在外存上得相关信息的具有名称的集合。其具有连续的逻辑地址空间 通常,文件表示数据和程序。 数据文件可以包括,数字、字符、字符串或二进制。文件可以是自由形式,如文本文件,也可以具有严格的格式。 文件必须具有可以长期信息存储的性质、必须能够保存大...转载 2018-10-20 00:13:20 · 601 阅读 · 0 评论 -
一致性hash以及python代码实现
背景:自己之前的项目里面使用了redis作为KV存储,不仅是因为性能,主要是需要用redis的hash数据结构。后来随着业务发展,读写压力越来越大,一开始的做法是读写分离,接着一主多从,发现还是不能很好的解决写redis的压力,又因为自己使用的redis版本比较低还不支持分布式的功能,所以自己想去部署一套分布式的redis存储系统,开始想到的做法是简单的做个hash,hashcode=hash(k...转载 2018-10-16 11:29:57 · 657 阅读 · 0 评论 -
一致性Hash算法背景
一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人都知道,memcached...转载 2018-10-16 10:38:21 · 173 阅读 · 0 评论 -
各种hash算法合集
1、整型的Hash算法使用的是Thomas Wang's 32 Bit / 64 Bit Mix Function ,这是一种基于位移运算的散列方法。基于移位的散列是使用Key值进行移位操作。通常是结合左移和右移。每个移位过程的结果进行累加,最后移位的结果作为最终结果。这种方法的好处是避免了乘法运算,从而提高Hash函数本身的性能。unsigned int dictIntHashFunctio...转载 2018-10-16 10:45:43 · 2386 阅读 · 0 评论 -
分布式文件系统MFS、Ceph、GlusterFS、Lustre的比较
原文:http://blog.youkuaiyun.com/metaxen/article/details/7108958 MooseFS(MFS) Ceph GlusterFS Lustre Metadata server 单个MDS。存在单点故障和瓶颈。 ...转载 2018-10-19 00:38:12 · 949 阅读 · 0 评论 -
GlusterFS文件系统弹性哈希算法
原文链接:http://www.taocloudx.com/index.php?a=shows&catid=4&id=66 (作者:林世跃@TaoCloud)GlusterFS采用独特的无中心对称式架构,与其他有中心的分布式文件系统相比,它没有专用的元数据服务集群。在文件定位的问题上,GlusterFS使用DHT算法进行文件定位,集群中的任何服务器和客户端只需根据路径和...转载 2018-10-19 00:30:00 · 401 阅读 · 0 评论 -
ceph的CRUSH算法的源码分析
Contents [hide]1 1 源文件分析 1.1 1.1 rule与bucket的关系 1.2 1.2 crush目录下的文件 1.3 1.3 crush.h中 1.4 1.4 crush.c中 1.5 1.5 build.c中 1.6 1.6 在hash.h、hash.c中 1.7 1.7 在mapper.h、mapper.c中 1.8 1.8 在Cr...转载 2018-10-19 00:11:18 · 608 阅读 · 0 评论