首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >存储范式解析:对象、键值(特性与用例)

存储范式解析:对象、键值(特性与用例)

作者头像
数据存储前沿技术
发布2025-10-09 10:37:42
发布2025-10-09 10:37:42
270
举报

问题意识

本文是 存储范式解析:对象、键值(概念与架构)的补充,侧重对两类存储范式的特性分析、典型用例说明及未来演进方向讨论,为此 标题排序延续前文,希望能尽可能完整。

在构建现代分布式系统时,数据存储的选择是架构设计的核心。面对海量数据和多样化的访问需求,对象存储与键值存储作为两种主流的NoSQL范式,各自展现出独特的优势。它们在数据模型、性能特性、扩展能力及适用场景上存在显著差异。然而,你是否真正理解这两种存储的底层逻辑与最佳实践?如何才能在复杂的业务场景中,做出最符合成本效益和性能需求的存储决策?本文将深入剖析,助你拨开迷雾。

阅读收获

  1. 掌握核心差异: 深入理解对象存储与键值存储在元数据、访问协议、扩展性及性能剖面上的本质区别,为技术选型奠定基础。
  2. 识别最佳实践: 明确两类存储的典型用例与反模式,避免架构错配,提升系统设计效率与稳定性。
  3. 优化存储策略: 学习如何结合“混合持久化”架构,充分利用各自优势,实现性能与成本的最佳平衡。
  4. 洞察未来趋势: 了解存储技术融合与演进方向,为未来系统升级与扩展做好前瞻性准备。

03

特性与能力对比分析

本节将前文的架构细节提炼为直接的功能特性对比,旨在为技术选型提供一个清晰的参照框架。

01

元数据处理:丰富上下文 vs. 不透明值

  • 对象存储:元数据是系统的一等公民。系统不仅存储元数据,还能理解并基于元数据执行操作 8。这催生了许多强大的原生功能,例如,可以设置生命周期策略(如“对象创建90天后自动迁移到归档层”),实施基于对象标签的访问控制,或通过API直接查询符合特定元数据条件的对象,从而实现服务端的数据发现和管理 1。
  • 键值存储:元数据(如果存在)被封装在不透明的值(Value)中,其语义完全由应用程序来定义和管理 13。键值存储系统本身对此一无所知。因此,实现类似“查找所有‘类型’为‘视频’的条目”这样的查询,应用程序必须自行设计并维护二级索引,或者进行代价极高的全表扫描。

02

访问方法与协议:Web标准 vs. 程序化API

  • 对象存储:主要通过标准的HTTP/HTTPS RESTful API进行访问 1。这种基于Web标准的方式使其具有极佳的互操作性,可以被任何编程语言、命令行工具(如 curl)乃至Web浏览器轻松访问。它天然地适用于面向互联网的服务和分布式系统 57。
  • 键值存储:通常通过特定语言的SDK或专有的、高效的二进制协议进行访问 14。这种方式旨在最小化网络通信的开销,为数据中心内部的高性能应用提供服务。虽然部分键值存储也提供HTTP网关,但其核心交互模型是为性能优化的程序化接口。

03

可扩展性维度:命名空间 vs. 节点集群

  • 对象存储:其可扩展性在概念上是“无限的”。这得益于其扁平的全局命名空间,以及可以在后端存储池中不断增加存储节点而无需改变系统逻辑视图的能力 1。其扩展性的主要挑战在于元数据服务,该服务必须能够高效管理持续增长的对象到物理位置的映射。
  • 键值存储:通过向集群中添加更多节点来实现水平扩展 11。其扩展性非常出色,但可能受到一些因素的限制,如分区策略的均衡性(避免热点)、节点间通信(Gossip协议、数据复制)的开销等 58。其规模上限通常以数千个节点来衡量,而非对象存储池那种近乎无限的理论容量 58。

04

