@Rays
2017-03-19T12:14:15.000000Z
字数 1387
阅读 2369
Amazon
摘要: Amazon近期在一个博客帖子中宣布其NoSQL数据库DynamoDB服务做了改进,添加了DynamoDB中存储数据的过期时间(TTL)特性。这一特性允许根据时间阈值删除那些价值与日俱减的数据,可降低企业数据存储的开销。
作者: Kent Weare
正文:
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时,其它应了解的考虑包括:
查看英文原文: Amazon Adds Time to Live (TTL) Support to AWS DynamoDB