【AWS】什么是Amazon DynamoDB(NoSQL数据库)
2025年07月15日
文章浏览:66
【AWS】什么是Amazon DynamoDB

Amazon DynamoDB 是一项由 Amazon Web Services (AWS) 提供的完全托管的 NoSQL 数据库服务。它被设计用于处理任意规模的、具有极低延迟的非关系型数据,适用于需要高性能、高可用性和可伸缩性的应用程序。


你可以把 DynamoDB 想象成一个“无限可扩展、超级快速的键值和文档存储”。它与传统的关系型数据库(如 MySQL、PostgreSQL)不同,不需要固定的表结构(Schema),这使得它在处理非结构化或半结构化数据时非常灵活,并且能够轻松应对从每天几个请求到每秒数百万个请求的流量。


Amazon DynamoDB 的典型用例

无服务器应用程序: 作为 AWS Lambda 函数的后端,提供高性能、低延迟的数据存储。


Web 和移动应用程序: 存储用户配置文件、会话数据、游戏状态、用户生成内容等,应对大规模并发用户。


游戏后端: 存储玩家数据、游戏状态、排行榜、物品清单等,满足高并发和低延迟要求。


物联网 (IoT): 存储来自传感器和设备的时序数据、设备状态等。


媒体和娱乐: 存储用户偏好、流媒体元数据、游戏分数等。


广告技术: 存储用户兴趣、广告位数据、实时竞价数据。


微服务架构: 为独立的微服务提供独立的、高性能的数据存储。


【AWS】什么是NoSQL

NoSQL数据库是为满足云计算的需求而设计的,它突破了传统关系型数据库对规模、性能、数据模型和数据分布的限制。

NoSQL (Not-only-SQL,不只是SQL) 数据库采用与关系型数据库不同的方式来存储、分布和获取数据。

最初,Facebook、Google和Amazon这样的互联网巨头希望能够在全球各地读写数据,并向数十亿用户提供高性能和高可用的保障,这就产生了对可伸缩性(scalable) 的数据管理系统的需求。于是他们创造并开始使用NoSQL。

现如今,大多数公司和组织都需要通过大型应用系统来满足用户的个性化需求。而NoSQL正是可以助其一臂之力的数据库技术。


NoSQL与关系型数据库

NoSQL和关系型数据库分别支持不同的应用需求,很多时候企业会同时使用这两种数据库来应对不同的使用场景。从技术的角度来说,区别这两者的主要标准包括:


NoSQL的优势

NoSQL数据库最初是为了支持以云端应用为目标的、去中心化的系统所设计。相比其它数据库管理系统,像Cassandra这样的NoSQL数据库通常有以下优势:

  • 持续的可用性:即使遭遇最为严重的基础设施故障,NoSQL数据库仍然能保持在线
  • 环球分布:不论身在何方,都能获取数据
  • 操作低延迟:满足绝大部分密集操作的云应用的反应时间
  • 线性拓展:可预见的扩展和收缩满足了当下及未来的云应用需求
  • 功能整体性:混合的工作内容和多种数据模型的紧密集成 (coherent integration) 和互用性 (interoperability)
  • 操作成熟性:为企业准备好的云应用数据管理系统
  • 低拥有成本:无需特殊硬件或附加软件

简单来说,

就是具有高性能,分布式,低端硬件要求的特点

如何使用NoSQL

从现实层面来讲,应该如何开始使用NoSQL并且落实你的首个应用呢?大致来说,有三种采用NoSQL数据库的方法。

  • 新应用:很多人从零开始使用NoSQL,是从将其应用到一个新的云服务开始的。这种方式避免了应用的重写和数据的迁移。
  • 扩编:有些人选择将现有的系统扩充,添加NoSQL的元素进去。通常这种情况发生在关系型数据库管理系统不能再满足应用程序的成长需求时,此时应用程序需要一个能满足更大的规模或是更好的可用性的系统来支持。
  • 完全替代:对于一直在烧钱的系统或者是由于并发性、数据速率和数据数量产生重大问题的系统,人们通常会使用NoSQL数据库完全替代原有的系统。


9种最常见的NoSQL使用场景

1、MongoDB,文档存储。

2、Cassandra,,宽列存储(Wide Column Store),一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。

