分布式存储

分布式集群架构学习笔记

为君一笑 提交于 2020-02-28 03:09:21
分布式和集群 分布式和集群是不⼀样的,分布式⼀定是集群,但是集群不⼀定是分布式(因为集群就是多个实例⼀起 ⼯作,分布式将⼀个系统拆分之后那就是多个实例;集群并不⼀定是分布式,因为复制型的集群不是拆 分⽽是复制) 第⼀部分 ⼀致性Hash算法 Hash算法,⽐如说在安全加密领域MD5、SHA等加密算法,在数据存储和查找⽅⾯有Hash表等, 以上 都应⽤到了Hash算法。 为什么需要使⽤Hash? Hash算法较多的应⽤在数据存储和查找领域,最经典的就是Hash表,它的查询效率⾮常之⾼,其中的 哈希算法如果设计的⽐较ok的话,那么Hash表的数据查询时间复杂度可以接近于O(1),示例 需求:提供⼀组数据 1,5,7,6,3,4,8,对这组数据进⾏存储,然后随便给定⼀个数n,请你判断n是否存在 于刚才的数据集中? list:List[1,5,7,6,3,4,8] // 通过循环判断来实现 for(int element: list) { if(element == n) { 如果相等,说明n存在于数据集中 } } 以上这种⽅法叫做顺序查找法 :这种⽅式我们是通过循环来完成,⽐较原始,效率也不⾼ ⼆分查找:排序之后折半查找,相对于顺序查找法会提⾼⼀些效率,但是效率也并不是特别好 我能否不循环!不⼆分!⽽是通过⼀次查询就把数据n从数据集中查询出来???可以! 定义⼀个数组,数组⻓度

国产数据 OceanBase、PolarDB 介绍

时光怂恿深爱的人放手 提交于 2020-02-23 04:00:52
马云说“ 阿里的商业平台做得太好 技术实力才会被忽略 ” 。 我推荐的这两个数据库就是阿里的自研的。那么这两个数据的成绩怎么样,贴图给大家看看权威的测试 OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发、运维、DBA、广告、应用研发等部门共同完成。在设计和实现OceanBase的时候暂时摒弃了不紧急的DBMS的功能,例如临时表,视图(view),研发团队把有限的资源集中到关键点上,当前 OceanBase主要解决数据更新一致性、高性能的跨表读事务、范围查询、join、数据全量及增量dump、批量数据导入 为什么OceanBase是海量数据库? OceanBase数据库是由阿里巴巴集团和蚂蚁金服集团自主研发的一款产品,其目标就是支持海量的数据的存储和计算。 和传统的数据库相比,OceanBase所具备的可靠性、稳定性和性能对硬件设备的依赖并不大。尤其是高可用性,OceanBase不依赖底层的硬件是无故障的。从设计之初,OceanBase的开发团队就假设底层的硬件是不靠谱的。OceanBase就是要用普通的硬件产品打造出更好的数据库服务。 2015年双11创造了每秒8.59万笔的交易支付,这是由OceanBase数据库支撑达成的,最关键的是,其达到数据0丢失的目标,也就是说完全保证了数据的一致性

分布式存储ceph——(1)部署ceph

风流意气都作罢 提交于 2020-02-21 16:29:10
前言: 很多朋友想学ceph,但是开始ceph部署就让初学者举步为艰,ceph部署时由于国外源的问题(具体大家应该懂得),下载和安装软件便会卡住,停止不前。即使配置搭建了国内源后,执行ceph-deploy install 时又跑去了国外的源下载,很是无语呀!!!这样导致我们停下了学习ceph的脚步,所以笔者就在这里编写了这篇文章,只要掌握了通过国内源找到并下载对应正确的ceph版本rpm包到本地,部署ceph简直小意思! 一、部署准备: 准备5台机器(linux系统为centos7.6版本),当然也可以至少3台机器并充当部署节点和客户端,可以与ceph节点共用: 1台部署节点(配一块硬盘,运行ceph-depoly) 3台ceph节点(配两块硬盘,第一块为系统盘并运行mon,第二块作为osd数据盘) 1台客户端(可以使用ceph提供的文件系统,块存储,对象存储) (1)所有ceph集群节点(包括客户端)设置静态域名解析; 1 2 3 4 5 6 7 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.254.163 dlp