性能剖面:吞吐量导向 vs. 延迟导向

  • 对象存储:其特点是相对较高的延迟(通常在几十到几百毫秒)和巨大的吞吐量。它为流式传输大文件和处理大量并发的大型I/O操作进行了优化 3。
  • 键值存储:其特点是极低的延迟(内存型为微秒级,磁盘型为个位数毫秒级)和极高的IOPS(每秒输入/输出操作数)。它为处理海量、快速的小型读写操作进行了优化 12。

05

架构与特性详细对比

下表综合了本报告的技术分析,为架构师提供了一个密集的、一目了然的参考,以便在关键设计轴上对这些系统进行比较。

属性

对象/Blob存储

键值存储

核心数据模型

对象:数据、丰富的元数据、唯一ID的集合 1

键值对:唯一的键映射到一个不透明的值 11

命名空间结构

扁平的全局命名空间(在“桶”内) 1

分区的键空间,通常通过哈希分布 39

元数据能力

一等公民,系统级管理,可扩展,可查询 8

应用层在值(Value)内部自行管理 13

主要访问协议

HTTP/RESTful API 1

特定语言的SDK,专有二进制协议 14

典型操作粒度

较大(MB到TB级) 6

较小(字节到KB级) 60

性能剖面

高吞吐量,较高延迟 26

高IOPS,低延迟 12

扩展模型

向存储池添加节点(近乎无限扩展) 1

水平分片,增加集群节点(集群规模扩展) 11

主要持久化机制

纠删码(常见)或复制 31

复制(几乎通用) 13

典型一致性模型

强一致性(现代趋势) 33

可调一致性(从最终到强一致) 54

更新粒度

对象级(整个对象覆盖) 3

值级(整个值覆盖) 62

底层存储引擎

- (抽象为存储池)

LSM-Tree(写优化)或B-Tree(读优化) 44

04

用例与应用模式

本节将架构理论与实际应用相结合,阐述为何特定的架构天然适合解决特定的业务问题。

01

对象存储的典型用例

  • 数据湖与大数据分析:对象存储能够以极低的成本存储海量的结构化、半结构化和非结构化数据(如日志、IoT数据流、用户行为数据),使其成为构建数据湖的事实标准 4。现代大数据分析引擎(如Apache Spark)可以直接连接对象存储,利用其高吞吐特性并行读取大规模数据集进行计算 1。
  • 备份、归档与灾难恢复:其高持久性(通过纠删码或复制实现)、极低的单位GB存储成本以及不可变性特性(WORM),使其成为长期数据保留、法规遵从和防御勒索软件攻击的理想选择 1。
  • 云原生应用数据:存储用户生成的内容(UGC),如图片、视频、文档等。其原生的HTTP API使得Web和移动应用可以轻松地直接上传和下载内容,无需经过应用服务器中转 1。
  • 静态内容托管与内容分发网络(CDN):直接从对象存储提供网站的静态资源(HTML, CSS, JavaScript, 图片)是一种高度可扩展且成本效益极高的方案。对象存储是CDN最常见的源站 4。

02

键值存储的典型用例

  • 高性能缓存层:在应用和慢速后端数据库(如关系型数据库)之间部署一个键值存储(特别是像Redis这样的内存型数据库),用于缓存热点数据或频繁查询的结果,可以极大地降低应用延迟并减轻数据库的负载 12。
  • Web会话管理:为大规模Web应用存储用户会话状态。通过会话ID(作为键)来快速读写用户的会话数据,是键值存储的完美应用场景 12。
  • 用户画像与个性化:存储用户资料、偏好设置、购物车等信息,以用户ID作为键。其无模式的特性使得用户画像的字段可以随时灵活增减,而无需进行复杂的数据库表结构变更 12。
  • 实时应用:游戏排行榜(键为游戏ID,值为玩家分数的有序集合)、广告系统的实时竞价、物联网设备状态跟踪等,这些场景要求系统能够以极低的延迟处理每秒数百万次的写入和读取操作 12。

03

