数据存储

SSD基本原理

浪子不回头ぞ 提交于 2019-12-21 16:41:28
SSD组成 SSD Controler、Flash Memory Array(NAND Flash,存储颗粒)、Dram(option)、Host Interface(eg. SATA、SAS、PCIe) SSD基本工作原理: 从主机PC端开始,用户从操作系统应用层面对SSD发出请求,文件系统将读写请求经drive转化为相应的符合协议的命令,SSD收到命令执行相应操作,然后输出结果。 对SSD来说,输入是Command,输出是Data和Command Status。SSD前端(Front End)接受用户命令请求,经过内部处理,输出用户请求的数据或状态。 SSD前端负责和主机直接通信,接受主机发来的命令和相关数据,命令经SSD处理后,最终交由前端返回命令状态数数据给主机。 SSD通过SATA、SAS、PCIe等类型接口与主机相连,遵守相应的ATA、SCSI、NVMe协议。如表所示: 接口类型 协议命令 主机控制器接口 标准组织 文档链接 SATA ATA/SATA Command Set AHCI(Advanced Host Controller Interface) ATA-IO SATA Spec SAS SCSI Command Set SCSI T10 of INCITs SCSI Express PCIe NVMe Command Set NVMe PCI Express

云计算和大数据的区别

孤人 提交于 2019-12-21 00:52:21
关于大数据和云计算的关系人们通常会有误解。而且也会把它们混起来说,分别做一句话直白解释就是:云计算就是硬件资源的虚拟化;大数据就是海量数据的高效处理。      虽然上面的一句话解释不是非常的贴切,但是可以帮助你简单的理解二者的区别。另外,如果做一个更形象的解释,云计算相当于我们的计算机和操作系统,将大量的硬件资源虚拟化之后再进行分配使用,在云计算领域目前的老大应该算是Amazon,可以说为云计算提供了商业化的标准,另外值得关注的还有VMware(其实从这一点可以帮助你理解云计算和虚拟化的关系),开源的云平台最有活力的就是Openstack了;   大数据相当于海量数据的“数据库”,而且通观大数据领域的发展也能看出,当前的大数据处理一直在向着近似于传统数据库体验的方向发展,Hadoop的产生使我们能够用普通机器建立稳定的处理TB级数据的集群,把传统而昂贵的并行计算等概念一下就拉到了我们的面前,但是其不适合数据分析人员使用(因为MapReduce开发复杂),所以PigLatin和Hive出现了(分别是Yahoo!和facebook发起的项目,说到这补充一下,在大数据领域Google、facebook、twitter等前沿的互联网公司作出了很积极和强大的贡献),为我们带来了类SQL的操作,到这里操作方式像SQL了,但是处理效率很慢,绝对和传统的数据库的处理效率有天壤之别

mongodb什么时候使用

人走茶凉 提交于 2019-12-20 09:34:03
转自:https://blog.csdn.net/justlpf/article/details/80392944 简介 MongoDB[1] 是一个基于分布式文件存储的数据库。由C 语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB[2] 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 特点 它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有: *面向集合存储,易存储对象类型的数据。 *模式自由。 *支持动态查询。 *支持完全索引,包含内部对象。 *支持查询。 *支持复制和故障恢复。 *使用高效的二进制数据存储,包括大型对象(如视频等)。 *自动处理碎片,以支持云计算层次的扩展性。 *支持RUBY,PYTHON,JAVA,C ,PHP,C#等多种语言。 *文件存储格式为BSON(一种JSON的扩展)。 *可通过网络访问。 使用原理 所谓“面向集合”(Collection-Oriented),意思是数据被分组存储在数据集中,被称为一个集合

ImSQL:海量数据,可信存储

假装没事ソ 提交于 2019-12-18 16:47:27
数据造假、数据不可信等问题的存在,给金融监管及风控等众多应用场景带来了严峻的挑战,也正成为阻碍数据大规模互联互通、共享共用的一大障碍。数据的真实可信问题长期影响着社会的各个领域,在更依赖数据的人工智能时代,这一影响将更为凸显。 数据造假可能发生在任一环节。其中,在数据存储期间造假往往更加简单:因为在现有数据存储技术下,数据的所有者、管理人员或受托存储方均有能力单方对数据进行任意的篡改或删除。 既然数据不可信的一个重要原因归咎于单方可以擅自篡改和删除数据,那么如何避免这一问题自然也得到了业界大量的关注。区块链和去中心化存储技术的诞生,对数据篡改起到了一定的遏制作用,也在市场上取得了初步验证。 许多企业开始尝试采用区块链存储数据,例如在货物追溯等场景。其做法往往是将重要数据直接写入区块中。这一简单粗暴的做法确实解决了数据防删改需求、继而满足了部分数据的可信分享,但却存在较多问题: 首先是无法存储海量数据:区块内不适合存储包括多媒体数据等在内的大数据,否则区块大小难以控制,使区块链的可扩展性变差。这就导致业务中必须对原生数据进行筛选取舍,仅选取少量必要数据存入区块,但这将降低可信数据的丰富程度。 其次是数据存取效率低:首先,由于打包过程的存在,区块链数据存储一般不用于高速的数据写入。其次,由于遍历式的数据读取方法,区块链无法支持快速索引、更无法支持SQL。 再次是数据维护效率低

