分布式存储

GlusterFS分布式文件系统原理

与世无争的帅哥 提交于 2020-01-12 04:33:01
GlusterFS概述 GlusterFS(Gluster File System)是一个开源的分布式文件系统,主要由Z RESEARCH公司负责开发、是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,在存储方面具有强大的横向扩展能力,通过扩展不同的节点可以支持数PB存储容量和处理数干台客户端。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间及无元的设计,可为各种不同的数据负载提供优异的性能。 GlusterFS主要由存储服务器(Block Server)、客户端及NFS/Samba存储网关(可选,根据需要选择使用)组成,GlusteFS架构中最大的设计特点是没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。 GlusterFS主要特征如下: 扩展性和高性能 高可用性 全局统一命名空间 弹性哈希算法 弹性卷算法 基于标准协议 GlusterFS的卷类型: GlusterFS支持七种卷,分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、条带复制卷和分布式条带复制卷,这七种卷可以满足不同应用对高性能、高可用的需求。 1.分布式卷 分布式卷是GlusterFS的默认卷,在创建卷时,默认选项是创建分布式卷

【巨杉数据库SequoiaDB】巨杉Tech | SequoiaDB 分布式事务实现原理简介

情到浓时终转凉″ 提交于 2020-01-10 17:40:21
1 分布式事务背景 随着分布式数据库技术的发展越来越成熟,业内对于分布式数据库的要求也由曾经只用满足解决海量数据的存储和读取这类边缘业务向核心交易业务转变。分布式数据库如果要满足核心账务类交易需求,则其需要完善分布式事务,向传统关系型数据库看齐。即分布式事务的实现也需要像传统关系型数据库的事务一样满足事务的标准要求及定义,即ACID特征。 分布式数据库的数据是进行多机器多节点分散存储的,这样的存储架构为实现分布式事务带来了极大的难度。数据事务操作时,事务操作会结合数据分布情况,到不同的存储位置上去执行,而这个存储位置位于网络中的不同机器的不同磁盘上。 2 事务基本概念 2.1 事务使用场景 银行应用是一个经典案例,可以解释事务应用的必要性。假设银行数据库有两张表,支票账户表(check)和存款账户表(save)。现在要从LiLei的支票账户里转账200元到她的存款账户,那么需要至少完成3步操作: 检查支票存款账户的余额是否大于200元; 从支票存款账户余额中减去200元; 在存款账户余额中增加200元; 所有的操作被打包在一个事务里执行,如果某一步失败,就回滚所有已完成步骤。事务操作一般用 START TRANSACTION 语句开始一个事务,用 COMMIT 语句提交整个事务,永久地修改数据,或者用 ROLLBACK 语句回滚整个事务,取消已做的修改。事务SQL操作样例如下:

Elasticell-缘起

给你一囗甜甜゛ 提交于 2020-01-07 05:05:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 故事 小白是一个创业公司的技术负责人,创业初期,用户量很少,小白非常愉快的使用Redis来做缓存,系统上线,运行良好,系统响应快速。 过了两天潇洒日子,小白在睡梦中被一震手机短信提示音吵醒。小白看了下短信内容:“卧槽,系统响应时间增大,Redis机器挂掉了,什么情况?”,爬起来恢复了Redis机器,系统恢复正常。 第二天,到公司,小白不想半夜被吵醒,于是做出了架构变更,把Redis从单机修改为Master-Slave结构,并且修改业务代码。改完之后,好长一段时间,小白再没有被Redis的问题给骚扰到,全身心的投入到业务开发中。 业务越做越复杂,用户量越来越多,系统的问题也越来越多,小白的好日子又到头了,老板找到小白:“最近总有客户说系统响应慢,你去查一下,尽快修复”。小白立即一头扎进问题,各种分析,最后一看Redis,CPU一直处于100%。小白心想,单个Redis是支撑不了目前的业务了,小白心里大概估算了了下业务的发展规模,把架构修改为了4套Redis,每套都是Master-Slave结构,然后快速修改了业务代码,根据key的hash来选择Redis,“OK,完工!”,顺利完成了老板交代的任务,继续全身心的投入到业务开发中。 又过了一段时间,业务发展迅猛,用户量又有了很大的提升,之前的问题又出现了

什么是分布式系统,如何学习分布式系统

