大数据的存储_大数据存储方式-程序员宅基地

技术标签: 大数据  

大数据的存储

1.存储方式

1.1 块存储

        块存储就好比硬盘一样,直接挂载到主机,一般用于主机的直接存储空间和数据库应用的存储。它分两种形式:

        DAS:一台服务器一个存储,多机无法直接共享,需要借助操作系统的功能,如共享文件夹。

        SAN:金融电信级别,高成本的存储方式,涉及到光纤和各类高端设备,可靠性和性能都很高,除了贵和运维成本高,基本都是好处。

        云存储的块存储:具备SAN的优势,而且成本低,不用自己运维,且提供弹性扩容,随意搭配不同等级的存储等功能,存储介质可选普通硬盘和SSD。

1.2 文件存储

        文件存储与较底层的块存储不同,上升到了应用层,一般指的就是NAS ,一套网络储存设备,通过TCP/IP进行访问,协议为NFSv3/v4。由于通过网络,且采用上层协议,因此开销大,延时肯定比块存储高。一般用于多个云服务器共享数据,如服务器日志集中管理、办公文件共享。

1.3 对象存储

        对象存储具备块存储的高速以及文件存储的共享等特性,较为智能,有自己的CPU、内存、网络和磁盘,比块存储和文件存储更上层,云服务商一般提供用户文件上传下载读取的Rest API,方便应用集成此类服务。

1.4 总结

        块存储:是和主机打交道的,如插一块硬盘。

        文件存储:NAS,网络存储,用于多主机共享数据。

        对象存储:跟自己开发的应用程序打交道,如网盘。

        它们的层级是越来越高。

2 大数据的存储方式

2.1 分布式系统

        分布式系统包含多个自主的处理单元,通过计算机网络互连来协作完成分配的任务,其分而治之的策略能够更好的处理大规模数据分析问题。主要包含以下两类:

        分布式文件系统:存储管理需要多种技术的协同工作,其中文件系统为其提供最底层存储能力的支持。分布式文件系统 HDFS 是一个高度容错性系统,被设计成适用于批量处理,能够提供高吞吐量的的数据访问。

        分布式键值系统:分布式键值系统用于存储关系简单的半结构化数据。典型的分布式键值系统有Amazon Dynamo,以及获得广泛应用和关注的对象存储技术(Object Storage)也可以视为键值系统,其存储和管理的是对象而不是数据块。

2.2 NoSQL数据库

        关系型数据库已经无法满足Web 2.0的需求。主要表现为:无法满足海量数据的管理需求、无法满足数据高并发的需求、高可扩展性和高可用性的功能太低。

        NoSQL数据库的优势:可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web 2.0应用,具有强大的横向扩展能力等,典型的NoSQL数据库包含以下几种:键值数据库、列族数据库、文档数据库和图形数据库。

2.3 云数据库

        云数据库是基于云计算技术发展的一种共享基础架构的方法,是部署和虚拟化在云计算环境中的数据库。云数据库并非一种全新的数据库技术,而只是以服务的方式提供数据库功能。云数据库所采用的数据模型可以是关系数据库所使用的关系模型(微软的SQLAzure云数据库都采用了关系模型)。同一个公司也可能提供采用不同数据模型的多种云数据库服务。

3 大数据存储技术路线

3.1 MPP架构的新型数据库集群

        采用MPP(Massive Parallel Processing)架构的新型数据库集群,重点面向行业大数据,采用Shared Nothing架构,通过列存储、粗粒度索引等多项大数据处理技术,再结合MPP架构高效的分布式计算模式,完成对分析类应用的支撑,运行环境多为低成本PC Server,具有高性能和高扩展性的特点,在企业分析类应用领域获得极其广泛的应用。

        这类MPP产品可以有效支撑PB级别的结构化数据分析,这是传统数据库技术无法胜任的。对于企业新一代的数据仓库和结构化数据分析,目前最佳选择是MPP数据库。

3.2 基于Hadoop的技术扩展

        基于Hadoop的技术扩展和封装,围绕Hadoop衍生出相关的大数据技术,应对传统关系型数据库较难处理的数据和场景,例如针对非结构化数据的存储和计算等,充分利用Hadoop开源的优势,伴随相关技术的不断进步,其应用场景也将逐步扩大,目前最为典型的应用场景就是通过扩展和封装Hadoop来实现对互联网大数据存储、分析的支撑。对于非结构、半结构化数据处理、复杂的ETL(Extract-Transform-Load)流程、复杂的数据挖掘和计算模型,Hadoop平台更擅长。

3.3 大数据一体机

        大数据一体机是一种专为大数据的分析处理而设计的软、硬件结合的产品,由一组集成的服务器、存储设备、操作系统、数据库管理系统以及为数据查询、处理、分析用途而特别预先安装及优化的软件组成,高性能大数据一体机具有良好的稳定性和纵向扩展性。

4 分布式文件系统

    下面列举了常用的分布式文件系统:

        GFS也就是Google File System,Google公司为了存储海量搜索数据而设计的专用文件系统。尽管Google公布了该系统的一些技术细节,但Google并没有将该系统的软件部分作为开源软件发布。
