2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:002500
用户头像

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

关注

评论

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

主流分布式文件系统总结

跳蚤

第11周课后练习-安全稳定

潘涛

架构师训练营 4 期

Ubuntu 日常使用问题及解决

依旧廖凯

28天写作 3月日更

宣传

Ashley.

思呓(2)

型火🔥

学习 架构 分布式 解耦

Wireshark数据包分析学习笔记Day18

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

How to Connect 2 Cisco Switches Together

心在飞

基于数组或链表实现Map

Silently9527

数据结构和算法

LiteOS:剖析时间管理模块源代码

华为云开发者联盟

时间管理 时间 LiteOS huawei 任务

登陆用户身份获取

程序员架构进阶

架构设计 认证授权 28天写作 3月日更

javax.imageio.IIOException: Unsupported Image Type

wjchenge

Gradle无法访问Nexus私服仓库-offline

wjchenge

翻译:《实用的Python编程》07_02_Anonymous_function

codists

Python

MongoDB中的正则表达式

Kylin

mongodb 3月日更 21天挑战

在深圳,看见大鲸跃起的浪潮

工业互联网

开源与商业产品

ES_her0

3月日更

mybatis 添加日志功能

xiezhr

mybatis 日志

《Redis 核心技术与实战》学习笔记 06

escray

redis 学习 28天写作 3月日更 Redis 核心技术与实战

与前端训练营的日子 -- Week20

SamGo

学习

JVM - GC 问题分析常用两大指标

insight

3月日更

线上问题的一点反思

风翱

复盘 3月日更 线上问题

在你所在的公司(行业、领域),正在用大数据处理哪些业务?可以用大数据实现哪些价值?

跳蚤

uni-app跨端开发H5、小程序、IOS、Android(五):uni-app数据绑定

程序员潘Sir

html5 微信小程序 uni-app iOS Developer 3月日更

树集合总结

我是程序员小贱

3月日更

字符编码,原来是SQL不走索引的元凶之一!

Java小咖秀

MySQL 程序员 开发 bug 细节

翻译:《实用的Python编程》07_03_Returning_functions

codists

Python

Swagger增强神器:Knife4j!用它轻松实现接口搜索、Word下载、接口过滤...

王磊

Java swagger Knife4j

产品经理面试常见问题总结2

lenka

3月日更

深入剖析 | Java16语法特性

九叔(高翔龙)

Java 架构

寻找被遗忘的勇气(二十一)

Changing Lin

3月日更

ES6中的新特性:Iterables和iterators

程序那些事

nodejs ES6 程序那些事

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