写点什么

Amazon 在 AWS DynamoDB 中添加了对过期时间(TTL)特性的支持

  • 2017-03-20
  • 本文字数:1106 字

    阅读完需:约 4 分钟

Amazon 近期在一个博客帖子中宣布其 NoSQL 数据库 DynamoDB 服务做了改进,添加了 DynamoDB 中存储数据的过期时间(TTL,Time To Live)特性。这一特性允许根据时间阈值删除那些价值与日俱减的数据,可降低企业数据存储的开销。

可扩展的无服务器数据库服务在广告、游戏、物联网以及对低延迟数据访问有需求的应用中具有广泛的用例。Lyft 就是 Amazon推销的一个用例,它通过迁移到 DynamoDB 实现了 GPS 数据的持久化,进而在驾驶位置跟踪系统(Ride Location Tracking System)中使用。

对于在应用中存在短期数据波涌的企业,一个挑战是如何处理数据滞留问题。例如,虽然 GPS 追踪数据在驾车当时是非常有用的,但是这些数据的价值与日俱减。对企业而言,长期存储这些数据会增加开销负担。

现在企业可以通过使用新的 TTL 特性设置一个时间阈值,数据一旦达到过期时限就会被自动删除。AWS 的首席布道师 Jeff Barr解释了 TTL 特性的工作机制:

该特性可以逐表启用。启用时只需为表项指定一个包含了过期时间的属性。一旦设置了属性并启用了 TTL 管理(这两个操作都可以通过一个 API 实现),DynamoDB 将会查找并删除过期的条目。这个过程是在后台自动执行的,并不会影响到表的读取和写入操作。

开发人员和管理员可以通过 AMS 管理平台(Management Console)设置 TTL 属性,属性值使用了 DynamoDB Number 格式,解释为 Unix 新纪元时间(Epoch Time)系统中的秒值。TTL 阈值可以从 AWS 的命令行接口(CLI,Command Line Interface)调用 update-time-to-live 命令更改,也可以在代码中调用 UpdateTimeToLive 函数更改。

图片来源: https://aws.amazon.com/blogs/aws/new-manage-dynamodb-items-using-time-to-live-ttl/

由于 TTL 而过期的表项可以被移动到冷存储(Cold Storage),或是使用 AWS Lamda 和 DynamoDB 触发器更新到其它的 DynamoDB 中。还可以使用 DynamoDB 流处理,或是直接删除掉。

在使用 DynamoDB TTL 时,其它应了解的考虑包括:

  • TTL 属性可以在新的表或已有的表上应用,但是不能用作 JSON 文档的元素,因为该属性必须是 DynaomoDB Number 类型。
  • 管理员能通过 AWS Identity and Access Management(IAM)管理对 TTL 属性的访问。
  • 使用 TTL 属性并不会降低数据服务的性能,因为扫描和删除是在后台执行的。
  • 使用 TTL 不需要支付额外的费用。客户只需为表项被删除前所占用的存储付费。
  • TTL 特性于 2017 年 2 月 27 日可用。

查看英文原文: Amazon Adds Time to Live (TTL) Support to AWS DynamoDB


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-03-20 19:002578
用户头像

发布了 227 篇内容, 共 86.7 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

标新立异的日志归档:用更少的内存归档大规模测试日志

陈磊@Criss

环信助力OFashion迷橙开辟海外直播带货新通路

DT极客

架构师0期Week10作业1

Nan Jiang

架构师0期Week10作业2

Nan Jiang

第十周.命题作业

刘璐

什么是死信队列

Java旅途

RabbitMQ

作业二

Kiroro

作业一

Kiroro

python判断文件和文件夹是否存在、创建文件夹

陈磊@Criss

架构师训练营第十周总结

Hanson

22种超全用户触点采集,易观方舟SDK又更新了

易观大数据

高中生写LOL外挂1年狂赚500万,落网前刚买下120万保时捷...

程序员生活志

编程 程序员 外挂

第十周.总结

刘璐

欲速也可达:Battle接口测试训练系统的1分钟快速说明

陈磊@Criss

Clover:解决Java8和Cobertura的问题以及解决方法

陈磊@Criss

该了解一波了!零基础入门Nginx

程序员的时光

nginx Docker

推荐Scrum书籍

Bob Jiang

Scrum 敏捷

5G从小就梦想着自己要迎娶:高速率、低时延、大容量三个老婆

华为云开发者联盟

5G IoT 通信 华为云 NB-IoT

如何有效防止sql注入

Java旅途

两数之和

书旅

数据结构 算法 数据结构与算法

看DLI服务4核心如何提升云服务自动化运维

华为云开发者联盟

Serverless 运维 运维自动化 华为云 DLI

架构师培训第10周练习

小蚂蚁

PIP的报错Could not fetch URL https://pypi.org/

陈磊@Criss

架构师训练营第十周作业

Hanson

吴桐:数字货币具有稳定的避险性吗

CECBC

区块链 数字货币 链政经济

Web前端性能优化,应该怎么做?

华为云开发者联盟

运维 大前端 HTTP js

弹性计算的内部概念:弹性扩张、弹性收缩、弹性自愈

陈磊@Criss

Grafana和ES打造的Nginx的仪表盘

陈磊@Criss

jmeter 执行python脚本

陈磊@Criss

一文熟悉MySQL索引

书旅

MySQL 索引

原创 | 使用JPA实现DDD持久化-R:数据的世界

编程道与术

Java hibernate DDD JDBC jpa

Amazon在AWS DynamoDB中添加了对过期时间(TTL)特性的支持_数据库_Kent Weare_InfoQ精选文章