ClickHouse学习笔记

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-18 09:21:09
1. 概述 ClickHouse 是一个用于联机分析 (OLAP:Online Analytical Processing) 的列式数据库管理系统 (DBMS:Database Management System) ,简称 CK 。 ClickHouse 是一个完全的列式数据库管理系统,允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器, 支持线性扩展,简单方便,高可靠性,容错 。 ClickHouse 官方文档: https://clickhouse.yandex/docs/en/ 2. 应用场景 OLAP 场景关键特征: 大多数是读请求 数据总是以相当大的批 (> 1000 rows) 进行写入 不修改已添加的数据 每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列 宽表,即每个表包含着大量的列 较少的查询 ( 通常每台服务器每秒数百个查询或更少 ) 对于简单查询,允许延迟大约 50 毫秒 列中的数据相对较小: 数字和短字符串 ( 例如,每个 UR60 个字节 ) 处理单个查询时需要高吞吐量(每个服务器每秒高达数十亿行) 事务不是必须的 对数据一致性要求低 每一个查询除了一个大表外都很小 查询结果明显小于源数据,换句话说,数据被过滤或聚合后能够被盛放在单台服务器的内存中 应用场景: 用于结构良好清晰且不可变的事件或日志流分析 。 不适合的场景

数字化转型之基础设施篇 | QingStor®️云时代企业级分布式存储平台

拟墨画扇 提交于 2020-02-12 00:29:49
据 IDC 最新报告预测,2022 年中国 50% 以上的组织都将成为数字化坚定者,依靠新的商业模式、数字化产品与服务实现业务增长。 面对数字化转型的时代浪潮,青小云为大家准备了一份硬核大礼 —— 《数字化转型之路》 ,包含 基础设施 、 业务架构 、 解决方案 到 行业实践 、 未来探索 五个部分,该系列 是对数字化转型理论与具体实践路径的系统梳理 ,希望帮助读者全面准确把握数字化转型发展趋势与前沿技术,促进企业与组织能够在变革的数字化世界中创造更大的价值,实现更强健的生命力。 今天与大家分享的是《数字化转型之路》中基础设施篇——QingStor®️ 云时代企业级分布式存储平台。 以下是 分享正文 首先为大家简单介绍青云在存储上的思考和产品线的布局,让大家对青云的存储、特别是软件定义存储有一个全面的了解。 市场发展趋势 这是 IDC 2018 年的报告,可以看出 2018 年软件定义存储领域的增长比较快,同比增长率超过 50%,往前追溯一年,2017 年同比 2016 年是超过百分百的增长率。 在 SDS 市场中,按存储接口领域区分,主要分为分布式块存储、分布式文件存储和分布式对象存储。在这三种接口里占比最大的是分布式文件存储,2018 年大概有六成市场属于分布式文件存储,块存储大概是两成左右,对象存储也是两成左右。 这是三种存储分别在 2018 年的增长态势

如何实现支持百亿级文件的分布式文件存储

最后都变了- 提交于 2020-02-11 22:08:17
前言 文件系统是最常用的数据存储形式,所以,常用Linux操作系统的用户必然知道ext4、xfs等单机文件系统,用Windows操作系统的用户也都知道NTFS单机文件系统。各种业务场景下,不同的数据都存储于文件系统之上,大量业务逻辑就是基于文件系统而设计和开发的。提供最常用的存储访问方式,这是我们做文件系统的出发点之一。 另一方面,单机文件系统有其明显限制,主要是容量、文件数量限制,以及可靠、可用性限制。单机文件系统毕竟存储空间有限,且掉电或坏盘等故障会带来数据不可达或丢失。通过分布式文件系统解决这些问题,这是我们的出发点之二。 但做分布式文件系统会面临很多挑战,也会面临非常多的选择。 Google GFS论文面世之后,Hadoop HDFS随之诞生,HDFS的选择是处理大文件,面向MapReduce这种非在线数据分析业务,重吞吐而非延时,对HDFS内部存储的数据进行访问,需要借助其提供的专有命令行和SDK,意味着它并不是一个通用型的文件系统。它的主要架构是元数据服务(本文统一用MetaData Service的缩写MDS来指代元数据服务)和数据服务(本文统一用Data Storage Service的缩写DSS来指代数据服务),其中MDS是单点的,单点的MDS能做出一致的决策,为了保证MDS可靠性,一般会选择再做一个备份。HDFS的DSS则可以是很多个。因为文件大小和形式固定

What is Mapreduce?&&What is hadoop?

