开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第28天,点击查看活动详情
1)DynamoDB分区键、排序键的理解
1.1 分区键
在我们建表时,会让我们指定分区建:
那分区键的作用是什么呢?这里给大家举一个例子说明:
比如现在有这样一个身份证号:210122199206140257,从这个身份证号就能快速的知道这是一位来自辽宁省、沈阳市.、辽中县的一名29岁男生。 身份证格式规则说明:前1-6位为行政区划代码即归属地,第7-14位为出生年月日,第15-17位为顺序代码,在同一个地区出生同一个出生的人通过顺序号码区分,第17位奇数表示男性,偶数表示女性,第18位为校验码,用于校验身份证号码是否合法。 而DynamoDB的分区键也有同样的作用,通过指定标识来对数据分区,这样查询数据会显著提高。
1.2 排序键
排序键可以让将我们的数据按指定的排序存储,在后续获取数据的时候就能够通过二分查找的方式来降低查询的时间复杂度。
2)DynamoDB的二级索引
在诸如Mysql之类的关系型数据库中,通过建立索引能够让我们在查想要数据时,不对全表进行扫描而是通过索引查询指定行范围的数据,这样有更快的速度。创建索引后,我们再修改表的数据,数据库会自动更改索引来映射表的修改,无需我们手动操作。
在dynamodb中如何实现类似的操作呢?
我们可以创建二级索引来实现类似的目的,DynamoDB的索引和oracle,mysql这些关系式数据库的索引有很大不同。DynamoDB的二级索引是由一个hash键和多个range键所组成的,它对支持应用程序需要的查询模式至关重要,关于DynamoDB索引的使用和介绍可以访问管理索引文档进行学习。
3)DynamoDB的备份和还原
数据备份和回滚恢复是至关重要的,DynamoDB具有完全自动化的按需备份、还原和时间点恢复的能力:
另外,在备份的同时,也会对数据自动加密,编入目录,来提高管理的效率,我们可以在表详情页中的备份选项卡进行备份设置的操作:
也可以按需创建一次性备份:
大家也可以访问 云原生数据库在线大会 了解数据库发展历史,及未来发展方向等。