您当前的位置:首页 > 互联网百科 > 大数据

读懂数据存储的六种技术,一篇就够了

时间:2022-05-24 15:39:57  来源:  作者:数据分析不是个事儿

以下文章来源于数仓宝贝库 ,作者Saurabh

业务问题的范围太广、太深、太复杂,一种工具无法解决所有问题,在大数据和分析领域尤其如此。

热数据需要在内存中存储和处理,因此适合用缓存或内存数据库(如redis或SAP Hana)。

AWS提供了ElastiCache服务,可生成托管的Redis或Memcached环境。

NoSQL数据库是面向高速但小规模记录(例如,用户会话信息或物联网数据)的理想选择。

NoSQL数据库对于内容管理也很有用,可以存储数据目录。

1、结构化数据存储

结构化数据存储已经存在了几十年,是人们最熟悉的数据存储技术。大多数事务型数据库(如Oracle、MySQL、SQL Server和PostgreSQL)都是行式数据库,因为要处理来自软件应用程序的频繁数据写入。

企业经常将事务型数据库同时用于报表,在这种情况下,需要频繁读取数据,但数据写入频率要低得多。

随着数据读取的需求越来越强,有更多的创新进入了结构化数据存储的查询领域,比如列式文件格式的创新,它有助于提高数据读取性能,满足分析需求。

基于行的格式将数据以行的形式存储在文件中。基于行的写入方式是将数据写入磁盘的最快方式,但它不一定能最快地读取,因为你必须跳过很多不相关的数据。

基于列的格式将所有的列值一起存储在文件中。这样会带来更好的压缩效果,因为相同的数据类型现在被归为一组。通常,它还能提供更好的读取性能,因为你可以跳过不需要的列。

我们来看结构化数据存储的常见选择。

例如,你需要从订单表中查询某个月的销售总数,但该表有50列。在基于行的架构中,查询时会扫描整个表的50个列,但在列式架构中,查询时只会扫描订单销售列,因而提高了数据查询性能。

我们再来详细介绍关系型数据库,重点介绍事务数据和数据仓库处理数据分析的需求。

(1)关系型数据库

RDBMS比较适合在线事务处理(OLTP)应用。流行的关系型数据库有Oracle、MSSQL、MariaDB、PostgreSQL等。其中一些传统数据库已经存在了几十年。

许多应用,包括电子商务、银行业务和酒店预订,都是由关系型数据库支持的。关系型数据库非常擅长处理表之间需要复杂联合查询的事务数据。

从事务数据的需求来看,关系型数据库应该坚持原子性、一致性、隔离性、持久性原则,具体如下:

  • 原子性:事务将从头到尾完全执行,一旦出现错误,整个事务将会回滚。

 

  • 一致性:一旦事务完成,所有的数据都要提交到数据库中。

 

  • 隔离性:要求多个事务能在隔离的情况下同时运行,互不干扰。

 

  • 持久性:在任何中断(如网络或电源故障)的情况下,事务应该能够恢复到最后已知的状态。

 

  • 通常情况下,关系型数据库的数据会被转存到数据仓库中,用于报表和聚合。

(2)数据仓库

数据仓库更适合在线分析处理(OLAP)应用。数据仓库提供了对海量结构化数据的快速聚合功能。

虽然这些技术(如Amazon Redshift.NETezza和Teradata)旨在快速执行复杂的聚合查询,但它们并没有针对大量并发写入进行过优化。所以,数据需要分批加载,使得仓库无法在热数据上提供实时洞察。

现代数据仓库使用列式存储来提升查询性能,例如Amazon Redshift、Snowflake和google Big Query。得益于列式存储,这些数据仓库提供了非常快的查询速度,提高了I/O效率。

除此之外,Amazon Redshift等数据仓库系统还通过在多个节点上并行查询以及大规模并行处理(MPP)来提高查询性能。

数据仓库是中央存储库,可以存储来自一个或多个数据库的累积数据。它们存储当前和历史数据,用于创建业务数据的分析报告。

虽然,数据仓库集中存储来自多个系统的数据,但它们不能被视为数据湖。数据仓库只能处理结构化的关系型数据,而数据湖则可以同时处理结构化的关系型数据和非结构化的数据,如JSON、日志和CSV数据。

Amazon Redshift等数据仓库解决方案可以处理PB级的数据,并提供解耦的计算和存储功能,以节省成本。

除了列式存储外,Redshift还使用数据编码、数据分布和区域映射来提高查询性能。比较传统的基于行的数据仓库解决方案包括Netezza、Teradata和Greenplum。

2、NoSQL数据库

NoSQL数据库(如Dynamo DB、Cassandra和Mongo DB)可以解决在关系型数据库中经常遇到的伸缩和性能挑战。顾名思义,NoSQL表示非关系型数据库。NoSQL数据库储存的数据没有明确结构机制连接不同表中的数据(没有连接、外键,也不具备范式)。

NoSQL运用了多种数据模型,包括列式、键值、搜索、文档和图模型。NoSQL数据库提供可伸缩的性能、具有高可用性和韧性。

NoSQL通常没有严格的数据库模式,每条记录都可以有任意数量的列(属性),这意味着某一行可以有4列,而同一个表中的另一行可以有10列。分区键用于检索包含相关属性的值或文档。

NoSQL数据库是高度分布式的,可以复制。NoSQL数据库非常耐用,高可用的同时不会出现性能问题。

SQL数据库已经存在了几十年,大多数人可能已经非常熟悉关系型数据库。我们来看SQL数据库和NoSQL数据库之间的一些重大区别(见表1)。

读懂数据存储的六种技术,一篇就够了

表1 SQL数据库和NoSQL数据库的区别

根据数据特点,市面上有各种类别的NoSQL数据存储来解决特定的问题。我们来看NoSQL数据库的类型。

3、NoSQL数据库类型

NoSQL数据库的主要类型如下:

  • 列式数据库:Apache Cassandra和Apache HBase是流行的列式数据库。列式数据存储有助于在查询数据时扫描某一列,而不是扫描整行。如果物品表有10列100万行,而你想查询库存中某一物品的数量,那么列式数据库只会将查询应用于物品数量列,不需要扫描整个表。

 

  • 文档数据库:最流行的文档数据库有MongoDB、Couchbase、MarkLogic、Dynamo DB和Cassandra。可以使用文档数据库来存储JSON和XML格式的半结构化数据。

 

  • 图数据库:流行的图数据库包括Amazon Neptune、JanusGraph、TinkerPop、Neo4j、OrientDB、GraphDB和Spark上的GraphX。图数据库存储顶点和顶点之间的链接(称为边)。图可以建立在关系型和非关系型数据库上。

 

  • 内存式键值存储:最流行的内存式键值存储是Redis和Memcached。它们将数据存储在内存中,用于数据读取频率高的场景。应用程序的查询首先会转到内存数据库,如果数据在缓存中可用,则不会冲击主数据库。内存数据库很适合存储用户会话信息,这些数据会导致复杂的查询和频繁的请求数据,如用户资料。

NoSQL有很多用例,但要建立数据搜索服务,需要对所有数据建立索引。

4、搜索数据存储

Elasticsearch是大数据场景(如点击流和日志分析)最受欢迎的搜索引擎之一。搜索引擎能很好地支持对具有任意数量的属性(包括字符串令牌)的温数据进行临时查询。Elasticsearch非常流行。一般的二进制或对象存储适用于非结构化、不可索引和其他没有专业工具能理解其格式的数据。

Amazon Elasticsearch Service管理Elasticsearch集群,并提供API访问。它还提供了Kibana作为可视化工具,对Elasticsearch集群中的存储的索引数据进行搜索。

AWS管理集群的容量、伸缩和补丁,省去了运维开销。日志搜索和分析是常见的大数据应用场景,Elasticsearch可以帮助你分析来自网站、服务器、物联网传感器的日志数据。

Elasticsearch被大量的行业应用使用,如银行、游戏、营销、应用监控、广告技术、欺诈检测、推荐和物联网等。

5、非结构化数据存储

当你有非结构化数据存储的需求时,Hadoop似乎是一个完美的选择,因为它是可扩展、可伸缩的,而且非常灵活。它可以运行在消费级设备上,拥有庞大的工具生态,而且运行起来似乎很划算。

Hadoop采用主节点和子节点模式,数据分布在多个子节点,由主节点协调作业,对数据进行查询运算。Hadoop系统依托于大规模并行处理(MPP),这使得它可以快速地对各种类型的数据进行查询,无论是结构化数据还是非结构化数据。

在创建Hadoop集群时,从服务器上创建的每个子节点都会附带一个称为本地Hadoop分布式文件系统(HDFS)的磁盘存储块。

你可以使用常见的处理框架(如Hive、Ping和Spark)对存储数据进行查询。但是,本地磁盘上的数据只在相关实例的生命期内持久化。

如果使用Hadoop的存储层(即HDFS)来存储数据,那么存储与计算将耦合在一起。增加存储空间意味着必须增加更多的机器,这也会提高计算能力。为了获得最大的灵活性和最佳成本效益,需要将计算和存储分开,并将两者独立伸缩。

总的来说,对象存储更适合数据湖,以经济高效的方式存储各种数据。基于云计算的数据湖在对象存储的支持下,可以灵活地将计算和存储解耦。

6、数据湖

数据湖是结构化和非结构化数据的集中存储库。数据湖正在成为在集中存储中存储和分析大量数据的一种流行方式。它按原样存储数据,使用开源文件格式来实现直接分析。

由于数据可以按当前格式原样存储,因此不需要将数据转换为预定义的模式,从而提高了数据摄取的速度。如图1所示,数据湖是企业中所有数据的单一真实来源。

读懂数据存储的六种技术,一篇就够了

图1 数据湖的对象存储

数据湖的好处如下:

  • 从各种来源摄取数据:数据湖可以让你在一个集中的位置存储和分析来自各种来源(如关系型、非关系型数据库以及流)的数据,以产生单一的真实来源。它解答了一些问题,例如,为什么数据分布在多个地方?单一真实来源在哪里?

 

  • 采集并高效存储数据:数据湖可以摄取任何类型的数据,包括半结构化和非结构化数据,不需要任何模式。这就回答了如何从各种来源、各种格式的数据中快速摄取数据,并高效地进行大规模存储的问题。

 

  • 随着产生的数据量不断扩展:数据湖允许你将存储层和计算层分开,对每个组件分别伸缩。这就回答了如何随着产生的数据量进行伸缩的问题。

 

  • 将分析方法应用于不同来源的数据:通过数据湖,你可以在读取时确定数据模式,并对从不同资源收集的数据创建集中的数据目录。这使你能够随时、快速地对数据进行分析。这回答了是否能将多种分析和处理框架应用于相同的数据的问题。

你需要为数据湖提供一个能无限伸缩的数据存储解决方案。将处理和存储解耦会带来巨大的好处,包括能够使用各种工具处理和分析相同的数据。

虽然这可能需要一个额外的步骤将数据加载到对应工具中,但使用Amazon S3作为中央数据存储比传统存储方案有更多的好处。

数据湖还有其他好处。它能让你的架构永不过时。假设12个月后,可能会有你想要使用的新技术。因为数据已经存在于数据湖,你可以以最小的开销将这种新技术插入工作流程中。

通过在大数据处理流水线中构建模块化系统,将AWS S3等通用对象存储作为主干,当特定模块不再适用或有更好的工具时,可以自如地替换。



Tags:数据存储   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
云计算:数据存储与处理的革命性技术
当我们谈论“云计算”时,我们实际上在讨论的是一种基于互联网的新型计算模式。云计算允许用户通过网络访问并使用存储在数据中心(也称为“云”)的共享计算资源。这些资源可以包...【详细内容】
2024-03-04  Search: 数据存储  点击:(21)  评论:(0)  加入收藏
Redis集群架构模式概述,引领我们穿越在数据存储的未知之旅
Redis,不仅是数据存储,更是架构的艺术。从主从到哨兵、再到Cluster,每个模式都有着独特的优势。而代理模式,则是应对大规模场景的得力助手。这是一场探险,Redis引领我们穿越在数...【详细内容】
2023-12-08  Search: 数据存储  点击:(137)  评论:(0)  加入收藏
一篇聊聊Jetpack Room实现数据存储持久性
Room介绍Room 是 Android Jetpack 组件库中的一部分,它是用于在 Android 应用中进行本地数据库访问和管理的库。Room 提供了一个抽象层,使开发者能够更轻松地访问 SQLite 数据...【详细内容】
2023-12-08  Search: 数据存储  点击:(149)  评论:(0)  加入收藏
MongoDB性能调优:打造高效的数据存储平台
MongoDB是一种非常流行的NoSQL数据库,可以用于构建高效的数据存储平台。为了确保MongoDB的性能最大化,以下是一些建议的性能调优措施:1、使用适当的硬件:选择高性能的硬件设备,例...【详细内容】
2023-11-14  Search: 数据存储  点击:(205)  评论:(0)  加入收藏
云计算对数据存储与处理方式的影响
云计算是一种基于互联网的计算模式,它通过将数据存储和处理任务迁移到远程的数据中心,为用户提供按需使用的计算资源和服务。云计算的出现改变了数据存储与处理的方式,极大地推...【详细内容】
2023-09-28  Search: 数据存储  点击:(65)  评论:(0)  加入收藏
分布式数据库架构:高可用、高性能的数据存储
在现代信息时代,数据是企业发展的核心。为了支持海量数据的存储、高并发访问以及保证数据的可靠性,分布式数据库架构应运而生。分布式数据库架构是一种将数据存储在多个物理节...【详细内容】
2023-08-15  Search: 数据存储  点击:(222)  评论:(0)  加入收藏
Web-7-深入理解Cookie与Session:实现用户跟踪和数据存储
HTTP协议是无状态协议,每次同一浏览器向服务器请求时,服务器都会将该请求视为新的请求,因此我们需要会话跟踪技术来实现同一会话内数据共享.深入理解Cookie与Session:实现用户跟...【详细内容】
2023-08-02  Search: 数据存储  点击:(280)  评论:(0)  加入收藏
从本地到云端:豆瓣如何使用JuiceFS实现统一的数据存储
豆瓣成立于 2005 年,是中国最早的社交网站之一。在 2009 到 2019 的十年间,豆瓣数据平台经历了几轮变迁,形成了 DPark + Mesos + MooseFS 的架构。由机房全面上云的过程中,原有...【详细内容】
2023-06-25  Search: 数据存储  点击:(165)  评论:(0)  加入收藏
一文详解Mongodb数据库,适合大数据存储
在网络交互的过程中,不仅会有数据的传递,也会有新数据的产生。比如我们目前的网站登录注册项目,在用户注册后,我们只是把数据添加到了服务器的内存中,但是程序一旦关闭或者重启,内...【详细内容】
2023-02-13  Search: 数据存储  点击:(352)  评论:(0)  加入收藏
区块链开源存储引擎“泓”问世 支持长安链PB级数据存储
中新网北京11月14日电 (记者 陈杭)记者14日从北京微芯区块链与边缘计算研究院获悉,该研究院长安链团队成功研发海量存储引擎Huge“泓”。该引擎可支持拍字节(PB)级数据存储,是...【详细内容】
2022-11-15  Search: 数据存储  点击:(207)  评论:(0)  加入收藏
▌简易百科推荐
大数据杀熟何时告别“人人喊打却无可奈何”?
2月7日郑州飞往珠海的航班,不同手机、不同账号搜索该航班显示出不同价格。图源网络有网友近日分享在某平台的购票经历,引发社会广泛关注——用3个账号买同一航班同...【详细内容】
2024-01-30    中国青年网  Tags:大数据杀熟   点击:(34)  评论:(0)  加入收藏
简易百科:到底什么是大数据?
随着互联网的快速发展,大数据已经成为了当今社会最热门的话题之一。那么,到底什么是大数据呢?首先,我们需要明确大数据的定义。大数据是指数据量极大、类型繁多、处理难度高的数...【详细内容】
2024-01-30    简易百科  Tags:大数据   点击:(41)  评论:(0)  加入收藏
数据采集新篇章:AI与大模型的融合应用
开篇在AIGC(人工智能与通用计算)应用中,大型语言模型(LLM)占据着举足轻重的地位。这些模型,如GPT和BERT系列,通过处理和分析庞大的数据集,已经极大地推动了自然语言理解和生成的边界...【详细内容】
2024-01-17  崔皓  51CTO  Tags:数据采集   点击:(57)  评论:(0)  加入收藏
挑战 Spark 和 Flink?大数据技术栈的突围和战争
十年的轮回,正如大数据的发展一般,它既是一个轮回的结束,也是崭新的起点。大数据在过去的二十年中蓬勃发展,从无到有,崛起为最具爆炸性的技术领域之一,逐渐演变成为每个企业不可或...【详细内容】
2024-01-17  InfoQ    Tags:大数据   点击:(41)  评论:(0)  加入收藏
分布式存储系统在大数据处理中扮演着怎样的角色?
如果存储节点本身可以定制,则通常会让其支持部分计算能力,以利用数据的亲和性,将部分计算下推到相关的存储节点上。如果存储是云上的 S3 等对象存储,无法定制,则通常会将数据在计...【详细内容】
2023-12-19  木鸟杂记  微信公众号  Tags:大数据   点击:(49)  评论:(0)  加入收藏
大数据如何实时拯救生命:车联网的数据分析有助预防交通事故
译者 | 李睿审校 | 重楼车联网(IoV)是汽车行业与物联网相结合的产物。预计车联网数据规模将越来越大,尤其是当电动汽车成为汽车市场新的增长引擎。问题是:用户的数据平台准备...【详细内容】
2023-12-19    51CTO  Tags:大数据   点击:(43)  评论:(0)  加入收藏
利用生成对抗网络进行匿名化数据处理
在互联网时代,数据日益成为人们的生产资料。然而,在某些情况下,我们需要分享数据,但又需要保护个人隐私。这时,匿名化技术就显得尤为重要。本文将介绍利用生成对抗网络进行匿名化...【详细内容】
2023-12-18  技巧达人小影    Tags:数据处理   点击:(57)  评论:(0)  加入收藏
盘点那些常见的数据中心类型,你知道几个?
在数字化潮流的浪潮下,数据中心如同企业的神经系统,关系到业务的稳健运转。而在这个巨大的网络中,各种数据中心类型如雨后春笋般崭露头角。从企业级的个性至云数据中心的虚拟化...【详细内容】
2023-12-07  数据中心之家  微信公众号  Tags:数据中心   点击:(71)  评论:(0)  加入收藏
数据中心的七个关键特征
随着信息技术的不断演进,数据中心的可靠性、可扩展性、高效性、安全性、灵活性、管理性和可持续性成为业界探讨的焦点。下面让我们一同深入剖析这些关键特征,了解它们是如何影...【详细内容】
2023-12-06  数据中心之家  微信公众号  Tags:数据   点击:(65)  评论:(0)  加入收藏
什么是数据解析?将数据转化为更好的决策
什么是数据解析?数据解析是一门专注于从数据中获取洞察力的学科。它包含数据分析(data analysis)和管理的流程、工具和技术,包括数据的收集、组织和存储。数据解析的主要目的是...【详细内容】
2023-12-06  计算机世界    Tags:数据解析   点击:(68)  评论:(0)  加入收藏
站内最新
站内热门
站内头条