情到浓时终转凉″ 提交于 2020-02-04 22:32:04
架构扼要 想读懂此文,读者必须先要明确以下几点,以作为阅读后续内容的基础知识储备: Mapreduce是一种模式。 Hadoop是一种框架。 Hadoop是一个实现了mapreduce模式的开源的分布式并行编程框架。 所以,你现在,知道了什么是mapreduce,什么是hadoop,以及这两者之间最简单的联系,而本文的主旨即是,一句话概括:在hadoop的框架上采取mapreduce的模式处理海量数据。下面,咱们可以依次深入学习和了解mapreduce和hadoop这两个东西了。 Mapreduce模式 前面说了,mapreduce是一种模式,一种什么模式呢?一种云计算的核心计算模式,一种分布式运算技术,也是简化的分布式编程模式,它主要用于解决问题的程序开发模型,也是开发人员拆解问题的方法。 Ok,光说不上图,没用。如下图所示,mapreduce模式的主要思想是将自动分割要执行的问题(例如程序)拆解成map(映射)和reduce(化简)的方式,流程图如下图1所示: 在数据被分割后通过Map 函数的程序将数据映射成不同的区块,分配给计算机机群处理达到分布式运算的效果,在通过Reduce 函数的程序将结果汇整,从而输出开发者需要的结果。 MapReduce 借鉴了函数式程序设计语言的设计思想,其软件实现是指定一个Map 函数,把键值对(key/value)映射成新的键值对(key

RAID和分布式存储的对比

僤鯓⒐⒋嵵緔 提交于 2020-01-31 01:32:38
传统的存储 ,一般是指用 商用硬盘构建稳固的存储系统,通常会用到RAID技术 ,这是一种被研究的很透彻的存储技术,有大量的相关软硬件,成本已降低到可接受的程度。 分布式存储 ,一般是指用大量廉价的磁盘,通过软件层实现一定的高级功能,如高数据持久性,不停机扩容,异地分布,多租户架构等,往往也可以通过中间件的形式做扩容。 简要介绍下这两种方式的异同。 RAID技术 RAID,通常是硬件实现,也可以软件实现,RAID存储的时候,会有大量的异或运算,软RAID会降蛮多机器性能,不推荐,而实现硬RAID所需的RAID卡,价格也不高,速度和本地硬盘一致。 总结优点: RAID卡比较便宜,成本低 技术成熟,实施方便 运维方便 本地传输,速度快,不存在小文件的问题 总结缺点: 扩展性差,RAID在系统看来,就是磁盘,并不是以接口提供,没法儿做很好的扩展,比如要坐文件杀毒功能,RAID几乎无法支持 扩容难,空间不够用了,必须停机扩容,而这对有7*24要求的单位,几乎是硬伤 对于分布式存储 优势在于: 扩展方便,可以通过软件层,添加需要的功能 容错性强,对于no-share架构的分布式系统,任何一个节点的crash都不会影响其它节点的工作 扩展方便,对于大部分分布式系统,都可以在线扩容 缺点在于: 速度比本地硬盘慢,特别是存储大量小文件的时候,速度巨慢 实施麻烦,需要专业的计算机工程师协助部署

Ceph分布式存储简介

怎甘沉沦 提交于 2020-01-30 16:02:08
Ceph基础知识和基础架构 0、Ceph分为三部分:RADOS关于数据存储分布,CRUSH关于伪随机算法,Ceph系统 1、Ceph是一个可靠的、自动中均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph划分为三大块,分别是对象存储、块设备存储和文件系统存储。在虚拟化中,常常用到的时Ceph的块设备存储,比如在Openstack项目中,Ceph的块设备存储可以对接Openstack的cinder后端存储,Glance的镜像存储和虚拟机的数据存储,比较直观的时Ceph集群可以提供一个raw格式的快存储来作为虚拟机的硬盘。 Ceph相比其他存储的优势点在于它不单单时存储,同时还充分利用存储节点上的计算能力,在存储每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡,同时由于Ceph的良好设计,采用了CRUSH算法,HASH算法,使得它不存在传统的单点故障问题,且随着规模的扩大性能并不会受到影响。 2、Ceph核心组件 Ceph的核心组件包括Ceph OSD、Ceph Monitor和Ceph MDS。 Ceph OSD:全称是Ceph Object Storage Device,他的主要功能是存储数据,复制数据,平衡数据,恢复数据等。与其他OSD之间进行心跳检测等,并将一些变化情况上报给Ceph Monitor。一般情况下 一块硬盘对应一个OSD

FastFDS 分布式文件系统

我的未来我决定 提交于 2020-01-30 07:58:33
FastFDS 分布式文件系统 底下附服务器搭建 介绍 FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务,如相册网站、视频网站等等。在UC基于FastDFS开发向用户提供了:网盘,社区,广告和应用下载等业务的存储服务。 FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。 FastDFS特性 : 文件不分块存储,上传的文件和OS文件系统中的文件一一对应 支持相同内容的文件只保存一份,节约磁盘空间 下载文件支持HTTP协议,可以使用内置Web Server,也可以和其他Web Server配合使用 支持在线扩容 支持主从文件 存储服务器上可以保存文件属性(meta-data)V2.0网络通信采用libevent,支持大并发访问,整体性能更好 服务器: Tracker相当于FastDFS的大脑