【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
从现实层面来讲,应该如何开始使用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データベースはどれですか?
正解はA: Amazon DynamoDBです。
Amazon DynamoDBは、AWSが提供する完全マネージド型のNoSQLデータベースサービスです。
高速で予測可能なパフォーマンス、シームレスなスケーラビリティ、そして低レイテンシーアクセスを特徴としており、ウェブアプリケーションのリアルタイムデータ処理に最適です。
D: Amazon Neptuneも正解ではありません。
Neptuneはグラフデータベースサービスで、複雑な関係性を持つデータの処理に適していますが、
一般的なウェブアプリケーションのリアルタイムデータ処理には、DynamoDBの方が適しています。
过去考试题
どのAWSサービスが柔軟なスキーマを持ち、ドキュメントデータモデルをサポートするデータベースを提供しますか?
Amazon DynamoDBは、柔軟なスキーマを持ち、ドキュメントデータモデルをサポートするNoSQLデータベースサービスです。一方、
Amazon Redshiftはデータウェアハウスサービス、
Amazon AuroraとAmazon RDSはリレーショナルデータベースサービスであり、これらは固定スキーマを必要とします。
过去考试题
Amazon DynamoDBはどのようなデータベースですか?
Amazon DynamoDBは、スキーマレスで柔軟性が高く、スケーラビリティが高いNoSQLデータベースです。
B: DynamoDBはAmazonが提供するマネージドNoSQLサービスであり、オープンソースではありません。
またリレーショナルデータベースではなく、キーバリューストアです。
C: DynamoDBは高速で予測可能なパフォーマンスを提供しますが、ペタバイト規模のデータセットに対応可能というわけではありません。
D: DynamoDBはセキュアですが、データベース内のすべてのデータが自動的に暗号化されているわけではありません。データの暗号化は設定次第です。
过去考试题
あるユーザーは、AWS上で非リレーショナルデータベースを迅速に展開する必要があります。ユーザーは、基礎となるハードウェアやデータベースソフトウェアを管理したくありません。これを達成するためにどのAWSサービスを使用できますか?
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