分布式小数据存储系统-初识ZooKeeper

纵然是瞬间 提交于 2019-12-17 05:32:50
初始需求 元数据的存储(小数据) 分布式、高可用 读多写少、高性能读 有序访问 设计 单机层面 节点数据结构的选取 树结构,每个节点是一个ZNode 数据保存在内存中 优点:高效读写 为什么ZK不擅长存储大的数据? 单机高效写磁盘 高效写磁盘的两种方式: 顺序写磁盘 预分配磁盘空间 ZK每次写磁盘,先申请固定大小的磁盘空间,之后再写磁盘,大大提升写入性能。 顺序写数据 每次写入操作,ZooKeeper会附加一个数字标签,表明ZooKeeper中的事务顺序 高可用、宕机可恢复 快照+事务日志 什么时候记录事务日志? 如何快照?新起线程,不影响主流程 分布式层面 顺序写数据 一主多从结构,只有一台master服务器对外提供写服务,每次写记录ZXID事务Id。原子写,保证mei yo 如何保证数据强一致 写的策略,半数以上机器写成功后返回。 写数据流程,非Leader节点会把请求转发给leader,写成功后leader再通知该节点。 ZAB协议:初始阶段/宕机恢复(原子广播) 如何提高读的性能 follower节点,observer节点都可以对外提供读数据能力 怎么保证读取的强一致? 客户端在调用前,可以先申请连接的主机同步leader数据,调用sync()方法 。 水平扩容 ZK做的不好的地方。 ZooKeeper 在水平扩容扩容方面做得并不十分完美,需要进行整个集群的重启

客户端数据存储概述

旧时模样 提交于 2019-12-16 13:27:10
过去十年中,浏览器已经发展成为一个强大的工具。这是一个缓慢的过程,伴随着许多成长之痛。 现在,增强型布局控件、3D图形和游戏,甚至是音乐都可以在小而古老的浏览器中实现。客户端数据存储是一个更加令人兴奋的特性。 浏览Web的"经典"过程从一开始就没有变过:浏览器请求一个URL,Web服务器返回请求的内容,然后浏览器请求更多的内容,而服务器返回更多的内容。 浏览器似乎很健忘,它知道的所有东西都必须从服务器获得。 虽然一般而言确实如此,但这忽视了一个功能强大的替代方案: 将数据存储在浏览器中,让它可以跳过向服务器请求信息的过程,而只从用户的本地机器上获取数据。它甚至还可以操作那些数据,用于任何合理的用途。数据可以稍后被发挥服务器用于更新。 总结来说,浏览器具有如下能力: 直接访问数据。虽然使用AJAX获取数据的速度通常已经快了很多,但将数据存储在本地机器上会让数据访问速度更快。 节省网络流量。浏览器获取一次数据,只要有用就一直保存着,而不必不断从服务器获取数据。这能够减轻服务器的压力。 减轻服务器的压力。如果服务器不断地响应请求,并从数据库服务器获取数据,那么服务器会负担过重。减少请求次数,可以减少服务器的工作量。 最后,数据存储在本地,这使创建完全离线的应用程序变得更加可行。 然而,并非一切都如此美好。将数据转移到浏览器也有以下几点不足。 没有任何同步支持。 存储限制模糊。

SSD固态硬盘的结构和基本工作原理概述

∥☆過路亽.° 提交于 2019-12-16 07:08:55
展开 我们都知道,早期的电脑CPU是可以直接从硬盘上面读取数据进行处理的,随着科技的进步,时代的发展,计算机硬件的发展速度也是极其迅猛。CPU主频的不断提升,从单核到双核,再到多核;CPU的处理速度越来越快,而硬盘的的读写速度已经远远跟不上CPU的读写速度,后来增加了内存这个读写速度相对较快的缓存,而内存也是蓬勃到发展,从SDRAM到DDR,从DDR到DDR2再到DDR3,但是无论怎样,内存缓存速度还是跟不上CPU的运算处理速度,后来便在CPU中增加了快速缓存机制!而硬盘这个持久化存储器呢?之前的文章,聊到了机械硬盘的结构和工作原理,今天就来聊一聊SSD固态硬盘的结构和基本工作原理,如理解有所变差,或文章有所不足,皆因水平所限! 硬盘的发展在不断的科技进步中快速提升,从容量以及速度再到接口方面。从早期的PATA变成SATA,SCSI变到SAS,以及垂直记录技术在容量上的突破,但这些进步亦未能改变磁盘的记录方式。随着人们对数据需求增多,存储系统的瓶颈越来越明显。而在嵌入式领域移动设备和工业自动化控制等恶劣环境下,传统硬盘机械结构已经无法满足要求,而所有这一切随着固态存储(SSD)的到来而发生了改变。 传统的机械硬盘(HDD)运行主要是靠机械驱动头,包括马达、盘片、磁头摇臂等必需的机械部件,它必须在快速旋转的磁盘上移动至访问位置,至少95%的时间都消耗在机械部件的动作上

