Databases, Containers, Deployment Flashcards
What is Docker?
A platform for developing, shipping, and running applications in containers.
What are Containers?
Containers package an application and it’s dependencies together, ensuring it runs consistently across environments.
What is AWS ECS?
Elastic Container Service is a fully managed container orchestration service by Amazon Web Services that allows you to run, stop, and manage Docker containers on a cluster.
What is PostgreSQL?
An open-source relational database management system that uses SQL (Structured Query Language) to access and manage data.
How would you design a schema?
Identify entities and relationships e.g. Users and Orders with a one-to-many relationship
How do you optimize queries?
Use indexing, analyze query performance, and optimize joins
How can you manage database migrations?
Tools like knex.js manage schema changes over time.
Describe a complex SQL query
Joining multiple table to fetch user order history
What are some advantages of Docker?
Consistency across environments, simplifies dependency management, streamlines CI/CD
How do you manage Docker images?
Use Dockerfile to defined image and docker-compose
for multi-container applications
AWS ECS benefits
Manage containers, scale applications, integrate with other AWS services e.g. auto-scaling based on load
How can ECS overcome deployment challenges?
Issues like dependency conflicts are resolved using multi-stage builds and monitoring container health
What is the difference between an inner join and outer join in SQL?
Inner Join returns only the rows that have matching values in both tables
Outer Join returns all rows from one table and the matched rows from the other table
How can you optimize SQL queries?
- Create indexes on frequently searched columns
- Use EXPLAIN to analyze and optimize query performance
- Ensure joins use indexed columns and are written efficiently
3 Cloud Computing Models
- Infrastructure as a Service (IaaS) virtualized computing resources over the internet such as Amazon EC2 or Google Compute Engine
- Platform as a Service (PaaS) allows customers to develop, run, and manage applications without the complexity of building and maintaining infrastructure such as AWS Elastic Beanstalk or Google App Engine
- Software as a Service (SaaS) delivers applications over the internet such as Google Workspace or Salesforce