// Master relational and NoSQL databases including PostgreSQL, MongoDB, Redis, SQL optimization, and data modeling. Learn query optimization, backup/recovery, high availability, and blockchain technologies. Use when designing databases, optimizing queries, or choosing database solutions.
| name | database |
| description | Master relational and NoSQL databases including PostgreSQL, MongoDB, Redis, SQL optimization, and data modeling. Learn query optimization, backup/recovery, high availability, and blockchain technologies. Use when designing databases, optimizing queries, or choosing database solutions. |
Design and optimize databases for production applications.
-- PostgreSQL Advanced Queries
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT email_format CHECK (email LIKE '%@%.%')
);
CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_users_created ON users(created_at DESC);
-- Complex query with CTE
WITH recent_users AS (
SELECT id, email, created_at
FROM users
WHERE created_at > CURRENT_DATE - INTERVAL '30 days'
),
user_activity AS (
SELECT user_id, COUNT(*) as activity_count
FROM user_logs
GROUP BY user_id
)
SELECT ru.id, ru.email, COALESCE(ua.activity_count, 0) as activity
FROM recent_users ru
LEFT JOIN user_activity ua ON ru.id = ua.user_id
ORDER BY ua.activity_count DESC;
Relational:
NoSQL:
Specialized:
# MongoDB Document Design Pattern
# Embedded vs Referenced
user_doc = {
"_id": ObjectId("..."),
"name": "John Doe",
"email": "john@example.com",
# Embedded relationship (denormalized)
"profile": {
"bio": "...",
"avatar_url": "..."
},
# Referenced relationship (normalized)
"addresses": [
ObjectId("address1"),
ObjectId("address2")
]
}
After completing this skill:
✅ Design normalized database schemas ✅ Write optimized SQL queries ✅ Implement indexes effectively ✅ Master PostgreSQL advanced features ✅ Design MongoDB document schemas ✅ Optimize query performance ✅ Implement replication and failover ✅ Manage backups and recovery ✅ Work with distributed databases ✅ Choose appropriate databases
# PostgreSQL Backup
pg_dump -U postgres mydb > backup.sql
pg_dump -U postgres -Fc mydb > backup.dump
# Restore
psql -U postgres < backup.sql
pg_restore -U postgres -d mydb backup.dump
# WAL Archiving for PITR (Point-in-Time Recovery)
# Configure postgresql.conf:
# wal_level = replica
# archive_mode = on
# archive_command = 'test ! -f /archive/%f && cp %p /archive/%f'
PostgreSQL Streaming Replication:
MongoDB Replica Sets:
Redis Sentinel:
| Role | Salary | Specialization |
|---|---|---|
| PostgreSQL DBA | $100K-220K | Advanced relational |
| MongoDB Expert | $110K-230K | Document databases |
| Database Architect | $120K-250K | Enterprise design |
| Blockchain Engineer | $100K-220K | Distributed ledgers |
Official Docs:
Books:
Courses:
Status: Comprehensive database skill covering 6 roles and 400+ competencies