写点什么

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:222292

评论

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

为什么说华为云CDN更值得选择?

爱尚科技

Wallys/MIMO/Industrial-grade/2x 2 900M high powerRadio /902-928Mhz/AR9223/ AR9582/AR9531/AR9344/

Cindy-wallys

作业2:微信朋友圈的高性能复杂度

白杨

欧盟森林砍伐法规和合规性:使用 Dimitra 技术解决森林砍伐问题

股市老人

智能勘探 | AIRIOT智慧油田管理解决方案

AIRIOT

物联网 智慧油田

Go Ubuntu 安装 gvm:Go 版本管理工具

非晓为骁

Go ubuntu 版本管理工具 gvm

为什么 APISIX Ingress 是比 Traefik 更好的选择?

API7.ai 技术团队

云原生 APISIX Ingress Controller Kubernetes Serverless

从全球顶级数据库大会 SIGMOD 看数据库发展趋势

NebulaGraph

数据库 图数据库 技术演变

学习无代码开发工具有什么用?

间隔

微信小程序 无代码开发

数据治理:数据集成架构的演进

用友BIP

华为云CDN为芒果TV加速,打造丝滑“追剧观综”的观看体验

爱尚科技

AI 训练加速原理解析与工程实践分享

Baidu AICLOUD

异构计算 云原生AI 百度百舸

从零开始,开启属于你的 RTE 漫游之旅!丨漫游指南 x 即将启航

声网

音视频

什么样的技术,能让黄河开口说话?

白洞计划

阿里云斩获2022全球分布式云大会两项大奖

云布道师

阿里云

哈啰出行高质量故障复盘法:“3+5+3”(附模板)

TakinTalks稳定性社区

当 Amazon Lambda 遇上 Apache APISIX 可以擦出什么火花?

API7.ai 技术团队

微服务 AWS API Gateway APISIX 网关

数据也能开口说话?这次汇报,老板疯狂给我点赞

图灵社区

数据分析 可视化 图表

华为云CDN,助力电商平台无惧流量洪峰

IT科技苏辞

【附下载】政企数智办公平台研究报告,何以数智化?

融云 RongCloud

数智化 百幄

南开大学团队采用全场景AI框架昇思MindSpore,打造“皮肤病大规模可信综合辅助诊断系统”

Geek_2d6073

天花板级别ZooKeeper+Dubbo笔记,通俗易懂,颠覆认知

小小怪下士

Java zookeeper dubbo

华为云CDN,为企业提供极致低时延用户体验

IT科技苏辞

以英雄之名为S9总决赛助攻!虎牙直播and华为云CDN,team work才会赢

爱尚科技

华为云CDN通过全站加速引领网站性能全面优化

爱尚科技

华为云CDN,助力中小企业提升用户体验

IT科技苏辞

华为云CDN,为企业内容加速打开新局面!

IT科技苏辞

华为云CDN节点扩增力度加大,构建全球智能边缘网络

爱尚科技

国产时序数据库TDengines学习调研及总结

李草凯

我们是如何构建自己的可观测性的

观测云

云计算 可观测性 云服务 观测云

数据也能开口说话?这次汇报,老板疯狂给我点赞

图灵教育

数据分析 可视化 图表

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