写点什么

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

评论

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

Android APK反编译就这么简单 详解(附图),字节跳动大神讲座

android 程序员 移动开发

android Jetpack Navigation组件——堆栈操作和动画效果

android 程序员 移动开发

Android Jsoup:实现HTML解析和Epub解析,论程序员成长的正确姿势

android 程序员 移动开发

android LifeCycle-简单使用和详细原理解析,2021大厂Android面试经历

android 程序员 移动开发

Android Material Design尝鲜,阿里P8面试官都说太详细了

android 程序员 移动开发

Android - 在线浏览源码,电话短信相关,文本变化监听器

android 程序员 移动开发

Android 8 通知渠道(Notification Channels),美团移动端开发工程师

android 程序员 移动开发

Android Launcher——ui框架,嵌入式音视频方向

android 程序员 移动开发

android activity Intent 传值 传对象,android开发框架开源登录界面

android 程序员 移动开发

Android App关于应用程序升级的一点内容,app软件开发课程

android 程序员 移动开发

Android Dialog 的一些使用和优化心得(DialogFragment的使用和优化)

android 程序员 移动开发

android hxgsecurity 常用的集中加密方式封装,android项目开发案例

android 程序员 移动开发

Android MTK 设置默认启动 Launcher,android实战pdf

android 程序员 移动开发

Android NDK 开发之 CMake 必知必会,后台开发Android岗

android 程序员 移动开发

Android 3年外包工面试笔记,有机会还是要去大厂学习提升

android 程序员 移动开发

读完这些“Java技术栈”,拿下阿里Offer没问题

Java MySQL spring 程序员 JVM

android activity Intent 传值 传对象(1),头条三面技术四面HR

android 程序员 移动开发

Android Framework学习笔记(七)AMS全家桶,剖析Android开发未来的出路在哪里

android 程序员 移动开发

Android App Bundle探索,android系统软件开发

android 程序员 移动开发

墨刀发布企业版v3.5 ! 再度赋能“团队协同”新模式

Android 12体验!新的黑夜模式、影音格式,详解系列文章

android 程序员 移动开发

怎么用EasyRecovery恢复sd卡中的数据

淋雨

EasyRecovery

华为云GaussDB持续深耕创新与开放,打造企业核心数据上云信赖之选

华为云数据库小助手

GaussDB GaussDB(for openGauss) 华为云数据库 GaussDB(for MySQL) UGO

Android Activity 启动出现白屏带标题或闪屏问题解决,移动开发者社区

android 程序员 移动开发

软件测试常用工具总结(测试管理、单元测试、接口测试、自动化测试、性能测试、负载测试...)

六十七点五

程序员 软件测试 自动化测试 接口测试 测试工程师

Android - 定位方式,火星坐标系统,一键锁屏,字节Android高工面试

android 程序员 移动开发

Android 11 Beta 版正式发布!以及众多面向开发者的重磅更新

android 程序员 移动开发

Android Glide 3,flutter小程序

android 程序员 移动开发

Android 6,android网络开发技术实战详解

android 程序员 移动开发

Android Binder 的主要内容概述以及特性和原理,Android开发前景怎么样

android 程序员 移动开发

云原生:详解|K8s技术栈解析, 一文读懂K8s工作原理

息之

架构 容器 云原生 k8s 集群

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