AWS Startups Blog
A Startup’s Guide to AWS Services Series 7: Choosing a Database
As a founder, getting up and running on AWS, and even knowing where to start can seem overwhelming. What services do you need? How do you build with best practices in mind? This series is your guide to getting started on AWS, from account setup and security, to choosing an operational model and database selection. Come explore the AWS cloud environment with us.
Choosing the right database
Data needs to live somewhere. Whether for ETL solutions, data cataloging, or advanced analytics, data needs to be stored safely and accessibly. In Choosing the Right Database, the seventh installment of The Startup Guide to AWS Services free video series, AWS Startup Solutions Architect Zoish Pithawala discusses how to form an ecosystem where data is mobile, agile, and secure.
“Many startups find that relational and key-value data stores are ideal for many use cases,” Pithawala points out. “But there are times when a more purpose-built database would offer benefits, such as performance and scale.” She divides databases into eight categories based on their structure and uses:
- Relational
- Key-value
- Document
- In-memory
- Graph
- Time-series
- Ledger
- Wide-column
The categories are matched with relevant AWS services such as Amazon Aurora, Amazon DynamoDB and Amazon DocumentDB (with MongoDB compatibility), Amazon Neptune, and Amazon Keyspaces (for Apache Cassandra). Use cases are given for each category, ranging from finance, shopping carts, content management, real-time analytics, and fraud detection to IoT applications, supply chains, and healthcare. Often, multiple database types should be combined in one system.
A startup producing an e-commerce application might have a product catalog requiring low latency. That would suit a key-value database such as DynamoDB. Adding a bidding component could call for Amazon ElastiCache for in-memory data storage. Then, to capture user clickstream data from the application, Pithawala recommends a time-series database, such as Amazon Timestream, which collects, stores, and sequences data by time.
“Make sure you don’t use a Swiss-Army-knife approach,” warns Pithawala. “Choose the right database for each individual component that you build. As you scale and find that your database becomes your bottleneck, you can start optimizing your database type for different use cases.”
For many companies, choosing a database really means choosing the right combination of databases. Identifying the needs of each component of the business—and matching them to suitable databases—is the first step. Then, over time, you can be flexible in making changes as your business grows.