In this slides we describe about the databases of Amazon Web Services and what are there features and there other functionality and uses in real time scenario and types of database available in Amazon web services.
2. What is Databases ?
A database is a store for datasets where:-
1. Data access (read & writes) is needed on a recurring basis.
2. It allow multiple user access for reads.
3. It safeguard against unintentional mistakes, or unexpected power or
hardware failure, and can recover the last known state.
4. A relational database (the concept) is a data structure that allow you to link
information from different ‘tables’ or different types of data bucket.
5. It normalizes data into structure.
6. In RDBMS tables are related to each other.
7. A schema is used to strictly define, tables, columns, indexes, and relations
between tables.
8. Same items in tables are stored in the same table locations
(rows/columns).
9. Relational databases can save data in multiple joined tables (rows &
columns).
3. What is Databases ?
1. If information about an entity (for e.g. bank account for a client ) can be
stored distributed over multiple ‘Related’ tables(Relational).
2. Virtually all relational DBs use Structured query Language(SQL).
3. Are best suited for OLTP (On line Transaction Processing).
1) OLTP facilitates and manages transaction oriented application (typically
used in data entry and Retrieval).
2) An ATM machine transaction is an OLTP example.
4. Relational DBs are usually used in enterprise application/Scenarios.
1) Exception is MYSQL which is used for web application.
Example:- Oracle, SQL Server, DB2, MYSQL.
4. Analytic Relational DB:-
1. Oracle
2. AWS Redshift
Relational Databases Disadvantages:-
1. Inability to scale out (horizontally) to the needs of web 2.0 & big
data applications vertical scaling is possible.
2. Require expensive hardware to scale up vertically since its
performance is dependent on that.
5. Data Warehouse
1. Is a collection of data integrated from multiple sources, which then
undergoes complex decisions and management reporting
Basically an analytics DBs
Example use cases : Sales reporting.
Non Relational Database
1. In its simplest form, non relational databases store data without a
structured mechanism to link data from different tables to one another.
2. Are high performance databases that are non-schema based unlike
relational DBs.
3. Use non-structured or semi-structured data (JSON, XML).
4. Storage and retrieval of data is modeled without/away from tabular
relations as in SQL DBs.
6. Non Relational Database
5. Non-Relational or NoSQL databases use a variety of data models, including
documents graph key-value and columnar.
6. They scale out (horizontally) using distributed clusters to increase
throughput without increasing latency.
7. This meets today’s needs in social media, analytics, big data and IoT.
8. Require commodity (low costs) hardware.
9. Much faster performance (read/write) compared to relational DBs.
10. Easier to develop.
11. Scalable in performance with high availability and resilience.
12. Automatically spread the data over multiple servers.
13. Multiple related values entered can be stored into one DB entry like
RDBMS.
7. Best suited for One-line Analytical Processing
(OLTP).
Examples use cases are :-
Business reporting for sales.
Management Reporting.
Business Process Management.
Financial reporting.
Analytics.
1. OLAP tools enables the multidimensional analysis of data from multiple/
many prospective.
Examples of No- SQL DBs
1) Analytics (Hadoop Storage).
2) AWS Elastic Map Reduce(EMR).
Operational:
1) AWS Dynamo DB.
2) Cassandra.
9. Columnar databases
1. Optimized for reading and writing column not rows.
2. Reduce the amount of data to be loaded from the disk.
3. Scale out using distributed clusters (low cost hardware).
4. Column oriented storage drastically reduces the O/I requirements to read/
write data.
5. On AWS you have a choice of running your own NoSQL DB using EC2 and
EBS, or take advantage of the fully managed AWS columnar databases.
Open Source NoSQL databases such as
1) Apache Cassandra.
2) Apache HBase.
10. NoSQL Databases Document DBs
1. Store semi-structured data as document typically in JSON or XML format.
2. This makes loading objects with relevant data and properties.
3. The Schema for each NoSQL document can vary, more flexibility for
developers, DB admin, IT pros to organize and store data.
4. Reduce storage needs for optional values.
5. Can scale “out” using distributed clusters of low-cost hardware to increase
throughput without increasing latency.
11. AWS RDS
Is an AWS fully managed Relational DB engine Service where AWS is
responsible for:
1. Security and patching of the DB instance.
2. Automated Backup for your DB instances(Default setting).
3. Software updates for storage and compute as required.
4. If selected, Multi A-Z with synchronous replication between the active and
standby DB instances.
5. Automatic failover if multi A-Z option was selected.
6. Providing the ability to create DB read policies (intensive read
deployments).
7. Every DB instances has a weakly maintenance window.
8. If you did not specify one at the time you create the DB instances.
9. AWS will choose one randomly for you (30 minutes Long).
12. AWS is responsible for
1. Managing DB setting.
2. Building a relational DB Schema.
3. DB performance tuning.
It supported Relational DB engines options:-
1. MS SQL Server
2. Oracle
3. PostgreSQL
4. Maria DB
5. AWS Aurora
6. MySQL.
Licensing Models
Two licensing Models:-
1) Bring Your Own License (BYOD)
2) License included
13. RDS Limits
1. Upto 40 DB instances per account.
2. 10 of this 40 can be Oracle or MS SQL server under license includedcmodel.
3. Under BYOD model, all 40 can be any DB engine you need.
RDS Instance Storage
1. Amazon RDS use EBS volumes (not instance-store) for DB and logs storage.
2. General purpose RDS storage use for DB workloads with moderate I/O
requirements(Min 20 GB, Max 16384 GB)
3. Provisioned IOPS RDS storage (Min 100GB , Max 16384 GB).
4. It is used for high performance OLTP workloads.
5. Magnetic RDS storage which is used for small DB workloads. Currently it
doesn’t used.
6. Max. storage capacity for RDS DB instances.
7. Upto 4 TB for MS SQL Server.
8. Upto 6 TB for the rest of supported RDS DB engines.
14. Database Automated Backups or Manual Snapshots
These are the two methods to backups and restore your RDS DB instances.
1. AWS RDS automated backups and user initiated manual backups.
2. Either one backups the entire DB instances and not just the individual DB.
3. Either one creates a storage volume snapshot of your entire DB instance.
Not just the individual databases.
4. You can make copies of automated backups and of manual snapshots.
Database Automated Backups
1. Automated Backups by AWS, backups your DB data to multiple A-Z’s to
provide for data durability.
2. Are labeled automated in AWS console (easily distinguishable).
3. It is Stored in Amazon S3.
4. Multi AZ automated backups will be taken from the standby instances not
the primary.
5. The DB instance must be in “active ” state for the automated backups to
happen.
15. Database Automated Backups
6. If in any other state like storage full state, the automated backups will not
happen.
7. Automated backups (not the manual one) are used for point-in-time DB
instance recovery.
8. It can restore the DB upto 5 minutes in time, using DB transaction logsand
the automated snapshot.
9. RDS automatically backups the DB instances daily by creating a storage
volume snapshot of your DB instance (fully daily snapshot) including the
DB transaction logs, which are