写点什么

Amazon 提升了 DynamoDB NoSQL 数据库对 JSON 的支持

  • 2014-11-02
  • 本文字数:1621 字

    阅读完需:约 5 分钟

上周,Amazon Web Service 团队对他们的 DynamoDB NoSQL 数据库服务进行了更新。这次更新改善了 DynamoDB 对 JSON 的支持,提高了 DynamoDB 的可扩展性,并且增加了免费用量。开发者现在不仅拥有 25GB 的免费存储空间,还可以使用 AWS SDK 对较大的 JSON 文档进行存储、索引、查询和更新。

AWS发表了一篇博文,表明了他们对DynamoDB 的想法——传统上是一个面向键-值的NoSQL 存储,现在具有了类似 MongoDB 的,面向文档存储的功能。

AWS SDK__ 包含了这种新型面向文档支持的实现,并且在实现中利用到了一些 __DynamoDB__ 的新数据类型。对文档的支持(目前可使用的有:Java.NETRuby__ 的 __SDK,以及基于浏览器的 __JavaScript SDK__ 的一个扩展)简化了一些操作,如将 __JSON__ 数据或者本地语言对象映射成 __DynamoDB__ 原生数据类型,以及支持基于文档结构的查询。

通过这次更新,DynamoDB__ 已经是一个完整的 __ 面向文档的存储。通过使用 __AWS SDK,开发者可以容易地将 __JSON__ 文档存储在 __DynamoDB__ 表中,并保留原文档的复杂结构和可能的嵌套_“形状。通过构建一层非常薄的转化层,新的数据类型也可以用于存储其他结构化的格式,如 __HTML__ 或者 __XML。_

不同语言的 AWS SDK 实现这种新能力的方式是不一样的。应该注意的是,AWS 只使用 JSON 作为一个传输协议,并不会将数据本身存储为JSON 文档 Java SDK 支持直接将 JSON 格式的字符串加载成一条 DynamoDB 数据库记录,而.NET SDK 要求开发者使用(更新过的)对象模型来构建一个文档。除了为对象模型提供 Number、String 和 Binary 数据类型,AWS 还引入了新的面向文档的数据类型:List 和 Map。List 是一个“有序的集合,类似于一个 JSON 数组”。Map 是一个“无序的、名字-值对的集合,类似于一个 JSON 对象”。

一篇博文中,AWS CTO Werner Vogels 追溯了 DynamoDB 的历史,并承认缺乏 JSON 的支持对开发者所产生的影响。

DynamoDB__ 从一开始就支持 __ 存储 __JSON__ 文档,但是除了存储和获取这两个操作之外再要进行其他的文档操作是非常困难的。开发者无法直接访问一个 __JSON__ 文档中深度嵌套的属性,而缺少深度嵌套属性的可见性将剥夺开发者使用 __DynamoDB__ 一些特殊能力的机会。

迄今为止,若想要存储和查询 __JSON_,开发者有两个选择:__a)__ 快速开发的法子是将无法识别的 __JSON__ 数据块直接插入 __DynamoDB__ 中;或者 __b)_将 __JSON__ 对象分解成属性,而这要求额外的编程工作和一些事先的考虑。

DynamoDB 新提供的 JSON 能力不仅可用于存储文档,也可用于查询文档。尽管用户可以通过 AWS UI 控制台查看 JSON 文档,但开发者更感兴趣的是通过 SDK 获取及更新整个或部分文档的能力。AWS 将文档大小的限制从64KB 扩大到400KB,并且放松了比例的限制,用户在单一操作中对“capacity units”的量不仅可以做翻倍或者减半的操作,还可以做其他比例的变更操作。Amazon 也增加了DyamoDB 可免费使用的容量:相比过去100MB 存储空间和10 个读 capacity units ,DynamoDB 用户现在可以免费获得 25GB 的存储空间和 25 个读 / 写 capacity units。根据 AWS 的说明,这已足够用于“运行一个支持 15,000 位用户的手机游戏,或者运行一个日展现 500,000 次的广告技术平台”。

