存储服务器

分布式存储系统横向对比

折月煮酒 提交于 2020-01-21 03:26:34
(一)关键问题 数据分布 对于存储系统,最重要的问题就是数据分布,即什么样的数据放置在什么样的节点上。数据分布时需要考虑数据是否均衡、以后是否容易扩容等一系列问题。不同的数据分布方式也存在不同的优缺点,需要根据自身数据特点进行选择。 1)哈希分布 => 随机读取 取模直接哈希: 将不同哈希值的数据分布到不同的服务器上 关键: 找出一个散列特性很好的哈希函数 问题: 增加、减少服务器时的大量数据迁移 解决: 1)将<哈希值,服务器>元数据存储在元数据服务器中;2)一致性哈希 一致性哈希: 给系统每个节点分配一个随机token,这些token构成一个hash环。执行数据存放操作时,先计算key的hash值,然后存放到顺时针方向第一个大于或者等于该hash值的token所在节点。 关键: 哈希值变成了一个范围,每个物理节点上存储的数据是哈希值处于前一段范围的数据。 优点: 节点增加/删除时只会影响到在hash环中相邻的节点,而对其他节点没影响。 维护每台机器在哈希环中的位置方式:1) 记录它前一个&后一个节点的位置信息,每次查找可能遍历整个哈希环所有服务器;2) O(logN)位置信息,查找的时间复杂度为O(logN);3) 每台服务器维护整个集群中所有服务器的位置信息,查找服务器的时间复杂度为O(1) 虚拟节点: 将哈希取模的模数取得很大,就会得到更多的哈希值,这个哈希值成为逻辑节点

NFS存储服务

流过昼夜 提交于 2020-01-20 08:52:08
一、NFS 原理图 二、NFS 原理描述   2.1:什么是NFS     NFS中文名字:网络共享存储,就是通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录的数据(NFS一般都是用来存放视频、附件、图片等静态数据的).      NFS是通过网络来进行服务端和客户端数据传输的,那么只要是通过网络的就一定会有端口,那NFS的端口是什么呢?很失望的是NFS的端口是随机的,每次重启服务端口都会改变.     那么客户端是怎样知道服务端的端口的呢?其实NFS服务器是通过远程过程调用(RPC)协议/服务来实现的,也就是说RPC服务会统一管理NFS的端口,客户端和服务端通过RPC来确定端口,进行数据传输.     PS:(哦,原来是RPC管理服务端的NFS端口分配,客户端要传数据,那客户端的RPC会先跟服务端的RPC去要服务器的端口,要到端口后再建立连接,然后传输数据)。   2.2:什么是RPC     RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。      RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了 传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。     RPC采用客户机

Linux(10):期中架构(2)--- NFS存储服务 & 实时同步

孤街浪徒 提交于 2020-01-20 06:45:41
1. 共享存储服务概念: # NFS是Network File System的缩写,中文意思是网络文件系统, # 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。 2. NFS共享存储服务的应用: # 将数据存储到一台服务器上,实现数据统一一致,共享访问 # NFS存储服务器中主要存储哪些信息:用户上传的图片 音频 视频 附件等信息 # NFS服务是分为服务端和客户端 # 存储服务器:NFS服务端 网站web服务器:NFS客户端 # 实现共享存储好处: 01. 实现数据统一一致 02. 节省网站磁盘资源 03. 节省网站访问带宽 3. NFS共享存储服务的原理: ①. nfs服务端创建共享存储目录 ②. nfs客户端创建远程挂载点目录 ③. nfs客户端进行远程挂载 ④. 实现客户端数据信息统一一致 4. NFS服务重要概念说明: 4.1 NFS共享文件系统RPC服务介绍 4.2 NFS共享文件系统RPC服务由来: # NFS服务启动进程和端口过程,需要由rpc服务统一管理 5. NFS服务部署实践过程 5.1 NFS服务端部署流程: # 第一步:检查服务软件是否安装 [root@nfs01 ~]# rpm -qa|egrep "nfs-utils|rpcbind" # 检查 nfs 和 rpc 服务是否已经安装 # 第二步:进行软件服务安装

15个nosql数据库

喜欢而已 提交于 2020-01-20 00:39:16
1、MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读写效率不是特别出色,根据官方提供的性能测试表明,大约每秒可以处理0.5万~1.5万次读写请求。MongoDB还自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储。 MongoDB也有一个Ruby的项目MongoMapper,是模仿Merb的DataMapper编写的MongoDB接口,使用起来非常简单,几乎和DataMapper一模一样,功能非常强大。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名

Hadoop 数据库 - HBase

谁说胖子不能爱 提交于 2020-01-17 05:19:50
转自: http://blog.csdn.net/iAm333 1 什么是HBase? HBase,是Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。使用HBase技术可以在廉价的PC服务器上搭建起大规模结构化的存储集群。它底层的文件系统使用HDFS,使用Zookeeper来管理集群的HMaster和各Region server之间的通信,监控各Region server的状态,存储各Region的入口地址等。 2. 何时用HBase? 首先想想传统的关系型数据库都有哪些特点,大概的特点有: 支持事务,ACID(原子性、一致性、隔离性和持久性)特性; 行式存储; SQL语句使用起来比较方便; 支持索引、视图等; 在下面几种情况下,可以考虑使用HBase替代关系数据库: 系统需要适应不同种类的数据格式和数据源,不能预先严格定义模式,需要处理大规模数据; 不强调数据之间的关系,所要存储的数据是半结构化或非结构化的; 数据非常稀疏; 想要更好的进行扩展; 比如谷歌就将BigTable用来存储网页的索引数据,索引数据就很好的满足了上面的几点要求。 3. 与Hive、Pig的区别? HBase是低延迟、非结构化和面向编程的,而Hive是高延迟、结构化和面向分析的; Hive本身不存储和计算数据,它完全依赖与HDFS和MapReduce

