写点什么

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

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

关注

评论

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

CODING 带你看腾讯新闻 7 日 DevOps 实践

CODING DevOps

DevOps CODING 腾讯新闻

10年阿里开发架构师经验分享:掌握这个提升路径

欢喜学安卓

android 程序员 面试 移动开发

2021Android面经:算法题+JVM+自定义View

欢喜学安卓

android 程序员 面试 移动开发

用户体验

Ryan Zheng

pha挖矿/phala挖矿APP系统开发内容

多项目同时进行如何做好项目管理?

万事ONES

WICC 2021召开在即 清华大学教授将分享AI+网络音视频服务研究

融云 RongCloud

WorkPlus高端制造行业数字化解决方案—华晨宝马

BeeWorks

开源 即时通讯 IM 案例分享 汽车

面向编程式多云管理服务时代的华为云MCP多云跨云的容器治理与实践

华为云开发者联盟

容器 云原生 华为云 多云 跨云

测试开发之网络篇-常用命令

禅道项目管理

Linux 命令行

用中国话学this指向(旧知识新讲)

加百利

JavaScript 大前端 this 7月日更

如何利用云原生技术构建现代化应用

阿里巴巴中间件

云计算 阿里云 云原生 中间件

一名老党员,申请入驻~

正儿八经的仙儿

毕业季offer怎么拿?收下这份非典型求职面试指南

华为云开发者联盟

面试 职业规划 求职 毕业季 大学生

永续合约交易所搭建,合约平台开发

手写链表之LinkedList源码分析

Ayue、

数据结构

Camtasia实用技巧之时间轴

淋雨

视频剪辑 录屏软件 Camtaisa

见康乘拼团软件开发|见康乘拼团系统APP开发

Redisson 分布式锁源码 07:公平锁释放

程序员小航

Java redis 源码 分布式锁 redisson

一个完整的项目管理流程包括什么?

万事ONES

项目管理 ONES

FIL矿机多少钱一台 ?FIL挖矿成本是多少?

2021 WAIC | EMQ 映云科技:面向云原生的云边协同物联网解决方案

EMQ映云科技

云原生 云端 端边云协同架构 边云协同

小白也能看懂的Java内存模型

程序猿阿星

JMM Java内存模型 原子性 有序性 可见性;

互斥锁Mutex:鸿蒙轻内核中处理临界资源独占的“法官”

华为云开发者联盟

鸿蒙 OpenHarmony 鸿蒙轻内核 互斥锁Mutex 临界资源

WorkPlus房地产行业数字化解决方案—富力地产

BeeWorks

开源 远程办公 即时通讯 IM

pha分币APP系统开发资料

Fil和BTC有什么区别?Filecoin挖矿的行情如何?

IPFS BTC fil fil币

原来这就是Java IO啊····

华为云开发者联盟

Java 操作系统 进程 IO流 Java IO

如何对开发团队的人员进行绩效管理?

万事ONES

研发效能 ONES 绩效管理

智汇华云|华云数据ArSDN:自主可控的SDN

华云数据

Go 学习笔记之 Slice

架构精进之路

7月日更

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