WEBVTT

00:01.260 --> 00:05.470
In this lecture, we will get
introduced to DynamoDB in AWS.

00:06.060 --> 00:08.010
If you're already
familiar with DynamoDb,

00:08.400 --> 00:11.480
feel free to skip this lecture
and go to the next one.

00:13.040 --> 00:17.420
DynamoDB is a no SQL database
solution provided by AWS.

00:18.070 --> 00:21.030
It is a highly scalable database
that can cope with millions

00:21.110 --> 00:24.270
of requests from applications
such as mobile and web,

00:24.350 --> 00:25.820
gaming, and IoT.

00:27.120 --> 00:29.530
It is a fully managed
service from AWS.

00:30.290 --> 00:32.890
There are no servers that
the users have to manage,

00:33.160 --> 00:36.180
and this means that AWS
offloads operational tasks

00:36.260 --> 00:38.950
such as database upgrades,
software installation,

00:39.030 --> 00:40.730
and patching from the users.

00:41.960 --> 00:46.460
Along with high scalability, it
also provides low latency data access,

00:46.540 --> 00:48.290
making it a very popular choice

00:48.370 --> 00:51.360
for some of the world's
largest scale applications.

00:52.370 --> 00:55.900
DynamoDb also guarantees high
availability as the data

00:55.980 --> 00:59.050
is replicated across
multiple AWS regions.

01:00.320 --> 01:02.720
Dynamodb is a no SQL database.

01:03.220 --> 01:06.880
This means that it stores data
in the form of key-value pairs

01:06.960 --> 01:08.090
and documents.

01:09.160 --> 01:12.580
For example, let's assume that
we want to create a database

01:12.660 --> 01:14.570
storing information about cars.

01:15.660 --> 01:18.760
With a key-value database,
this can be done like this.

01:20.100 --> 01:22.490
The data here is
stored as a table,

01:22.570 --> 01:24.930
which is a collection
of key-value pairs,

01:25.010 --> 01:27.420
where a key serves as
a unique identifier.

01:28.380 --> 01:31.270
Here, we have two
keys called manufacturer

01:31.350 --> 01:32.830
and the model of the car.

01:34.250 --> 01:36.910
This can be expanded further to
add more information about

01:36.990 --> 01:40.680
the car and to make each one
more uniquely identifiable.

01:41.490 --> 01:43.710
Now let's add two more keys,

01:43.790 --> 01:46.380
the year and the vehicle
identification number

01:46.460 --> 01:48.080
or the VIN to the collection.

01:49.800 --> 01:52.360
Each entry in this
database is called an item,

01:52.900 --> 01:56.260
and in this example, we have a
database of cars with four items

01:56.340 --> 01:57.180
at this moment.

01:58.870 --> 02:02.560
Each item in the database
is composed of one or more attributes.

02:04.110 --> 02:07.170
The attributes are the keys that
we have defined for the table,

02:07.250 --> 02:10.910
such as manufacturer,
model, year, and VIN,

02:10.990 --> 02:13.840
all of which provide meaningful
information about the items.

02:14.820 --> 02:18.360
Each item in this database can
also be represented like this.

02:19.290 --> 02:22.980
In order to uniquely distinguish
an item with every other item

02:23.060 --> 02:26.570
in the table, DynamoDB
uses a primary key.

02:27.400 --> 02:29.520
For example, the attribute called VIN

02:29.600 --> 02:33.150
or the vehicle identification
number is a unique value,

02:33.910 --> 02:36.960
and this can be used to
identify any car in this table.

02:37.640 --> 02:40.670
A VIN in this case can
be used as a primary key.

02:42.080 --> 02:45.110
When adding more items, it's
mandatory to define a value

02:45.190 --> 02:46.680
for the primary key.

02:46.760 --> 02:48.510
The other attributes
are optional,

02:48.590 --> 02:50.320
and you can also
have a null value.

02:51.260 --> 02:54.350
For example, let's add
a fifth item to this table

02:54.430 --> 02:56.350
with just the vehicle
identification number

02:56.430 --> 02:57.720
and the manufacturer name,

02:57.800 --> 03:01.320
which is optional, and let's
not choose to add values

03:01.400 --> 03:03.920
for any other attributes such
as the model or the year.

03:04.680 --> 03:08.030
This fifth item is also a
valid entry in this database.

