- The Amazon Athena service is a great example
of highlighting the differences between on-prem
infrastructure and cloud native architecture.
So what is Athena?
It is region scoped and, it's designed around data analysis
but, it does it in a special way that really
you can't achieve in an on-prem environment
because, it utilizes data that is sitting in S3
but, you can query it as if it were a relational
database using SQL queries.
The underlying engine is entirely serverless
but, it utilizes third party offerings that you
may have heard of, including Presto
for distributing those SQL queries and,
Apache Hive as a metastore to help understand
how the data is organized
into individual tables and schemas.
Now, in an actual Athena table, what does it look
like?
Well, the table itself is just a container
a logical resource that contains the definition
of the metadata.
It specifies the location of the data
in terms of S3 buckets and
prefixes as well as the actual structure of the data itself.
The tables in Athena don't actually contain the data.
All of the data is in the individual objects in S3.
You can create Athena tables automatically
or, you can create them by hand, especially
if you have a number of disparate sources
for that data that might even be in other AWS accounts.
And, finally, you can organize your individual
Athena tables together to create a database,
as a logical grouping of those tables
if you want to be able to issue queries
across multiple tables at the same time.
Now, the third and most important element
of Athena is called the data catalog.
And, this is really important
for big data and data lake uses.
This is a system for organizing all
of the individual tables into a cohesive unit
and, the data catalog is what helps to combine the dataset
which is the actual underlying data, as well
as the tables and schemas those definitions
into a data source that can then be treated
as a logical object.
There's a legacy version of data catalogs that are managed
by the Athena service itself.
And, these are being phased out.
You may or may not have access to these in your AWS account.
If you create a data catalog today though,
it actually uses another data analytic
service called 'Glue' that we're going to be talking about
in a later lesson to help organize those data catalogs.