3、Redis (Key-Value Store) 键值对存储。

4、Couchbase,是一个基于文档的NoSQL数据库,采用键值存储(Key-Value Store)模型。

5、Neo4j,是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。

6、亚马逊的DynamoDB,支持键值存储和文档存储。

7、Apache Hbase,宽列存储。

8、Elasticsearch,简称es,分布式搜索和分析引擎。

9、CouchDB,文档存储,是一个开源的面向文档的数据库管理系统,可以通过RESTful (JSON) API 访问。


常见的数据库系统

过去考试题

以下のAWSサービスのうち、ウェブアプリケーションのリアルタイムデータ処理と低レイテンシーアクセスに最適なNoSQLデータベースはどれですか?

  1. Amazon DynamoDB
  2. Amazon Relational Database Service(Amazon RDS)
  3. Amazon Simple Storage Service (Amazon S3)
  4. Amazon Neptune


正解はA: Amazon DynamoDBです。

Amazon DynamoDBは、AWSが提供する完全マネージド型のNoSQLデータベースサービスです。

高速で予測可能なパフォーマンス、シームレスなスケーラビリティ、そして低レイテンシーアクセスを特徴としており、ウェブアプリケーションのリアルタイムデータ処理に最適です。


D: Amazon Neptuneも正解ではありません。

Neptuneはグラフデータベースサービスで、複雑な関係性を持つデータの処理に適していますが、

一般的なウェブアプリケーションのリアルタイムデータ処理には、DynamoDBの方が適しています。


过去考试题

どのAWSサービスが柔軟なスキーマを持ち、ドキュメントデータモデルをサポートするデータベースを提供しますか?

  1. Amazon Redshift
  2. Amazon Aurora
  3. Amazon DynamoDB
  4. Amazon Relational Database Service (Amazon RDS)


Amazon DynamoDBは、柔軟なスキーマを持ち、ドキュメントデータモデルをサポートするNoSQLデータベースサービスです。一方、

Amazon Redshiftはデータウェアハウスサービス、

Amazon AuroraとAmazon RDSはリレーショナルデータベースサービスであり、これらは固定スキーマを必要とします。


过去考试题

Amazon DynamoDBはどのようなデータベースですか?

  1. スキーマレスで柔軟性が高く、スケーラビリティが高いNoSQLデータベース
  2. オープンソースで、リレーショナルデータベースに特化したデータベース
  3. 高速で予測可能なパフォーマンスを提供し、ペタバイト規模のデータセットに対応可能
  4. 非常にセキュアで、データベース内のすべてのデータが暗号化されている


Amazon DynamoDBは、スキーマレスで柔軟性が高く、スケーラビリティが高いNoSQLデータベースです。

B: DynamoDBはAmazonが提供するマネージドNoSQLサービスであり、オープンソースではありません。

またリレーショナルデータベースではなく、キーバリューストアです。


C: DynamoDBは高速で予測可能なパフォーマンスを提供しますが、ペタバイト規模のデータセットに対応可能というわけではありません。


D: DynamoDBはセキュアですが、データベース内のすべてのデータが自動的に暗号化されているわけではありません。データの暗号化は設定次第です。


过去考试题

あるユーザーは、AWS上で非リレーショナルデータベースを迅速に展開する必要があります。ユーザーは、基礎となるハードウェアやデータベースソフトウェアを管理したくありません。これを達成するためにどのAWSサービスを使用できますか?

  1. Amazon RDS
  2. Amazon Aurora
  3. Amazon DynamoDB
  4. Amazon Redshift


Amazon DynamoDBは、AWS上で提供されている本格的なNoSQLデータベースサービスです。ユーザーは基礎となるハードウェアやデータベースソフトウェアを管理する必要がなく、迅速に展開することができます。


A: Amazon RDSはリレーショナルデータベースサービスであり、問題文の要件に合致しません。


B: Amazon Auroraはリレーショナルデータベースエンジンであり、問題文の要件に合致しません。


D: Amazon Redshiftは、データウェアハウスサービスであり、非リレーショナルデータベースではありません。




参考文章

 https://zhuanlan.zhihu.com/p/315325223 

 https://zhuanlan.zhihu.com/p/872098979 


关注 收藏