佐手、 提交于 2020-01-05 22:05:21
欢迎关注专栏: Java架构技术进阶 。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。 什么是分布式系统 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是 利用更多的机器,处理更多的数据 。 首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也不能进一步优化的时候,我们才需要考虑分布式系统。因为,分布式系统要解决的问题本身就是和单机系统一样的,而由于分布式系统多节点、通过网络通信的拓扑结构,会引入很多单机系统没有的问题,为了解决这些问题又会引入更多的机制、协议,带来更多的问题。。。 在很多文章中,主要讲分布式系统分为分布式计算(computation)与分布式存储(storage)。计算与存储是相辅相成的,计算需要数据,要么来自实时数据(流数据),要么来自存储的数据;而计算的结果也是需要存储的。在操作系统中,对计算与存储有非常详尽的讨论,分布式系统只不过将这些理论推广到多个节点罢了。 那么分布式系统怎么将任务分发到这些计算机节点呢,很简单的思想,分而治之,即分片( partition) 。对于计算

盘点:2018年双11背后的蚂蚁核心技术

风流意气都作罢 提交于 2020-01-05 02:46:12
小蚂蚁说: 你们都很关心的 “ OB双11大促实战分享 ” 专题来啦!本系列将为你系统性的介绍OceanBase支撑蚂蚁双11背后的技术原理和实战分享。 从平台到架构,再到实现,一起来探索蚂蚁双11这场神秘的技术之旅吧! 2018年的双11十周年,最终成交额以2135亿元创纪录收官,支付宝系统在这场“商业奥运会”中再次经受住了考验。这也是OceanBase顺利支撑蚂蚁双11的第五年。 从五年前,只有10%流量切到OceanBase上,到如今OceanBase 2.0版本成功支撑2018年双11的支付宝核心链路。每年不变的是一如既往的表现平稳,丝般顺滑,变化的是技术能力的不断升级和迭代。今年的双11,OceanBase 2.0扛起了大梁,性能比去年提升了50%,真正实现了“零成本”支撑大促。 一、2018双11大促使用了哪些核心技术? 今年的双11,OceanBase致力于通过底层架构及平台能力的提升,来实现双11稳定性、成本优化、性能及效率方面的全方位的提升。相较以往始终如一“丝般顺滑”的大促能力外,2018年的双11,OceanBase更加注重长久技术能力的沉淀: OceanBase2.0版本首次上线支付宝的核心链路 ,包括交易、支付系统,为“峰值百万支付能力”的三年战略沉淀了通用的“极致弹性”的分布式数据库能力,夯实了百万支付的底层基座。 在底层存储介质方面,

Hadoop分布式文件系统之HDFS

不羁岁月 提交于 2020-01-03 05:34:16
转自: https://blog.csdn.net/bingduanlbd/article/details/51914550#t24 1. 介绍 在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统。而一旦在系统中,引入网络,就不可避免地引入了所有网络编程的复杂性,例如挑战之一是如果保证在节点不可用的时候数据不丢失。 传统的网络文件系统(NFS)虽然也称为分布式文件系统,但是其存在一些限制。由于NFS中,文件是存储在单机上,因此无法提供可靠性保证,当很多客户端同时访问NFS Server时,很容易造成服务器压力,造成性能瓶颈。另外如果要对NFS中的文件中进行操作,需要首先同步到本地,这些修改在同步到服务端之前,其他客户端是不可见的。某种程度上,NFS不是一种典型的分布式系统,虽然它的文件的确放在远端(单一)的服务器上面。 从NFS的协议栈可以看到,它事实上是一种VFS(操作系统对文件的一种抽象)实现。 HDFS,是Hadoop Distributed File System的简称,是Hadoop抽象文件系统的一种实现。Hadoop抽象文件系统可以与本地系统、Amazon S3等集成,甚至可以通过Web协议(webhsfs)来操作。HDFS的文件分布在集群机器上,同时提供副本进行容错及可靠性保证

大数据开发必须掌握的五大核心技术

