`

Dynamodb专题系列第一讲

阅读更多

dynamodb是aws NOSQL全托管数据库。
1.所有的表都是分区的,主键有两种
   a》只设置一个partition key
   b》设置一个partion key和一个range key,相当于联合主键

2.它可以根据表的数据量以及capacity unit自动进行分区扩展
   a》每个分区最大10GB,如果表的数据量超过10GB,会自动创建两个分区,把数据平均分散到新建的两个分区里面,然后删除原来的分区,也就是由原来的一个分区变成两个新的分区
   b》一个分区最大支持3000个read capacity unit和1000个write capacity unit,如果capacity unit发生变化,有可能会导致分区数量的增加,比如
        原来的capacity是 read 1000   write   500   1000/3000+500/1000=0.888  1个分区
        新的capacity是     read 1000   write   1000   1000/3000+1000/1000=1.333  2个分区

3.No schema,建表的时候只需要指定主键,其它字段在往表里面插入数据的时候动态指定,每条记录可以有不同数量的字段,不同记录的同名字段,其类型也可以不同

4.多种字段类型,支持json数据的存储
Scalar类型,也就是单值类型
    String  abcd
    Number  24.56
    Boolean true,false
    Binary   二进制数据,比如图片
    Null 不明或者未定义
Document类型
    Map json格式
    List  列表,列表内可以存储不同类型的item
    Set   集合 集合内存储的item的类型必须一致,比如都是String,或者都是Number

5.支持TTL,如果希望表里面的记录只存在一个时间段,过期自动删除的话,可以指定一个ttl字段,这样dynamodb会根据存留期限的数值来自动帮助你进行过期数据的删除工作,比如两个小时,一周,两年,期限任意

6.表的操作支持stream,也就是流。通过开启stream,可以把对表的增删改操作记录到stream管道里面,然后我们可以通过trigger来触发lambda函数,来消费流里面的数据。启用stream的话,有三种类型可以选择
a》only new image 只输出修改后的record   比如 insert
b》only old image 只输出修改前的record     比如delete
c》new image and old image 变更前后的record都输出 比如 update

7.支持全局二级索引和本地二级索引,也就是GSI和LSI
GSI支持跨分区检索
LSI只支持同一个分区内部的检索

8.不支持外键关联,也不支持表联结,支持begins_with,contains等条件表达式

9.检索包括query和scan
query通过主键或者索引来检索,速度较快
scan可以通过任意字段进行检索,因为不走索引和分区,速度较慢,全表查询

10.支持batch检索和batch插入和删除
BatchGetItem每次最大可以返回100条record
BatchWriteItem每次最大可以写入或者删除25条record

11.针对capacity unit进行按小时收费,比如write capacity unit 10unit一个小时0.00742USD,read capacity unit 50unit一个小时0.00742USD

12.检索分为最终一致性和强一致性,默认是最终一致性
强整合性的话,1 read capacity unit,4K以内的record,1秒可以读取1条
最终一致性的话,1秒可以读取2条

1 write capacity unit,1K以内的record,1秒可以写入1条,如果record占2K,同样1秒写入一条的话,则需要2个write capacity unit

 

0
2
分享到:
评论

相关推荐

    dynamodb-gsg

    dynamodb dynamodb dynamodb dynamodb dynamodb dynamodb

    dynamodb-dg.pdf

    Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,提供快速且可预测的性能,同时还能够实现无缝扩展。使用 DynamoDB,您可以免除操作和扩展分布式数据库的管理工作负担,因而无需担心硬件预置、设置和配置、复制...

    Laravel开发-dynamodb

    Laravel开发-dynamodb 您的Laravel模型和助手的dynamodb包装=>来自https://github.com/baopham/laravel-dynamodb的fork

    DynamoDB开发人员指南

    AWS亚马逊服务下的非关系型数据库DynamoDB数据库,dcdcdc

    DynamoDB Cookbook

    DynamoDB Cookbook by Tanmay Deshpande, Over 90 hands-on recipes to design Internet scalable web and mobile applications with Amazon DynamoDB

    DynamoDB文件SDKDynamoDBDocumentSDK.zip

    dynamodb-document-js-sdk 抽离出低端 SDK 属性值的类型,以提供更简单的开发经验。JS 数据类型,如 string 和 number 可以直接传送到 DynamoDB 需求中;同样,数据类型不会被打包。示例代码:// Basic Client ...

    node-dynamodb, node.js的DynamoDb驱动程序.zip

    node-dynamodb, node.js的DynamoDb驱动程序 基本node.js的简单,高效和完整的DynamoDB驱动程序,带有:NodeJS中处理dynamodb格式Amazon格式的语法 sweeteners/映射有效和透明的身份验证和认证刷新使用与 amazon PhP...

    dynamodb-lambda-autoscale, 使用Lambda实现自动缩放 DynamoDB.zip

    dynamodb-lambda-autoscale, 使用Lambda实现自动缩放 DynamoDB dynamodb-lambda-autoscale使用 AWS Lambda函数 自动缩放 AWS DynamoDB5 分钟设置过程无服务器设计通过配置样式实现灵活的代码自动缩放表和全局二级...

    Go-dynago-Go的DynamoDB客户端

    dynago - Go的DynamoDB客户端

    Laravel开发-laravel-dynamodb-session-driver

    Laravel开发-laravel-dynamodb-session-driver Laravel 5的dynamodb会话驱动程序

    DynamoDB基本操作

    DynamoDB基本操作

    DynamoDBLocal-1.11.86.jar

    DynamoDBLocal-1.11.86.jar

    Laravel开发-laravel-dynamodb-eloquent-syntax

    Laravel开发-laravel-dynamodb-eloquent-syntax 来自https://github.com/baopham/laravel-dynamodb的dynamodb的自定义雄辩语法

    dynamodb_local_latest.zip

    Amazon DynamoDB 是一个键/值和文档数据库,可以在任何规模的环境中提供个位数的毫秒级性能。它是一个完全托管、多区域多主的持久数据库,具有适用于 Internet 规模的应用程序的内置安全性、备份和恢复和内存缓存。...

    AWS官方文档:DynamoDB ElasticCache RDS RedShift SimpleDB

    AWS官方文档:DynamoDB ElasticCache RDS RedShift SimpleDB

    DynamoDB的Node.jsORM框架Dynasaur.zip

    Dynasaur 是 Node.js 的一个 ORM 扩展框架,用来访问 AWS 的 DynamoDB NoSQL 数据库。 示例代码: module.exports = (dynasaur) -> blog_post_schema = attributes: author: String title: String body...

    Python库 | dynamodb-mapper-1.6.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:dynamodb-mapper-1.6.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    DynamoDBtoCSV, 将DynamoDB数据转储为CSV文件.zip

    DynamoDBtoCSV, 将DynamoDB数据转储为CSV文件 AWS DynamoDBtoCSV 这个应用程序将把DynamoDB表的内容导出到 CSV ( 逗号分隔值) 输出中。 你需要做的就是使用AWS凭据和区域更新 config.json 。输出是逗号分隔的,每个...

    laravel-dynamodb:DynamoDB的口才语法

    laravel-dynamodb 支持所有键类型-主哈希键和组合键。 仅适用于高级用户。 如果您不熟悉Laravel,Laravel Eloquent和DynamoDB,那么建议您先熟悉这些内容。 v2中的重大更改:配置不再存在于config / services.php...

Global site tag (gtag.js) - Google Analytics