All cheat sheets
Databasescheat sheet

Neptune Serverless

Neptune Serverless swaps always-on graph-database instances for capacity that scales per NCU (~$0.12/NCU-hour) between a floor and ceiling you set — 40–60% cheaper on bursty or off-hours graph workloads, pricier on flat 24/7 ones.

Last reviewed: July 14, 2026

TL;DR: Graph databases exist for relationship queries (friend-of-friend, fraud rings, dependency maps); if your data isn't relationship-shaped, a relational or document store is cheaper. Original Neptune billed provisioned instances 24/7 idle or not. Neptune Serverless (2022) scales capacity per Neptune Capacity Unit (~2 GiB memory + compute) between a min and max you set, at ~$0.12/NCU-hour. Its edge is charging little during quiet stretches — so it wins on bursty/off-hours/dev workloads and loses on flat 24/7 load.

The numbers

  • Provisioned baseline: a db.r5.large is ~$0.348/hr → ~$254/mo regardless of usage.
  • Serverless floor: parked at the 2.5 NCU minimum 24/7 ≈ 2.5 × $0.12 × 730 = ~$219/mo — the minimum is real money.
  • Where it wins: 10 NCUs for 8 business hours + 2.5 NCUs otherwise = 3,600 NCU-hours ≈ $432/mo vs ~$508/mo provisioned (10 NCU ≈ db.r5.xlarge) — ~15% plus automatic scaling and zero capacity planning.
  • Field examples: real-time fraud detection (5–8 NCU normal, spiking to 40–50) saved 40–60% vs a peak-sized cluster; a nightly-analytics cluster went $1,015 → ~$621/mo (39%). A steady 24/7 recommender was more expensive on serverless ($562 vs ~$508 provisioned).

Do this

  1. Set conservative min/max NCUs (e.g. 2.5 → 40) and adjust after watching real ServerlessDatabaseCapacity in CloudWatch.
  2. Move variable workloads first — fraud detection, periodic batch, dev/test, spiky query mixes. Leave flat 24/7 production for last, after you know its NCU footprint.
  3. Bound your queries — multi-hop traversals ("all nodes within 5 hops") burn NCUs faster than expected; optimize before raising the cap.
  4. Set a hard maximum + billing alarm — a runaway traversal can otherwise scale you to the cap and produce a surprise month-end bill.
  5. Decide empirically — point a representative workload at a serverless cluster for a week and compare the NCU bill to your provisioned bill.

Gotchas

  • The minimum baseline (~$219/mo) is a floor, not free — tiny idle clusters still cost real money.
  • Less tuning control — no instance-type choice or manual memory tuning; if a specialist loves tuning, serverless hides that lever.
  • Brief warm-up after a deep scale-down — first queries after a long quiet period can see slightly higher latency.
  • Feature parity can lag — check current docs before assuming provisioned features exist on serverless.

Skip this if

  • The workload runs flat-out at high capacity 24/7 — a right-sized provisioned instance, especially with a Reserved Instance, undercuts serverless by 30–40%.
  • You want absolute lowest steady-state cost and can commit — see Reserved Instances on a provisioned cluster.
  • You're comparing the whole serverless-database family — OpenSearch Serverless, Aurora Serverless Sizing, and Redshift Serverless use the same "min baseline + scale to max, pay per unit-hour" model.

Run this audit with your AI assistant

Paste this into Claude, ChatGPT, or any agent that can run the AWS CLI with read-only credentials. It audits your account for exactly the waste this sheet describes — and changes nothing.

You are auditing an AWS account's Amazon Neptune usage for Serverless
savings. Use the AWS CLI with READ-ONLY credentials. Do not create,
modify, or delete anything — report findings and recommended (unapplied)
fixes only.

1. Inventory: aws neptune describe-db-clusters / describe-db-instances —
   capture provisioned vs serverless, instance classes, and any
   ServerlessV2ScalingConfiguration (min/max NCU) already set.
2. Utilization shape: pull CloudWatch AWS/Neptune CPUUtilization and (for
   serverless) ServerlessDatabaseCapacity over 30 days, hourly. Classify
   each cluster: flat 24/7-heavy, business-hours, periodic-batch, spiky,
   or dev/test.
3. Cost compare: provisioned instance $/hr × 730 vs projected NCU-hours ×
   $0.12. Flag flat-24/7-heavy clusters where a right-sized provisioned
   instance + Reserved Instance likely beats serverless; flag
   bursty/off-hours/dev clusters as serverless wins (est. 40-60%).
4. Runaway guard: for serverless candidates, note the need for a hard max
   NCU (multi-hop traversals burn NCUs fast) and a billing alarm.

Report a table: cluster | workload shape | provisioned $/mo | est.
serverless $/mo | recommended min/max NCU | verdict | notes. Change
nothing.
Works with any assistant that can run shell commands.

Want the guided version?

The Neptune Serverless walkthrough covers this topic interactively — it asks about your setup, branches to what’s relevant, and quizzes you on the tricky parts. Free and anonymous.

Start the walkthrough