第八章 云计算原理与技术

笑着哭i 提交于 2019-12-12 03:16:44
第八章 云计算原理与技术 8.1 云计算概述 对于一般用户而言,云计算是指通过网络以按需、易扩展的方式获得所需的服务,即随时随地只要能上网就能使用各种各样的服务,这种服务可以是IT和软件、互联网相关的,也可以是其他的服务。 对于专业人员而言,云计算是指基于互联网的超级计算模式,即把原本存储于个人计算机、移动设备等个人设备上的大量信息集中在一起,使其在强大的服务器端协同工作。它是一种新型的共享计算资源的方法,能够将巨大的系统连接在一起,以提供各种计算服务。 云计算定义包括以下4点: 云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池(如计算设施、存储设备、应用程序等)的计算模式。 云计算模式具有5个基本特征:按需自助服务、广泛的网络访问,共享的资源池、快速弹性能力、可度量的服务。 云计算有3种服务模式:软件即服务(SaaS)、平台即服(PaaS)基础设施即服务(IaaS) 云计算有4种部署方式:私有云、社区云、公有云、混合云。 云计算的技术模式: 1)以小分大(Amazon模式) 2)以小聚大(Google模式) 云计算的分类 IaaS IaaS层可以实现硬件资源的按需配置,创建虚拟的计算、存储中心。虚拟化技术是IaaS的关键技术。 PaaS PaaS即要为SaaS层提供可靠的分布式编程框架,又要为IaaS层提供资源调度、数据管理、屏蔽底层系统的复杂性等支持

GeoServer发布Shapfile、PostGIS数据

一个人想着一个人 提交于 2019-12-12 00:11:05
GeoServer发布Shapfile、PostGIS数据 一、GeoServer发布Shapfile数据 1.1 创建工作区 1.1.1 工作区 1.2 在工作区中加入新的数据存储 1.2.1 数据存储 1.3 发布图层 1.4 预览图层 二、GeoServer发布PostGIS中的数据 相关博文原文地址: CSDN:不睡觉的怪叔叔: 使用GeoServer发布Shapfile数据 CSDN:不睡觉的怪叔叔: 使用GeoServer发布PostGIS中的数据 一、GeoServer发布Shapfile数据 浏览器进入:http://localhost:8084/geoserver/web/ 界面。 进入Geoserver的Web管理页面。在Geoserver的Web管理页面中输入用户名与密码进行登录。如果是默认安装,那么用户名为"admin",密码为"geoserver"。 1.1 创建工作区 在GeoServer中发布和部署地图数据涉及到的几个重要概念—— 工作区(WorkSpace)、数据存储(Store)和图层组 等。 1.1.1 工作区 工作区 (有时又称为命名空间)是一个用于组织类似图层数据(数据集)的容器。常常会把某个项目或工程的相关图层数据存放到一个工作区里。通过工作区的使用,可以避免相同图层名的冲突。例如,在名为beijing工作区中的streets图层

Zabbix4.x 历史数据存储到Elasticsearch7.x

浪尽此生 提交于 2019-12-11 13:33:24
一、简介 Zabbix 3.4.6 版本开始支持历史数据存储到 Elasticsearch , 早就想测试这个功能,最近有个需求需保存 zabbix 的历史数据上达十亿条,因此决定测试这功能的实用性,事实证明确实效果挺好。从今以后 zabbix 也支持大量的历史数据。 二、安装 ELK(这里不再讲解,不懂的可以参考: https://www.cnblogs.com/liugp/p/11789933.html ) 三、添加 Elasticsearch mapping Elasticsearch 支持 Zabbix 的监控项类型:uint,dbl,str,log,text,对应如下: Zabbix 监控项数据类型 对应 Zabbix 表 对应 Elasticsearch 类型 Numeric(unsigned)(无符号整型) history_uint uint Numeric(float)(浮点型) history dbl Character(字符) history_str str Log(日志) history_log log Text history_text text 创建五中类型数据索引 PUT /uint { "settings":{ "number_of_replicas":1, "number_of_shards":5 }, "mappings":{