aws_glue_catalog_database cost estimation
A Glue Data Catalog database is effectively free (the first million objects and requests are free) and the real cost is the querying, crawling, and ETL that use it.
An aws_glue_catalog_database creates a logical database in the AWS Glue Data Catalog, a metadata store that holds table definitions describing data that actually lives in S3, RDS, or elsewhere. The database is a namespace for those table definitions. It holds no data itself, and the Glue Data Catalog's free tier covers the first million objects stored and the first million requests per month, so a typical catalog database costs nothing.
The cost sits in the services that read and populate the catalog. Amazon Athena queries tables defined in the catalog and bills about $5 per TB of data scanned, so the S3 layout the catalog points at (partitioning, file format, compression) drives that cost far more than the catalog does. Glue crawlers that discover schemas and Glue ETL jobs that transform data are billed per DPU-hour (about $0.44/DPU-hour), and those are usually the largest line items in a Glue workload.
So the honest framing is: the catalog database is free metadata, and it is the thing that makes querying and ETL possible, but the bill comes from Athena scans, crawler runs, and ETL job DPUs. Above the free tier, catalog storage is a trivial $1 per 100,000 objects per month. c3x prices the crawlers, jobs, and query engines that use the catalog and treats the database as the free namespace it is.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_glue_catalog_database" "analytics" {
name = "analytics"
description = "Table metadata for the analytics data lake"
location_uri = "s3://my-data-lake/analytics/"
}Pricing dimensions
What you actually pay for when you provision aws_glue_catalog_database.
| Dimension | Unit | What's being charged |
|---|---|---|
| Catalog database | free | The first million catalog objects and million requests per month are free; a typical database costs nothing. $0 |
| Athena queries | per TB scanned | Querying tables defined in the catalog scans S3 data, billed per terabyte. ~$5.00/TB scanned |
| Crawlers and ETL jobs | per DPU-hour | Glue crawlers and ETL jobs that populate and transform catalog data are billed by DPU. ~$0.44/DPU-hour |
Optimization tips
Common ways to reduce aws_glue_catalog_database cost without changing the workload.
Partition and compress the underlying data
Up to 90% on query costThe catalog is free; Athena scan cost is not. Partitioning tables and storing data as compressed Parquet cuts the bytes each query scans, which is where the money is.
Schedule crawlers instead of running them constantly
Crawlers bill per DPU-hour while they run. Run them on a schedule that matches how often schemas actually change rather than continuously.
Stay within the catalog free tier
The first million objects and requests are free. Avoid creating huge numbers of tiny partitions as separate objects, which can push storage and request counts past the free tier.
FAQ
Does a Glue Data Catalog database cost money?
Effectively no. The Glue Data Catalog's first million stored objects and million requests per month are free, so a typical database costs nothing. Above that, storage is about $1 per 100,000 objects per month.
Where does the cost of a Glue catalog actually come from?
From what uses it: Athena queries billed per TB scanned, and Glue crawlers and ETL jobs billed per DPU-hour. The catalog is free metadata; the query and processing engines carry the cost.
How do I reduce cost when querying Glue catalog tables?
Optimize the underlying S3 data. Partition tables, use columnar formats like Parquet, and compress files so Athena scans fewer bytes per query, which is the dominant cost driver.
Related resources
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including aws_glue_catalog_database.