热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

DynamoDB全局二级索引本地二级索引

全局二级索GlobalSecondaryIndexes引包含从基表中选择的一组属性,但是这些属性按与表主键不同的主键进行排列。其分区键和排序键可以与基表上的分区键和排

全局二级索

Global Secondary Indexes 引包含从基表中选择的一组属性,但是这些属性按与表主键不同的主键进行排列。其分区键和排序键可以与基表上的分区键和排序键不同的索引。全局二级索引被视为“全局”,是因为对索引执行的查询可以跨基表中所有分区的所有数据。

 

本地二级索引

local secondary index 为给定分区键值维护一个替代排序键。local secondary index还包含其基表中部分或所有属性的副本;您可以在创建表时指定要投影到local secondary index中的属性。local secondary index中的数据通过与基表相同的分区键来组织,但使用不同的排序键。

分区键与基表相同、但排序键不同的索引。local secondary index的含义是“本地”,表示local secondary index的每个分区的范围都将限定为具有相同分区键值的基表分区。

为获得最大查询灵活性,您可以为每个表创建多达 20 个全局二级索引(默认限制)和多达 5 个local secondary index。

全局二级索引与local secondary index的主要差异:

 

特征全局二级索引本地二级索引
键架构全局二级索引的主键可以是简单主键(分区键)或复合主键(分区键和排序键)。local secondary index的主键必须是复合主键(分区键和排序键)。
键属性索引分区键和排序键 (如果有) 可以是字符串、数字或二进制类型的任何基表属性。索引的分区键是与基表的分区键相同的属性。排序键可以是字符串、数字或二进制类型的任何基表属性。
每个分区键值的大小限制全局二级索引没有大小限制。对于每个分区键值,所有索引项目的大小总和必须为 10GB 或更小。
在线索引操作您可以在创建表时创建Global secondary index。您也可以向现有表添加新全局二级索引,或者删除现有全局二级索引。有关更多信息,请参阅管理全局二级索引。本地二级索引是在创建表的同时创建的。您不能向现有表添加local secondary index,也不能删除已存在的任何local secondary index。
查询和分区通过全局二级索引,可以跨所有分区查询整个表。借助local secondary index,您可以对查询中分区键值指定的单个分区进行查询。
读取一致性对全局二级索引进行的查询仅支持最终一致性。查询local secondary index时,您可以选择最终一致性或强一致性。
预置吞吐量使用每个全局二级索引都有自己的用于读取和写入活动的预置吞吐量设置。对全局二级索引执行的查询或扫描会占用索引 (而非基表) 的容量单位。全局二级索引更新也是如此,因为会进行表写入。对local secondary index执行的查询或扫描会占用基表的读取容量单位。向表写入时,其local secondary index也会更新;这些更新会占用基表的写入容量单位。
投影属性对于全局二级索引查询或扫描,您只能请求投影到索引的属性。DynamoDB 不会从表中获取任何属性。如果您查询或扫描local secondary index,则可以请求未投影到索引的属性。DynamoDB 会自动从表中获取这些属性。

转:https://www.cnblogs.com/cloudrivers/p/11424928.html



推荐阅读
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • QBlog开源博客系统:Page_Load生命周期与参数传递优化(第四部分)
    本教程将深入探讨QBlog开源博客系统的Page_Load生命周期,并介绍一种简洁的参数传递重构方法。通过视频演示和详细讲解,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文探讨了如何像程序员一样思考,强调了将复杂问题分解为更小模块的重要性,并讨论了如何通过妥善管理和复用已有代码来提高编程效率。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 火星商店问题:线段树分治与持久化Trie树的应用
    本题涉及编号为1至n的火星商店,每个商店有一个永久商品价值v。操作包括每天在指定商店增加一个新商品,以及查询某段时间内某些商店中所有商品(含永久商品)与给定密码值的最大异或结果。通过线段树分治和持久化Trie树来高效解决此问题。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 本文总结了汇编语言中第五至第八章的关键知识点,涵盖间接寻址、指令格式、安全编程空间、逻辑运算指令及数据重复定义等内容。通过详细解析这些内容,帮助读者更好地理解和应用汇编语言的高级特性。 ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • Ulysses Mac v29:革新文本编辑与写作体验
    探索Ulysses Mac v29,这款先进的纯文本编辑器为Mac用户带来了全新的写作和编辑环境。它不仅具备简洁直观的界面,还融合了Markdown等标记语言的最佳特性,支持多种格式导出,并提供强大的组织和同步功能。 ... [详细]
author-avatar
多米音乐_35794462
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有