开发者对 JSON 友好的应用服务的需求在不断地增加,这次 AWS 的更新很可能是一个响应。如GigaOm 所报道的,这是一个从成熟的服务(如MongoDB)以及Google 和 Microsoft 新提供的服务手中夺取势头的机会。也许是对这些正在解决大规模问题的 NoSQL 产品进行了仔细调研,Vogels 宣称“现在,开发者不必在优化了扩展性和优化了灵活性的数据存储之间进行选择了。”

查看英文原文: Amazon Boosts JSON Support in DynamoDB NoSQL Database


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-11-02 13:222474

评论

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

如何在 KubeBlocks 中配置实例模板?

小猿姐

数据库 Kubernetes 云原生

云上集成时序数据库 IoTDB,海量储能数据实现高效处理与实时分析

Apache IoTDB

Match:重塑社交金融格局,打造财富增长新引擎

BlockChain先知

机器人测试自动化智能化交流沙龙 —— 免费参与,线上线下同步进行,探索未来科技新篇章!

测吧(北京)科技有限公司

测试

如何解决跨国视频会议卡顿问题

Ogcloud

网络加速 海外网络加速 网络加速服务 视频会议加速

解锁RFG空投:撸毛党看过来,轻松获利的机会来了!

石头财经

报告称2024年上半年DDoS攻击数量激增,同比增长46%

网络安全服务

游戏 金融 电商 DDoS DDoS 攻击

Bonree ONE 3.0:全域可观测 运维新境界

博睿数据

深入浅出python的lambda表达式

我再BUG界嘎嘎乱杀

Python 编程 后端 开发语言 Lambda表达式

使用对比!SLS 数据加工 SPL 与旧版 DSL 场景对照

阿里巴巴云原生

阿里云 云原生 sls

RFG引领Meme新趋势——为何现在仍是投资好时机?

股市老人

AI作文导师、一键搜索答疑、1秒生成手抄报,百度搜索推出开学季AI大礼包

极客天地

第64期 | GPTSecurity周报

云起无垠

iPaaS丨API低代码平台适用的业务场景

RestCloud

API 低代码平台 ipaas

【AI 冰封挑战】搭档函数计算,“冰”封你的夏日记忆

阿里巴巴云原生

阿里云 Serverless 云原生

华为云构建边缘云平台,畅享AI数字时代新体验

最新动态

讯飞星火极速超拟人交互技术:语音端到端,8 月底开放;昆仑万维发布 AI 短剧平台 SkyReels丨RTE 开发者日报

声网

四旋翼无人机到底是如何平稳飞行的?巧用空气动力学仿真

Altair RapidMiner

人工智能 无人机 仿真 altair 设计仿真

通过 API 集成优化货币兑换

幂简集成

API 货币兑换API

豆瓣评分8.7!Python pandas创始人亲码的数据分析入门手册!

我再BUG界嘎嘎乱杀

Python 编程 数据分析 后端 pandas

为什么要使用TikTok云手机

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 tiktok运营

在孩子成长路上,爱与智慧的陪伴是送给孩子最好的礼物

心大陆多智能体

AI大模型 心理健康 数字心理

百度智能云计算系列产品通过电子标准院算力服务成熟度增强级评估

Baidu AICLOUD

机器人测试自动化智能化交流沙龙 —— 免费参与,线上线下同步进行,探索未来科技新篇章!

霍格沃兹测试开发学社

编程“奥斯卡”落幕,百度之星决赛中学生疯狂收割大奖!

herosunly

MySQL主从同步如何保证数据一致性?

王磊

Java

如何通过观测云实现AIOps突破?

观测云

AIOPS 智能运维

利用多Lora节省大模型部署成本|得物技术

得物技术

LoRa 大模型 企业号2024年8月PK榜

Amazon提升了DynamoDB NoSQL数据库对JSON的支持_亚马逊云科技_Richard Seroter_InfoQ精选文章