反模式:应避免的架构错配

  • 对象存储的反模式
    • 事务性系统:将其用作在线事务处理(OLTP)应用的主数据库。其高延迟、缺乏跨对象事务支持以及覆盖式的更新模型,完全不适用于需要ACID保证的场景 3。
    • 频繁更新的小数据:存储需要频繁进行小范围、部分更新的数据。每次更新都必须读取整个对象、在客户端修改、再写回整个对象,效率极其低下。
  • 键值存储的反模式
    • 复杂查询与报表分析:试图在其上运行类似关系型数据库的复杂查询,如多表连接(JOIN)、多维度聚合和复杂条件过滤。这通常需要对整个数据集进行扫描,效率极低,是选错了工具 12。
    • 存储海量归档数据:虽然键值存储可以存储大的值,但它并未为此进行成本优化。对于长期、不频繁访问的大型数据,对象存储提供了远低于键值存储的单位GB成本,并具备自动分层存储等归档特性 3。

05

综合与结论性建议

本报告对对象存储和键值存储进行了从概念模型到系统架构,再到应用场景的全面比较。最后的综合分析旨在为系统架构师和工程师在面对技术选型时,提供清晰的决策框架和前瞻性思考。

01

核心权衡轴

分析表明,对象存储与键值存储的选择,本质上是在一个核心权衡轴上的定位。这个轴的一端是键值存储,其特点是低延迟、高IOPS、极简数据模型;另一端是对象存储,其特点是高吞吐、海量扩展、丰富元数据。任何技术决策都必须始于对应用需求——特别是数据访问模式、数据大小、性能指标和成本预算——的深刻理解,然后在这个权衡轴上找到最匹配的位置。

02

融合趋势与多模型系统

值得注意的是,这两种存储范式之间的界限正在变得模糊。对象存储开始提供类文件系统的接口(如NFS/SFTP网关),以兼容传统应用 17。同时,数据库领域出现了“多模型”(Multi-model)的趋势,即单个数据库系统开始支持多种数据模型,如在一个系统中同时提供关系型、键值、文档和图模型接口 62。这反映了市场对于更通用、集成度更高的数据平台的迫切需求。

03

架构选型建议

基于本报告的分析,为架构师提供以下具体建议:

  1. 对于海量非结构化数据,默认选择对象存储。无论是构建数据湖、实施备份归档策略,还是存储多媒体内容,对象存储在成本效益、可扩展性和持久性方面的优势都是无与伦比的。
  2. 对于低延迟读写是关键的场景,默认选择键值存储。在构建缓存层、管理会话状态或开发实时应用时,键值存储的性能是决定系统成败的关键。
  3. 深入分析工作负载,选择合适的存储引擎。在确定使用键值存储后,需进一步分析应用的读写比例。对于写密集型应用(如日志收集),应优先考虑基于LSM-Tree的系统;对于读密集型或读写均衡的应用,基于B-Tree的系统可能更为合适。
  4. 拥抱“混合持久化”(Polyglot Persistence)架构。现代复杂应用几乎总是能从组合使用多种存储系统中受益。一个典型的最佳实践是:将原始的大型媒体文件(如视频、高分辨率图片)存储在对象存储中,而将与这些文件相关的元数据、索引信息、用户关系等存储在高性能的键值存储中。这种混合架构能够充分利用两种系统的长处,实现性能和成本的最佳平衡。

04

未来展望

展望未来,分布式存储技术将继续演进。计算存储(Computational Storage)等新兴技术,旨在将计算能力推向数据存储的位置,有望进一步降低对象存储处理大规模数据时的延迟。同时,随着应用开发的简化需求日益增长,强一致性正逐渐成为所有大规模存储系统的默认标准和用户预期。架构师必须持续关注这些技术趋势,以便在未来的系统设计中做出更具前瞻性的决策。

