AWS Database

AWS Relational Database Service (AWS RDS)

  1. AWS 支持以下RDS
    1. MySQL 5.1, 5.5, 5.6,  community Edition with InnoDB engine,Multi-AZ
    2. PostgreSQL 9.3, 9.4 9.5,Multi-AZ
    3. MariaDB 10.0.17, MySQL 那帮作者做的,Multi-AZ
    4. Avamar Aurora,Multi-AZ,兼容MySQL和PostgreSQL,性能是MySQL的5倍,是AWS推荐的数据库
    5.  Oracle 11g, 12c,有三个版本,都支持Multi-AZ
      1. Standard One,Multi-AZ,Included License,KMS
      2. Standard,Multi-AZ,BYOL,KMS
      3. Enterprise,Multi-AZ,BYOL,KMS and TDE
    6. SQLServer 2008R2, 2012, 2014,有四个版本
      1. Express,不支持Multi-AZ,Included License,KMS
      2. Web,不支持Multi-AZ,Included License,KMS
      3. Standard,Multi-AZ,KMS
      4. Enterprise,Multi-AZ,KMS and TDE
  2. Storage Options
    1. Magnetic,性能最差,最便宜,用在需要很小IOPS的场景
    2. General Purpose SSD,通用型,大部分场景都可以使用
    3.  Provisioned IOPS SSD,最高配置,价格最贵,用在需要高IOPS的场景
  3. RDS数据库的两种类型
    1. Online Transaction Processing (OLTP),事务型数据库,对事务要求高,数据一致性要求高
    2. Online Analytical Processing (OLAP),分析性数据库,对计算和处理数据要求高,对读性能要求高
  4. RPO/RTO
    1. RPO(Recovery Point Objective)出现事故时,最大允许丢失的数据量
    2. RTO(Recovery Time Objective)出现事故时,最大允许down机的时间
  5. Backup/Recovery
    1. 自动备份,Amazon RDS会自动为DB的Storage创建snapshot来备份数据,但默认情况每个backup只保留一天,可以设置最多保留35天
    2. 手动备份,手动备份的backup不会被自动删除
    3. Recovery,恢复DB时不会影响原DB,只会创建一个新的DB instance
  6. High Availability with Mulit-AZ
    1. 除了SQLServer的Express/Web不支持Multi-AZ,其它DB都支持Mulit-AZ
    2. Multi-AZ是指在不同的AZ上创建DB Instance,如果主Instance挂了,AWS会自动将连接转移到副Instance,而不需要用户任何操作
  7. Multi-AZ并不能提高DB的performance,只是为了增加HA
    1. 可以通过reboot主Instance来模拟主DB宕机
  8. Scaling up and Out
    1. Vertical Scalability,垂直扩展,增加CPU性能,增加内存,增加存储,修改存储类别等。注意,Storage的扩展不支持SQLServer。
    2. Horizontal Scalability With Partitioning,通过分区分表的方式水平扩展
    3. Horizontal Scalability With Read Replicas,通过创建只读副本来提高性能,这样做的目的是读写分离。支持的DB有:MySQL,PostgreSQL,Aurora,MariaDB
  9. Security,可以从多个层面来控制RDS的安全
    1. IAM,设置IAM权限,仅允许有权限的用户可以创建DB instance,修改DB属性等
    2. 将RDS部署在private网络中,并且创建DB subnet group,指定哪些子网可以访问DB所在的子网
    3. 创建RDS用户,只有合法的用户可以登录RDS
    4. 在传输过程中使用SSL加密,对at rest的数据使用KMS和TDE加密

AWS Redshift

  1. AWS Redshift是数据仓库,用于存放大量统计数据,内部实现是PostgreSQL,Redshift是典型的OLAP型数据库
  2. 集群和结点
    1. 支持6种结点类型,分为两类,面向计算和面向存储。面向计算的类型支持326TB的SSD数据,面向存储的结点支持2PB的Magnetic数据
    2. 可以通过增加节点来提高整体性能
  3. Data Types, 支持多种数据类型,char,int,decimal,double,varchar等
  4. 压缩编码,第一次加载数据到空表时,Redshift会为每列选择最好的压缩方式。
  5. 分布式策略
    1. EVEN distribution,默认方式,数据会以统一的方式分配到slices上,而不管数据是什么类型
    2. KEY distribution,通过某一列的值来分配row
    3. ALL distribution, 所有的数据都会分配到所有的结点
  6. Sort Keys
    1. 排序用key,在创建表的时候可以选择性的指定一列或多列为sort key,以加快数据的排序
  7. 增加数据
    1. Redshift支持标准的SQL,例如INSERT,UPDATE等
    2. COPY命令支持从S3以文件方式加载数据到Redshift,也支持从DynamodDB加载数据
  8. 查询数据
    1. 支持标准SQL查询,如INSERT等
    2. 支持并发查询,workload management (WLM)
  9. Snapshot
    1. 支持动态快照和手动快照,自动快照会定期删除,手动快照不会自动删除,需要手动删除
  10. Security
    1. IAM,设置IAM权限,仅允许有权限的用户可以创建DB instance,修改DB属性等
    2. 将Redshift部署在private网络中
    3. 创建Redshift master account,只有合法的用户可以登录Redshift
    4. 在传输过程中使用SSL加密,对at rest的数据使用KMS和CloudHSM

AWS DynamoDB

  1. No SQL 数据库,与Mango DB类似
    1. 支持数据类型,String,Number,Binary,Boolean,Null,String Set,Number Set,Binary Set,List,Map
  2. 主键
    1. Partition Key,partition key唯一标识Object,一个key就是一个partition
    2. Partion Key and Sort Key,partition key和sort key标识Object,先partition分组,再sort key排序
  3. Provisioned Capacity
    1. Read capacity and write capacity
    2. 预先设置capacity,当有读或写操作时就会消耗相应的capacity,capacity越大,费用越高
    3. 可以设置Auto Scaling,但Read or Write capacity达到一定程度,就可以自动增加capacity
  4. Secondary Index
    1. Global Secondary Index,全局index,会在所有的partition上查询数据。任何时候都可以创建任意多的global secondary index
    2. Local Secondary Index,本地index,只在当前partition上查询数据。在创建table的时候指定,且只能有一个loca secondary index
  5. Writing and Reading data
    1. PutItem,UpdateItem,DeleteItem,GetItem,Query or Scan action,etc
  6. 最终一致性
    1. Eventually Consistent Reads,可能读取到脏数据,但最终会读取到一致的数据
    2. Strongly Consistent Reads,不会读取到脏数据,但可能会影响性能
  7. Batch Operations
    1. BatchGetItem,BatchWriterItem等批量操作
  8. Searching Items
    1. Query,仅查询需要的数据
    2. Scan,会Scan所有数据
    3. 一般推荐用Query而不是Scan,Scan会扫描所有数据或所有secondary index
  9. Scaling and Partitioning
    1. 通过创建更多的partition来扩展DynamoDB数据库表
  10. Security
    1. 通过IAM控制IAM User访问DynamoDB
  11. Streams
    1. 支持通过修改DB的log来记录改动的数据,通过获取修改DB的log,可以用于审计数据的修改,统计数据访问等
    2. 相当于把数据库的修改记录stream到log里,其它应用就可以基于log做更多的事情
  12. Multi-AZ
    1. Dynamo DB默认按照Multi-AZ模式来部署以提高高可用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值