Skip to content

Relational Database Service

RDS Introduction

Relational databases are what most of us are used to. They have been around since the 1970s. Think of a traditional spreadsheet:

  • Database
  • Tables
  • Rows
  • Fields (Columns)

Relational Database Types

  • MS Sql Server
  • Oracle
  • MySQL Server
  • PostgreSQL
  • Aurora (Amazon's Flagship Relational Database)
  • MariaDB

Non-Relational Database

  • Database
    • Collection = Table
    • Document = Row
    • Key Value Pairs = Fields

Example of JSON/NoSQL Record

{
    "_id": "51262c865ca358946be09d77",
    "firstname": "John",
    "surname": "Smith",
    "address": [
        {
            "street": "21 Jump Street",
            "suburb": "Richmond"
        }
    ]
}

Data Warehousing

Used for business intelligence. Tools like Cognos, Jaspersoft, SSRS, Oracle Hyperion, and SAP NetWeaver.

Used to pull in very large and complex data sets. Usually used by management to do queries on data (such as current performance vs. targets, etc.)

OLTP vs. OLAP

Online Transaction Processing (OLTP) differs from OLAP Online Analytics Processing (OLAP) in terms of the types of queries you will run.

OLTP

An OLTP Example might include:

Order Number 2120121

Pulls up a row of data such as Name, Date, Address to Deliver to, Delivery Statuc, etc.

OLAP

OLAP Transaction Example:

Net Profit for EMEA and Pacific for the Digital Radio Product. Pulls in large numbers of records

  • Sum of Radios sold in EMEA
  • Sum of Radios sold in Pacific
  • Unit cost of radio in each region
  • Sales price of each radio
  • Sales price; unit cost

Amazon's OLAP is a service called Redshift.

Data Warehousing databases use different type of architecture, both from a database perspective and infrastructure layer.

Elasticache

Elasticache is a web service that makes it easy to deploy, operate, and scale an in-memory cache in the cloud. The service improves th performance of web applications by allowing you to retrieve information from fast, managerd, in-memory caches, instead of relying on slower disk-based databases.

An example use case would be if your e-commerce site needed to display the top 10% most sold items. You wouldn't want to pull from the database for every single user; instead, you would pull from in-memory cache.

Elasticache supports two open-source in-memory caching engines:

  • Memcached
  • Redis