NoSQL数据库支持以灵活的模式存储数据,并兼容多种数据模型。这些数据库对开发人员来说相对容易使用,并且具有现代应用程序所需的高性能和功能。NoSQL AWS 数据库 能够存储海量数据,同时仍能提供低延迟。
作为 AWS 数据库产品的一部分,您可以从六种类型的 NoSQL 数据库以及各种托管和自我管理的数据库服务中进行选择。这些数据库服务旨在支持您的云原生工作负载,并与现有 AWS 资源顺利集成。
在本文中,您将了解:
NoSQL一词最初由卡洛·斯特罗齐于1998年提出,指代一种不使用SQL的开源关系型数据库。然后,在 2009 年,这个术语再次被用来泛指非关系型数据库。该术语既可表示“无SQL”,也可表示“不仅限于SQL”,具体取决于其应用对象数据库的构造方式。
NoSQL数据库的发展源于网络数据的增长,这种增长催生了对更快处理非结构化数据的需求。这些系统可以构建在分布式架构上,允许在数据源或用户附近进行可扩展性和处理,这意味着更快的速度。这对大数据的发展尤为重要,促使包括谷歌、脸书和推特在内的众多科技公司纷纷采用NoSQL系统。
您可以在 AWS 中选择六种类型的 NoSQL 数据库模型。
键值数据库允许您以键值对的形式存储数据,其中键为唯一标识符,值为数据内容。这提供了灵活的存储结构,因为值不分配给表,并且可以容纳任何数量或结构的数据。这些数据库可以管理大量数据或请求。键值数据库的应用场景包括游戏应用、电子商务系统以及高流量应用。
AWS 服务: Amazon DynamoDB
文档数据库的结构与键值数据库相似,区别在于键值以文档形式存储,这些文档采用标记语言编写,例如JSON、XML或YAML。您可以使用这些数据库通过链接文档来存储数据层次结构。文档数据库的应用场景包括用户档案、产品目录和内容管理。
AWS 服务: Amazon DocumentDB、DynamoDB
宽列数据库基于表结构,但不采用严格的列格式。行不需要在每列中都有值,并且可以组合包含不同数据格式的行和列的段。宽列数据库的应用场景包括路线优化、车队管理和工业维护应用。
AWS 服务: Amazon Keyspaces(适用于 Apache Cassandra)
图数据库的结构由边和节点的集合构成。节点是单个数据值,边是这些值之间的关系。这些数据库使您能够在有机网络而不是结构化表格中跟踪错综复杂的相关数据。图数据库的应用场景包括推荐引擎、社交网络和欺诈检测。
AWS 服务: Amazon Neptune
时间序列数据库将数据存储在按时间排序的数据流中。数据不是按值或 ID 排序,而是按元数据中包含的收集、摄取或其他时间戳的时间排序。这些数据库使您能够根据时间间隔管理和查询数据。时间序列数据库的应用场景包括工业遥测、DevOps以及物联网(IoT)应用。
AWS 服务: Amazon Timestream
分类账数据库基于日志,这些日志记录与数据值相关的事件。这些日志是透明、不可变的,可以进行加密验证,以证明数据的真实性和完整性。分类账数据库的应用场景包括银行系统、注册系统、供应链系统以及记录系统。
AWS 服务: Amazon Quantum Ledger Database (QLDB)
您可能仅根据所需数据库的类型来选择数据库服务。但是,在做出选择之前,了解 AWS 提供的服务的功能很有帮助。如果这些服务无法提供您所需的功能或能力,您可以转而寻找第三方解决方案。
Amazon DynamoDB 是一种文档和键值数据库。它是一项完全托管的服务,包括备份和还原、内存缓存、安全和多区域、多主机分发等功能。DynamoDB 默认支持原子性、一致性、隔离性、持久性(ACID)事务以及加密功能。
Amazon ElastiCache 是一种内存数据存储服务,可替代基于磁盘的数据库使用。它为 Memcached 和 Redis 提供完全托管的支持,并支持使用内存分片进行扩展。该系统专为支持亚毫秒级响应时间而设计,通常用于队列管理、实时分析、缓存存储和会话存储。
Amazon Neptune 是一种图形数据库服务,经过全面管理和优化,可存储数十亿关系的数据。它支持一系列图模型和查询语言,包括 W3C 的 RDF、属性图、SPARQL 和 TinkerPop Gremlin。
Neptune 包括用于时间点恢复、多区域数据复制、连续备份和读取副本的功能。它支持 ACID 事务,并提供传输中和静态加密。
Amazon Timestream 是一个完全托管的时间序列数据库,具有自适应查询处理引擎。它是一种无服务器服务,可自动为您管理硬件和软件维护和配置。
Timestream 包括自动数据压缩、分层、保留和汇总功能。它还包括用于数据近似、平滑和插值的内置分析。
Amazon QLDB 是一个分类账数据库,可用于跟踪数据更改。它经过全面管理,旨在使您能够避免使用关系数据库或区块链管理分类账数据所需的复杂设置。
QLDB 提供类似 SQL 的 API、完整的事务支持和灵活的文档数据模型。它包括自动扩展、ACID 兼容事务、多区域可用性和 Kinesis Data Streams 数据流的功能。
Amazon DocumentDB 是一款完全托管的文档数据库,兼容 MongoDB。DocumentDB 架构将计算和存储资源分开,以提高可扩展性和灵活性。该方案还支持最多15个读副本,通过跨三个可用区的数据复制实现持久性,并可免费使用AWS数据库迁移服务。
Amazon Keyspaces 是一款托管的宽列数据库,兼容 Apache Cassandra。您可以使用它来迁移 Cassandra 工作负载和应用程序,并继续使用 Cassandra 本机代码和工具。它包含自动扩展功能,并允许您在按需资源和预配置资源之间进行选择。
NetApp Cloud Volumes ONTAP,领先的企业级存储管理解决方案,在 AWS、Azure 和 Google Cloud 上提供安全、经过验证的存储管理服务。Cloud Volumes ONTAP 支持高达 368 TB 的容量,并支持各种用例,如文件服务、数据库、DevOps 或任何其他企业工作负载,具有强大的功能集,包括高可用性、数据保护、存储效率、Kubernetes 集成等。
特别是,Cloud Volumes ONTAP 有助于解决云中的数据库工作负载挑战,并填补基于云的数据库功能与其运行的公共云资源之间的空白。
Cloud Volumes ONTAP 支持用于管理云中 SAN 存储的高级功能,可满足 NoSQL 数据库系统的需求,以及可直接从云大数据分析集群访问的 NFS 共享。
此外,内置的存储效率功能对云部署中的 NoSQL 成本产生直接影响。快照和数据克隆等功能提供的数据保护和灵活性使 NoSQL 数据库管理员和大数据工程师能够有效管理大量数据。