痴心易碎 提交于 2020-01-02 17:07:53
大数据技术的体系庞大且复杂,基础的技术包含数据的采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算、可视化等各种技术范畴和不同的技术层面。首先给出一个通用化的大数据处理框架,主要分为下面几个方面:数据采集与预处理、数据存储、数据清洗、数据查询分析和数据可视化。 一、数据采集与预处理 对于各种来源的数据,包括移动互联网数据、社交网络的数据等,这些结构化和非结构化的海量数据是零散的,也就是所谓的数据孤岛,此时的这些数据并没有什么意义,数据采集就是将这些数据写入数据仓库中,把零散的数据整合在一起,对这些数据综合起来进行分析。数据采集包括文件日志的采集、数据库日志的采集、关系型数据库的接入和应用程序的接入等。在数据量比较小的时候,可以写个定时的脚本将日志写入存储系统,但随着数据量的增长,这些方法无法提供数据安全保障,并且运维困难,需要更强壮的解决方案。 Flume NG作为实时日志收集系统,支持在日志系统中定制各类数据发送方,用于收集数据,同时,对数据进行简单处理,并写到各种数据接收方(比如文本,HDFS,Hbase等)。Flume NG采用的是三层架构:Agent层,Collector层和Store层,每一层均可水平拓展。其中Agent包含Source,Channel和 Sink,source用来消费(收集)数据源到channel组件中

Hadoop分布式文件系统HDFS详解

筅森魡賤 提交于 2019-12-30 02:13:18
Hadoop分布式文件系统即Hadoop Distributed FileSystem。 当数据集的大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分区(Partition)并存储到若干台单独的计算机上,管理网络中跨越多台计算机存储的文件系统成为分布式文件系统(Distributed FileSystem)。 该系统架构与网络之上,势必引入网络编程的复杂性,因此分布式文件系统比普通磁盘文件系统更为复杂。例如:使文件系统能够容忍节点故障且不丢数据便是一个极大的挑战。 Hadoop有一个成为HDFS的分布式文件系统,即Hadoop Distributed FileSystem。在非正式的文档或旧的文档中也叫着做DFS。HDFS是Hadoop的旗舰级文件系统,它实际上是一个综合性的文件系统的抽象。例如还可以集成其他文 件系统如Amazon S3或本地文件系统。 HDFS以流式数据访问模式来存储超大文件,运行在商用硬件集群上,特点如下: 1、超大文件存储 “超大文件”在这里指具有即便MB、几百GB、几百TB大小的文件,目前已经有了存储PB级别数据的Hadoop集群。(全球最大的Hadoop集群在雅虎,有大约25,000个节点,主要用于支持广告系统与网页搜索。) 2、流式数据访问 HDFS的构建思路是一次写入,多次读取是最高效的访问模式。数据集通常由数据源生成或从数据源复制而来

NoSQL概述

耗尽温柔 提交于 2019-12-30 01:38:19
NoSql数据库四大分类 键值存储 列存储 文档数据库 图形数据库 NoSQL的特点 易扩展 灵活的数据模型 大数据量,高性能 高可用 Redis 读10w/s 写8w/s Redis的应用场景 缓存 任务队列 网站访问统计 应用排行榜 数据过期处理 分布式集群架构中的session分离 来源: https://www.cnblogs.com/Roni-i/p/10802222.html

分布式文件系统MFS(moosefs)实现存储共享(第二版)

若如初见. 提交于 2019-12-27 03:48:52
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 分布式文件系统MFS(moosefs)实现存储共享(第二版) 作者:田逸( 这种架构除了性能问题而外,还存在单点故障,一旦这个NFS服务器发生故障,所有靠共享提供数据的应用就不再可用,尽管用rsync方式同步数据到另外一个服务器上做nfs服务的备份,但这对提高整个系统的性能毫无帮助。基于这样一种需求,我们需要对nfs服务器进行优化或采取别的解决方案,然而优化并不能对应对日益增多的客户端的性能要求,因此唯一的选择只能是采取别的解决方案了;通过调研,分布式文件系统是一个比较合适的选择。采用分布式文件系统后,服务器之间的数据访问不再是一对多的关系(1个NFS服务器,多个NFS客户端),而是多对多的关系,这样一来,性能大幅提升毫无问题。 到目前为止,有数十种以上的分布式文件系统解决方案可供选择,如lustre,hadoop,Pnfs等等。我尝试了PVFS,hadoop,moosefs这三种应用,参看了lustre、KFS等诸多技术实施方法,最后我选择了moosefs(以下简称MFS)这种分布式文件系统来作为我的共享存储服务器。为什么要选它呢?我来说说我的一些看法: 1、 实施起来简单。MFS的安装、部署、配置相对于其他几种工具来说,要简单和容易得多。看看lustre 700多页的pdf文档,让人头昏吧。 2、