web.config常见的配置

自作多情 提交于 2020-01-13 16:39:10
web.config常见的配置 一、认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个 Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 (一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明 特点:位于配置文件的顶部,包含在<configSections>标志中。 2.特定应用程序配置 特点: 位于<appSetting>中。可以定义应用程序的全局常量设置等信息. 3.配置节设置 特点: 位于<system.Web>节中,控制Asp.net运行时的行为. 4.配置节组 特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部. (二).配置节的每一节 1.<configuration>节根元素

web.config常见的配置

百般思念 提交于 2020-01-13 16:38:05
一、认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个 Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 (一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明 特点:位于配置文件的顶部,包含在<configSections>标志中。 2.特定应用程序配置 特点: 位于<appSetting>中。可以定义应用程序的全局常量设置等信息. 3.配置节设置 特点: 位于<system.Web>节中,控制Asp.net运行时的行为. 4.配置节组 特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部. (二).配置节的每一节 1.<configuration>节根元素,其它节都是在它的内部. 2.

OpenStack(理论篇)

梦想与她 提交于 2020-01-13 01:22:22
OpenStack基础理论 云计算概述 概念 狭义的云计算是指IT基础设施的交付和使用模式 广义的云计算是指服务的交付和使用模式 云资源 网络资源 存储资源 服务器资源 云计算服务模型 IaaS(基础架构即服务) 提供底层IT基础设施服务,包括处理能力、存储空间、网络资源等 一般面向对象是IT管理人员 PaaS(平台即服务) 把安装好开发环境的 系统平台作为一种服务通过互联网提供给用户 一般面向对象是开发人员 SaaS(软件即服务) 直接通过互联网为用户提供软件和应用程序的服务 一般面向的对象是普通用户 OpenStack概述 一款云计算模型中的一个项目 NASA和Rackspace合作研发并发起 以Apache许可证授权的自由软件和开放式源代码项目 旨在为公共及私有云的建设与管理提供软件的开源项目 覆盖了网络、虚拟化、操作系统、服务器等各个方面 OpenStack服务框架 服务 项目名称 描述 Compute (计算服务) Nove 负责实例生命周期的管理,计算资源的单位。对Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认为KVM),支持横向扩展 Network(网络服务) Neutron 负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响 Identity(身份认证服务) Keystone

OpenStack(理论篇)

一个人想着一个人 提交于 2020-01-12 20:46:19
OpenStack基础理论 云计算概述 概念 狭义的云计算是指IT基础设施的交付和使用模式 广义的云计算是指服务的交付和使用模式 云资源 网络资源 存储资源 服务器资源 云计算服务模型 IaaS(基础架构即服务) 提供底层IT基础设施服务,包括处理能力、存储空间、网络资源等 一般面向对象是IT管理人员 PaaS(平台即服务) 把安装好开发环境的 系统平台作为一种服务通过互联网提供给用户 一般面向对象是开发人员 SaaS(软件即服务) 直接通过互联网为用户提供软件和应用程序的服务 一般面向的对象是普通用户 OpenStack概述 一款云计算模型中的一个项目 NASA和Rackspace合作研发并发起 以Apache许可证授权的自由软件和开放式源代码项目 旨在为公共及私有云的建设与管理提供软件的开源项目 覆盖了网络、虚拟化、操作系统、服务器等各个方面 OpenStack服务框架 服务 项目名称 描述 Compute (计算服务) Nove 负责实例生命周期的管理,计算资源的单位。对Hypervisor进行屏蔽,支持多种虚拟化技术(红帽默认为KVM),支持横向扩展 Network(网络服务) Neutron 负责虚拟网络的管理,为实例创建网络的拓扑结构。是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响 Identity(身份认证服务) Keystone

学习笔记 -redis

巧了我就是萌 提交于 2020-01-12 13:59:32
启动服务 在家目录下: redis-server /opt/myRedis/redis.conf 查看是否启动: ps -ef | grep redis 客户端启动 使用redis-cli 如果有多个Redis同时启动,则需指定端口号访问 redis-cli -p 端口号 测试验证,通过 ping 命令 查看是否 返回 PONG 常用命令 登录 redis-cli -p 5566 -a password 检查key是否存在 EXISTS key 搜索某关键字 KSYS *4 返回一个Key所影响的vsl的类型 TYPE key String 单条操作 增:set key value 查:get key 删:del key 多条操作 增:mset key value [key1 value1] 查:mget key [key1] 扩展操作 1.数字增加减少命令 incr key //自增 1 incrby key num //给key的值增加num(int 类型),num 正数则为加,num 为负数 则为减 incrbyfloat key num //给key的值增加num(float 类型) decr key //自减 1 decrby key num //给key的值减num 按数值进行操作的数据,如果原始数据不能转成数值,或超越了redis 数值上限范围,将报错。 应用: