业务问题的范围太广、太深、太复杂,一种工具无法解决所有问题,在大和分析领域尤其如此。 热数据需要在内存中存储和处理,因此适合用缓存或内存数据库(如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数据库的主要类型如下:
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等通用对象存储作为主干,当特定模块不再适用或有更好的工具时,可以自如地替换。 |
读懂数据存储的六种技术,一篇就够了
以下文章来源于数仓宝贝库 ,作者Saurabh业务问题的范围太广、太深、太复杂,一种工具无法解决所有问题,在大数据和分析领域尤其如此。热数据需要在内存中存储和处理,因此适合用缓存或内存数据库(如Redis或SAP Han ......
这篇内容能帮你快速理解什么
通过更完整的主题说明和结构表达,帮助用户更快抓住重点,也让搜索系统更容易识别页面主题。
让访问者快速理解当前问题、可行方法以及下一步应该继续看案例、看服务还是直接沟通。
文章页不只是获取流量,也承担继续阅读、查看服务和发起咨询的承接作用。
继续了解这个主题前,你可能还关心这些问题
为什么这类主题适合写成文章?
因为很多用户会通过问题词、对比词和方案词进入网站,文章页越清楚,越容易覆盖更具体的需求。
为什么文章页不能只有正文?
仅有正文不利于继续浏览和转化,文章页还需要总结、问答、相关推荐与咨询入口来承接用户。
看完之后下一步可以做什么?
可以继续看同类文章、服务页与案例页,也可以直接沟通官网升级与搜索优化需求。
这篇文章能帮助我解决什么具体问题?
这篇文章围绕当前主题提供了详细的解决方案、操作步骤和注意事项,帮助你快速理解核心要点并应用到实际场景中。
如何判断这篇文章的内容是否权威可靠?
内容基于实际项目经验和技术实践编写,结合行业标准和最佳实践,同时提供案例数据和方法论支撑,确保专业性和可操作性。
这类内容对SEO和网站排名有什么帮助?
优质的长文内容和FAQ结构能够提升页面主题相关性、增加用户停留时间、降低跳出率,这些都有助于搜索引擎评估页面质量并提升排名表现。
AI搜索引擎会如何理解和引用这类内容?
AI搜索系统会提取文章的实体信息、观点结论和结构化问答,当用户提出相关问题时,可能会引用本文作为答案来源或参考依据。
如果我有更多相关问题可以咨询谁?
可以通过页面底部的联系方式直接咨询我们的专业团队,包括电话、QQ或在线表单,我们会根据你的具体情况提供针对性的建议和方案。
这篇文章和同类内容有什么不同之处?
本文不仅提供理论知识,还包含实战经验、避坑指南和可执行的行动建议,同时兼顾传统SEO和新兴的GEO生成式搜索优化视角。
多久需要更新一次这类内容以保持时效性?
建议每季度审查并更新一次关键数据和案例,如果涉及技术工具或算法变化则需要更频繁地维护,确保内容持续为用户提供准确价值。