`

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
分享到:
评论

相关推荐

    Laravel开发-dynamodb

    DynamoDB是Amazon Web Services(AWS)提供的一款无服务器、高性能的NoSQL数据库服务,而laravel-dynamodb是一个第三方Laravel包,它为Laravel应用提供了与DynamoDB集成的便利。 首先,我们需要了解Laravel框架。...

    DynamoDB开发人员指南

    设置DynamoDB时,可以使用DynamoDB Local版本,这是一个用于本地开发和测试的可下载版本。此外,还可以利用AWS CLI和DynamoDB结合使用,或者通过编程接口与DynamoDB交互。 对于不同的开发环境,DynamoDB提供了多种...

    dynamodb-dg.pdf

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

    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 ...

    dynamodb-gsg

    1. 亚马逊DynamoDB概述: DynamoDB是亚马逊网络服务(Amazon Web Services, AWS)提供的一个完全托管的NoSQL数据库服务, 它提供了快速且灵活的性能,能够存储和检索任何规模的数据。DynamoDB支持文档和键值对数据结构...

    Go-dynago-Go的DynamoDB客户端

    针对Go语言的开发者,亚马逊AWS提供了一个官方的SDK,然而,对于一些特定需求或性能优化,第三方库如`dynago`应运而生。`dynago`是一款高效且易于使用的DynamoDB客户端,专为Go语言设计,旨在提供更流畅的API接口和...

    Laravel开发-laravel-dynamodb-session-driver

    而DynamoDB是AWS提供的一个完全托管的NoSQL数据库服务,具有高吞吐量和低延迟的特性。 标题“Laravel开发-laravel-dynamodb-session-driver”指的是将DynamoDB集成到Laravel的会话处理机制中,替代默认的存储方式,...

    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 分钟设置过程无服务器设计通过配置样式实现灵活的代码自动缩放表和全局二级...

    dynamodb_local_latest.zip

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

    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基本操作

    DynamoDB是Amazon Web Services(AWS)提供的一款高性能、完全托管的NoSQL数据库服务,它设计用于处理大规模的在线事务处理(OLTP)工作负载。本篇将深入讲解DynamoDB的基本操作,包括数据模型、读写操作、索引、...

    AWS官方文档:DynamoDB ElasticCache RDS RedShift SimpleDB

    1. **DynamoDB** - 是AWS提供的一个完全托管的NoSQL数据库服务,适用于需要高可扩展性和低延迟读写操作的应用。DynamoDB支持键值对和文档存储模型,适合大规模实时应用,如游戏、移动应用和物联网(IoT)解决方案。它...

    DynamoDB的Node.jsORM框架Dynasaur.zip

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

    Java_DynamoDB例子.zip

    这个压缩包可能包含一系列的Java代码示例,帮助开发者学习如何使用AWS SDK for Java来操作DynamoDB。 首先,我们需要了解DynamoDB的基本概念。DynamoDB使用表格来存储数据,表格由键值对组成,其中主键可以是单一的...

    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

Global site tag (gtag.js) - Google Analytics