HDFS(Hadoop Distributed File System)源于Google在2003年10月份发表的GFS(Google File System) 论文,它其实就是 GFS 的一个克隆版本。

        开源 http://hadoop.apache.org/

        Ceph是加州大学圣克鲁兹分校的Sage weil攻读博士时开发的分布式文件系统。由于ceph使用btrfs文件系统,而btrfs文件系统需要Linux 2.6.34以上的内核才支持。

        开源 https://ceph.com/

        Lustre是源自Linux和Cluster的混成词。最早在1999年,由皮特·布拉姆创建的集群文件系统公司开始研发,于2003年发布Lustre 1.0。采用GNU GPLv2开源码授权。

        开源 http://lustre.org/

        适合存储小文件、图片的分布文件系统有:

        MogileFS(https://github.com/mogilefs/)

        mooseFS(https://moosefs.com/)

        FastFS(https://github.com/happyfish100/fastdfs)

        TFS(http://tfs.taobao.org/)

        GridFS(https://www.mongodb.com)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44231416/article/details/111352005

智能推荐

stm32-USART1重映射_stm32 usart1 重映射-程序员宅基地

文章浏览阅读7.1k次,点赞5次,收藏16次。首先来说下什么是端口复用。STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。其实说白了,简单易懂的说,就是某些普通的外设引脚也可以用来其它功能。比如说那我使用的正点原子哥的板子来说吧,串口1 的发送接收引脚是PA9,PA10,当我们把PA9,PA10不用作普通的G..._stm32 usart1 重映射

esp8266固件烧录_esp8266要烧录多久-程序员宅基地

文章浏览阅读825次。http://www.shaoguoji.cn/2017/01/15/ESP8266-usage/_esp8266要烧录多久

JS进阶-字符串提取_js文本取中间-程序员宅基地

文章浏览阅读2.6k次。JS进阶-字符串提取_js文本取中间

Linux-进程概念_linux 会话开始时被读取一次-程序员宅基地

文章浏览阅读1.2k次。操作系统任何计算机系统都包含一个基本的程序集合,成为操作系统(OS),它包括 - 内核(进程管理,内存管理,文件管理,驱动管理) - 其他程序(例如函数库,shell等)操作系统是管管理的软件 用户操作 → 用户操作接口(shell,lib,指令等) → 操作系统 → 驱动程序 → 硬件 操作系统管理硬件 用 struct 将..._linux 会话开始时被读取一次

视频技术处理之javaCV视频图像灰度处理,附代码_javacv jpg图片合成视频 变成灰色-程序员宅基地

文章浏览阅读3.3k次,点赞59次,收藏12次。图片灰度处理效果视频灰度处理效果Java spring boot项目或者maven项目的pom文件中添加以下依赖 <!-- https://mvnrepository.com/artifact/org.bytedeco/javacv-platform --> <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platfo..._javacv jpg图片合成视频 变成灰色

引用vue的方法:<script src=“https://unpkg.com/vue@next“></script>-程序员宅基地

文章浏览阅读2.3k次。<script src="https://unpkg.com/vue@next"></script>

随便推点

pgsql报错:current transaction is aborted, commands ignored until end of transaction block-程序员宅基地

文章浏览阅读6.6k次,点赞2次,收藏4次。我们在PG数据库,关闭了事务的自动提交的情况下,会经常的遇到这样的问题ERROR: current transaction is aborted, commands ignored until end of transaction block为什么会造成了这样的问题,原因是Postgres数据库中,同一事务中如果某次数据库操作中出错的话,那这个事务以后的数据库都会出错。我们举个很简单的例子test=# select * from test1;ERROR: relation "tes_current transaction is aborted, commands ignored until end of transaction bl

SqlServer中递归查询父节点及其所属子节点_sqlserver 数据库中怎么找到父元素-程序员宅基地

文章浏览阅读2k次。SqlServer中递归查询父节点及其所属子节点需求场景SQL脚本实现-业务不同,实现有差异查询结果需求场景递归查询父节点及其所属子节点SQL脚本实现-业务不同,实现有差异 -- 查找所有父节点with tab as( select pc.id,pc.ParentId,pcd.Name,1 as [level] from ProductCategories pc join Produ..._sqlserver 数据库中怎么找到父元素

机器学习项目实战--逻辑回归(Logistic Regression)_suraj verma logistic regression from sratrach-程序员宅基地

文章浏览阅读1.5k次。(一)逻辑回归逻辑回归算法是一种广义的线性回归分析模型, 可用于二分类和多分类问题, 常用于数据挖掘、疾病自动诊断、经济预测等领域。通俗来说, 逻辑回归算法通过将数据进行拟合成一个逻辑函数来预估一个事件出现的概率,因此被称为逻辑回归。因为算法输出的为事件发生概率, 所以其输出值应该在0至1之间。逻辑回归的优点:是速度快,特别是对于二分类;可以适用于连续性和类别性自变量;输出的是几率,更容易解释和使..._suraj verma logistic regression from sratrach

虚函数表指针,虚函数表_编译器在执行过程中遇到virtual关键字时,会为这些包含虚函数的类建-程序员宅基地

文章浏览阅读922次。虚函数表对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。 在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配在了 这个实例的内存中,所以,当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得由为重要_编译器在执行过程中遇到virtual关键字时,会为这些包含虚函数的类建

Steamvr探索(1)_手柄的认识_steamvr只有一个手柄-程序员宅基地

文章浏览阅读926次。Unity Version - 2018.2SteamVR plugin for Unity - v1.2.3最近在重新学习htc眼镜,真的是忘完了,迷茫了好几天终于找到了一个线头,就是手柄,那就先从这个线头开始捋吧。一、导入steamvr插件直接从unity里边下载,好像现在最新的插件跟我现在用的这个有些不同,所以我这个应该是旧版本的教程。然后直接导入就行,这个就不截图了。二、使用插件..._steamvr只有一个手柄

DB2中数据类型DECIMAL的用法_db2 decimal-程序员宅基地

文章浏览阅读9.8k次,点赞3次,收藏9次。 decimal(p,s) p表示:不包括小数点,不包括符号位,所能存数字的总位数(包括小数部分和整数部分) s表示:小数部分数字的位数,由此可知整数部分的位数为p-s;举个例子:decimal(5,2) 能够表示的数的范围 -999.99到999.99; ..._db2 decimal