Databases
Amazon DynamoDB
- NoSQL Database (Key-Value Store) : A collection of items or records.
- You can look up data :
- Using a primary key for each item
- Through the use of indexes
- Very High Performance mainly used for Gaming, Web, Mobile and IoT
- Fully Managed : backups, patches etc are managed by AWS
- Bill consists of two factors
- The total amount of throughput that you configure for your tables (provisioned capacity )
- The total amount of storage space used by your data
- DynamoDB tables are schemaless, schema is defined per item
- As long as the primary key is valid there is no limit on attributes
- primary key consists of two attributes : partition key and sort key
- You can define several secondary indexes besides primary key for search
- There are two types of secondary indexes : Global and Local Indexes
- Disadvantages
- Since replication of data is present thorough multiple zones so it relies on concept of Eventual Consistency, so its possible some zones might have older data
- Queries are less flexible than SQL
- Strict Workflow limitations like max record size : 400kb, max indexes per table : 20 global, 5 local
- provisioned throughput (ProvisionedThroughputExceededException)
Amazon Relational Database Service (RDS)
- Its a fully managed RDS that allows users to Provision, Create, Scale a relation database
- RDS allows us to choose from various Database Engines : MySQL, MariaDB, PostgreSQL, Amazon Aurora (fork of MySQL), Oracle (Common in Corporate), SQL Server
- Choice of compute instances is available while provisioning Database
- General Purpose
- Memory Optimized
- Synchrous Replication between primary and secondary instance. In case if primary instance fails then AWS automatically points DNS to secondary instance within (60-120s). [Multi AZ]
- Storage Autoscaling
- EBS (Elastic Block Storage) (MySQL, Postgres, MariaDB, Oracle, SQL server)
- General Purpose SSD storage, good for broad range of cases
- Provisioned IOPS (SSD Storage), good for workloads that operate at very hight I/O
- Magnetic Storage (mostly for backwards compatibility)
- Shared Cluster Storage (Amazon Aurora)
- Configuration options doesn’t exists and scaling occurs automatically
- vertical scaling : scaling towards computing capability
- horizontal scaling : increasing replicas of storage instances to deal with high volume of read queries. Note all replicas are synchrously linked.
Amazon ElastiCache
- This service improves performance by using caching, where web application allow you to retrieve information fast, managed, in-memory data stores.
- Caching : Additional memory enables our devices to store frequently accessed information in memory instead of having to request the information from the hard drive
- It improves the read-only performance of server.
- Engines
- Amazon Elasticache for Memcached : A high performance, submillisecond latency Memcached Compatible in-memory, key-value store service that can either be used as a cache, in addition to a data store
- Amazon Elasticache for Redis : An in-memory data store designed for high performance and again providing sub-millisecond latency on a huge scale to real-time applications
- Components of Elasticode
- Node : a fixed sized chunk of secure network attached RAM
- Shard : redis shard (node group) a group of up to 6 Elasticache nodes
- Redis Cluster : group of 1-90 redis shards
- Memcached Cluster : a collection of more cache nodes
- Elasticache should never used
- when data persistence is necessary
- when working with primary data records
- when we need write performance, rather than read performance
Keys |
Action |
? |
Open this help |
n |
Next page |
p |
Previous page |
s |
Search |