参考资料

  1. What is Object Storage? Use cases & benefits | Google Cloud, accessed September 6, 2025, https://cloud.google.com/learn/what-is-object-storage
  2. cloud.google.com, accessed September 6, 2025, https://cloud.google.com/learn/what-is-object-storage#:~:text=Object%20storage%20is%20a%20data,for%20easy%20access%20and%20retrieval.
  3. How Object vs Block vs File Storage differ | Google Cloud, accessed September 6, 2025, https://cloud.google.com/discover/object-vs-block-vs-file-storage
  4. What is Object Storage | Glossary | HPE ASIA_PAC, accessed September 6, 2025, https://www.hpe.com/asia_pac/en/what-is/object-storage.html
  5. AWS S3 Deep Dive | By Joud W. Awad - Medium, accessed September 6, 2025, https://medium.com/@joudwawad/aws-s3-deep-dive-1c19ad58af40
  6. S3 Storage: How It Works, Use Cases and Tutorial - Cloudian, accessed September 6, 2025, https://cloudian.com/blog/s3-storage-behind-the-scenes/
  7. Object metadata | Cloud Storage - Google Cloud, accessed September 6, 2025, https://cloud.google.com/storage/docs/metadata
  8. What is Object Storage: Definition, How It Works and Use Cases - Cloudian, accessed September 6, 2025, https://cloudian.com/guides/object-storage/object-storage-care/
  9. Why Metadata Is a Critical Asset for Storage and IT Managers - Dataversity, accessed September 6, 2025, https://www.dataversity.net/why-metadata-is-a-critical-asset-for-storage-and-it-managers/
  10. Object Storage Objects - Oracle Help Center, accessed September 6, 2025, https://docs.oracle.com/en-us/iaas/Content/Object/Tasks/managingobjects.htm
  11. What is a Key Value Database? - AWS, accessed September 6, 2025, https://aws.amazon.com/nosql/key-value/
  12. What is a Key-Value Database? - Redis, accessed September 6, 2025, https://redis.io/nosql/key-value-databases/
  13. What is a key-value store? | Aerospike, accessed September 6, 2025, https://aerospike.com/glossary/what-is-a-key-value-store/
  14. What Is A Key-Value Database? - MongoDB, accessed September 6, 2025, https://www.mongodb.com/resources/basics/databases/key-value-database
  15. www.cloudflare.com[1], accessed September 6, 2025, https://www.cloudflare.com/ru-ru/learning/cloud/what-is-blob-storage/#:~:text=A%20%22blob%2C%22%20which%20is,storage%20areas%20called%20data%20lakes.
  16. What is Azure Blob Storage? - LogicMonitor, accessed September 6, 2025, https://www.logicmonitor.com/blog/what-is-azure-blob
  17. Introduction to Azure Blob Storage - Microsoft Learn, accessed September 6, 2025, https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction
  18. About Blob (object) storage - Azure Storage, accessed September 6, 2025, https://docs.azure.cn/en-us/storage/blobs/storage-blobs-overview
  19. What is a block blob in azure and how is it different from object storage - Microsoft Learn, accessed September 6, 2025, https://learn.microsoft.com/en-us/answers/questions/1031660/what-is-a-block-blob-in-azure-and-how-is-it-differ
  20. What is BLOB? Azure BLOB storage & Features | Geek Culture - Medium, accessed September 6, 2025, https://medium.com/geekculture/what-is-a-blob-83e65f590694
  21. Object storage - Wikipedia, accessed September 6, 2025, https://en.wikipedia.org/wiki/Object_storage
  22. Are Azure "Block Blobs" an example of "block storage", "object storage", or (somehow) both?, accessed September 6, 2025, https://stackoverflow.com/questions/73857277/are-azure-block-blobs-an-example-of-block-storage-object-storage-or-som
  23. A Guide to Key-Value Databases | InfluxData, accessed September 6, 2025, https://www.influxdata.com/key-value-database/
  24. (PDF) Comparative Analysis of Object‐Based Big Data Storage ..., accessed September 6, 2025, https://www.researchgate.net/publication/378066788_Comparative_Analysis_of_Object-Based_Big_Data_Storage_Systems_on_Architectures_and_Services_A_Recent_Survey
  25. Spanner: The secret to Cloud Storage strong list consistency | Google Cloud Blog, accessed September 6, 2025, https://cloud.google.com/blog/products/gcp/how-google-cloud-storage-offers-strongly-consistent-object-listing-thanks-to-spanner
  26. Block vs File vs Object Storage - Difference Between Data Storage Services - AWS, accessed September 6, 2025, https://aws.amazon.com/compare/the-difference-between-block-file-object-storage/
  27. Amazon S3 Deep Dive: Fundamentals Explained - AWS, accessed September 6, 2025, https://aws.amazon.com/awstv/watch/65acaf1dec0/
  28. Data redundancy in your distributed relational database network - IBM, accessed September 6, 2025, https://www.ibm.com/docs/en/i/7.4.0?topic=dap-data-redundancy-in-your-distributed-relational-database-network
  29. Replication and Redundancy Techniques | Parallel and Distributed Computing Class Notes | Fiveable, accessed September 6, 2025, https://library.fiveable.me/parallel-and-distributed-computing/unit-10/replication-redundancy-techniques/study-guide/nt1DC1ndfzK2HJh2
  30. Diagramming System Design: Amazon S3 Storage System - Codesmith, accessed September 6, 2025, https://www.codesmith.io/blog/amazon-s3-storage-diagramming-system-design
  31. What Is Erasure Coding? - Pure Storage, accessed September 6, 2025, https://www.purestorage.com/knowledge/what-is-erasure-coding.html
  32. Erasure Coding in System Design - GeeksforGeeks, accessed September 6, 2025, https://www.geeksforgeeks.org/system-design/erasure-coding-in-system-design/
  33. Diving Deep on S3 Consistency | All Things Distributed, accessed September 6, 2025, https://www.allthingsdistributed.com/2021/04/s3-strong-consistency.html
  34. Cloud Storage consistency, accessed September 6, 2025, https://cloud.google.com/storage/docs/consistency
  35. What Is Immutable Data Storage for Backups? - NAKIVO, accessed September 6, 2025, https://www.nakivo.com/blog/immutable-storage/
  36. What Is Immutable Storage? - IBM, accessed September 6, 2025, https://www.ibm.com/think/topics/immutable-storage
  37. What is Object Storage? Architecture, Features, Pros & Cons, accessed September 6, 2025, https://objectfirst.com/guides/data-storage/what-is-object-storage/
  38. What is Immutable Storage? Benefits & Use Cases | Object First, accessed September 6, 2025, https://objectfirst.com/guides/immutability/immutable-storage/
  39. Distributed hash table - Wikipedia, accessed September 6, 2025, https://en.wikipedia.org/wiki/Distributed_hash_table
  40. What is a distributed hash table (DHT)? - Milvus, accessed September 6, 2025, https://milvus.io/ai-quick-reference/what-is-a-distributed-hash-table-dht
  41. Distributed Hash Tables (DHTs) - Tutorialspoint, accessed September 6, 2025, https://www.tutorialspoint.com/distributed-hash-tables-dhts
  42. DynamoDB Architecture | By Joud W. Awad | Medium, accessed September 6, 2025, https://medium.com/@joudwawad/dynamodb-architecture-5a38761501a7
  43. Understanding the Internal Architecture of Amazon DynamoDB | by Syed M. Shamail, accessed September 6, 2025, https://medium.com/@syedshamail3/understanding-the-internal-architecture-of-amazon-dynamodb-e9dccb8be8de
  44. B-Tree vs. LSM-Tree - ByteByteGo, accessed September 6, 2025, https://bytebytego.com/guides/b-tree-vs/
  45. [2507.09642] Rethinking LSM-tree based Key-Value Stores: A Survey - arXiv, accessed September 6, 2025, https://arxiv.org/abs/2507.09642
  46. Write throughput differences in B-tree vs LSM-tree based databases? - Reddit, accessed September 6, 2025, https://www.reddit.com/r/databasedevelopment/comments/187cp1g/write_throughput_differences_in_btree_vs_lsmtree/
  47. Revisiting B+-tree vs. LSM-tree - USENIX, accessed September 6, 2025, https://www.usenix.org/publications/loginonline/revisit-b-tree-vs-lsm-tree-upon-arrival-modern-storage-hardware-built
  48. What is the difference between a B+ tree and an LSM tree? Which one is better for search and indexing purposes, and under what conditions? - Quora, accessed September 6, 2025, https://www.quora.com/What-is-the-difference-between-a-B-tree-and-an-LSM-tree-Which-one-is-better-for-search-and-indexing-purposes-and-under-what-conditions
  49. Amazon DynamoDB - Wikipedia, accessed September 6, 2025, https://en.wikipedia.org/wiki/Amazon_DynamoDB
  50. What Is A Distributed Storage System - ScaleGrid, accessed September 6, 2025, https://scalegrid.io/blog/what-is-a-distributed-storage-system/
  51. Data Consistency Storage in the Cloud | ISC2 Article, accessed September 6, 2025, https://www.isc2.org/Insights/2021/10/data-consistency-storage-in-the-cloud
  52. AWS DynamoDB: Everything you need to know - N2W Software, accessed September 6, 2025, https://n2ws.com/blog/aws-cloud/amazon-dynamodb-latest
  53. Consistency Models in Distributed Systems | by Maneesh Chaturvedi - Medium, accessed September 6, 2025, https://medium.com/@codecraftspro/consistency-models-in-distributed-systems-7b01c88ef50a
  54. What are some common distributed database management systems? - Milvus, accessed September 6, 2025, https://milvus.io/ai-quick-reference/what-are-some-common-distributed-database-management-systems
  55. Redis Cluster Architecture | Redis Enterprise, accessed September 6, 2025, https://redis.io/technology/redis-enterprise-cluster-architecture/
  56. Key-Value Store System Design - EnjoyAlgorithms, accessed September 6, 2025, https://www.enjoyalgorithms.com/blog/design-key-value-store/
  57. [Answered] What is the difference between key-value store and object storage? - Dragonfly, accessed September 6, 2025, https://www.dragonflydb.io/faq/key-value-store-vs-object-storage
  58. Redis cluster specification | Docs, accessed September 6, 2025, https://redis.io/docs/latest/operate/oss_and_stack/reference/cluster-spec/
  59. Object vs. File vs. Block Storage: What's the Difference? | IBM, accessed September 6, 2025, https://www.ibm.com/think/topics/object-vs-file-vs-block-storage
  60. Key-Value Stores vs. Relational Databases: Performance & Use Cases | by Ahmet Soner, accessed September 6, 2025, https://ahmettsoner.medium.com/key-value-stores-vs-relational-databases-performance-use-cases-bcd95192ed04
  61. Key–value database - Wikipedia, accessed September 6, 2025, https://en.wikipedia.org/wiki/Key%E2%80%93value_database
  62. Understand data store models - Azure Architecture Center - Microsoft Learn, accessed September 6, 2025, https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/data-store-overview
  63. What is a data lake? - Cloudflare, accessed September 6, 2025, https://www.cloudflare.com/learning/cloud/what-is-a-data-lake/
  64. Ten Use Cases Where Object Storage Really Stands Out - Cloudian, accessed September 6, 2025, https://cloudian.com/blog/ten-use-cases-where-object-storage-really-stands-out/
  65. aws.amazon.com, accessed September 6, 2025, https://aws.amazon.com/nosql/key-value/#:~:text=You%20can%20use%20a%20key,stores%20to%20accelerate%20application%20responses.
  66. When to use a key-value data store vs. a more traditional relational DB? - Stack Overflow, accessed September 6, 2025, https://stackoverflow.com/questions/1500611/when-to-use-a-key-value-data-store-vs-a-more-traditional-relational-db
  67. Key-Value Stores vs Relational Databases - - The Iron.io Blog, accessed September 6, 2025, https://blog.iron.io/key-value-stores-vs-relational-databases/
  68. Why are key value pair noSQL db's faster than traditional relational DBs - Stack Overflow, accessed September 6, 2025, https://stackoverflow.com/questions/2354254/why-are-key-value-pair-nosql-dbs-faster-than-traditional-relational-dbs

Notice:Human's prompt, Datasets by Gemini-2.5-Pro-DeepResearch

---【本文完】---


👇阅读原文,查看历史文章,推荐PC端打开 💻(更新到 8.31)。


  1. http://www.cloudflare.com ↩
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档