David Harris

Database Administrator

A good database book doesn’t just teach queries - it teaches thinking in data. It shows you how to normalize effectively, tune indexes, structure transactions, and make architectural choices based on workload patterns. I review books that help professionals build robust, secure, and scalable data systems - whether it’s PostgreSQL, MySQL, Oracle, or MongoDB. If a book can prepare someone to troubleshoot a failing production replica under pressure, it’s worth recommending.
David Harris

I’m David Harris, a Database Administrator (DBA) with over 12 years of experience in managing, optimizing, and securing large-scale relational and NoSQL databases. I hold a B.Sc. in Information Systems from Purdue University and have worked across industries such as finance, e-commerce, and healthcare, supporting mission-critical data infrastructure.

I write reviews of database books because the quality of learning materials can directly affect how well developers and DBAs understand systems that run the backbone of most applications. Whether it’s SQL tuning, replication strategies, or cloud-native storage, I focus on books that offer real-world value, not just academic theory. Databases are not just about storage - they’re about consistency, performance, and making informed trade-offs.

More Than Code: What Drives My Work

I believe databases should be invisible when they work - fast, stable, and well-monitored. My role is to make sure data is reliable, secure, and always available. As a DBA, I focus on prevention, automation, and collaboration with developers.

  • Monitor everything - you can’t fix what you can’t see
  • Indexes are powerful - and dangerous when misunderstood
  • Backups mean nothing without tested restores
  • Don’t optimize blindly - measure, then tune
  • Security starts at the query level
  • Automate routine checks, but investigate anomalies manually

Keeping Systems Stable: My DBA Work in High-Load Environments

I’ve led database migrations, managed terabyte-scale PostgreSQL and Oracle clusters, and implemented disaster recovery strategies. My work spans on-prem, hybrid, and cloud-native environments.

Highlighted Projects:

  1. FinLedger – PostgreSQL Performance Audit
    Conducted a full audit of query performance for a financial platform. Tuned autovacuum settings, rewrote high-cost queries, and added partial indexes. Reduced P95 latency by over 60% on core transaction endpoints.
  2. MedVault – High-Availability Cluster Deployment
    Designed and deployed an HA PostgreSQL cluster with streaming replication, automated failover (Patroni), and integrated pgBackRest for backup. Created monitoring dashboards using Prometheus + Grafana.
  3. RetailDB – MySQL to Aurora Migration
    Migrated legacy MySQL infrastructure to AWS Aurora with zero downtime. Automated schema validation, optimized replication lag, and improved backup retention strategies.
  4. QueryScan – SQL Static Analysis Tool (Open Source)
    Built a Python-based tool that parses and scores SQL queries for common anti-patterns (e.g., wildcard selects, unfiltered joins, missing WHERE clauses). Used in CI pipelines to enforce best practices.
  5. HealthStore – MongoDB Sharding for Patient Records
    Implemented horizontal sharding and write scaling for a document-based medical platform. Designed shard key strategy, optimized indexes, and reduced write conflicts in high-concurrency environments.

The Database Technologies I Use to Keep Data Systems Stable, Fast, and Secure

As a Database Administrator, I ensure that the data systems supporting critical applications are reliable, performant, and secure. My expertise spans SQL optimization, backup and recovery strategies, high availability setups, and managing both OLTP and OLAP workloads. I work closely with developers and DevOps teams to fine-tune queries, monitor system health, and prevent bottlenecks before they occur.

Below is an overview of the database technologies I use regularly and how I apply them in production environments:

Technology / Tool Using Since How I Use It in Practice
PostgreSQL 2016 My go-to open-source RDBMS for scalable systems. I handle schema design, indexing strategies, logical replication, and fine-grained permission control.
MySQL / MariaDB 2015 Used in high-load web systems. I manage replication (master-slave, GTID), tune performance with slow query logs, and implement point-in-time recovery.
Microsoft SQL Server 2017 I configure and monitor enterprise SQL Server environments with jobs, triggers, stored procedures, and Always On availability groups.
Oracle Database 2017 I work with legacy systems on Oracle, focusing on PL/SQL tuning, partitioning strategies, and managing large data volumes with performance guarantees.
MongoDB 2019 I handle document-based data in microservices and analytics use cases. I monitor memory and IOPS, and ensure schema validation via Mongoose or native tools.
Backup & Recovery (pgBackRest, mysqldump, RMAN) 2017 I implement full, incremental, and offsite backups with verification and disaster recovery protocols in place.
Monitoring (Zabbix, Prometheus, pg_stat_statements) 2020 I set up dashboards, alerts, and usage metrics to catch slow queries, deadlocks, and replication lags before they affect production.
SQL Optimization & Indexing 2015 I write and refactor complex SQL, analyze execution plans, and design indexing schemes that minimize load and maximize throughput.

Databases Can Be Simple - If You Start Smart

  • Start with the book "PHP & MySQL: Server-side Web Development" by Jon Duckett
  • Learn normalization and basic relational design
  • Practice writing SELECT queries with real datasets
  • Learn how transactions work - and why they matter
  • Backup your databases - then test restoring them
  • Use indexing carefully, not blindly

Real-World Answers to Real Developer Questions

Q1: What makes a great database book?

Clarity, real-world examples, and attention to performance. I look for books that balance schema design, query writing, and operational topics like backups, replication, and monitoring. Bonus points for case studies, diagrams, and security practices. Books that prepare readers for both development and operational tasks are invaluable.

Q2: Is PostgreSQL better than MySQL?

It depends on your needs. PostgreSQL offers advanced features like CTEs, full-text search, and custom data types - making it ideal for complex apps. MySQL is often easier to set up and lighter-weight, but lacks certain standards compliance. Both are great when used appropriately, and I’ve recommended books for each.

Q3: What are common beginner mistakes in database design?

Over-normalizing (or under-normalizing), ignoring indexing, and not thinking through data access patterns. Also: using SELECT *, storing multiple values in one column, and forgetting to define primary keys. Another big one: assuming the ORM will handle everything perfectly - it won’t.

Q4: Do I need to learn SQL deeply if I’m using an ORM?

Yes. ORMs simplify query generation, but they often obscure what’s really happening. You still need to understand indexes, joins, and how to troubleshoot slow queries. Books that combine SQL with ORM-awareness are especially useful for developers working in full-stack environments.

Q5: What’s your advice for becoming a better DBA?

Understand the why behind every setting. Learn your database engine inside out, and don’t rely only on GUI tools. Use monitoring to find weak spots, automate your maintenance scripts, and practice disaster recovery scenarios. Also - always test version upgrades in staging with real workload simulations.

Books That Power Secure and Scalable Databases

Table of Contents
Image

Sveta Smirnova and Alkin Tezuysal

MySQL Cookbook
Image

Henrietta Dombrovskaya

PostgreSQL Query Optimization
Image

Simon Aubury, Ned Letcher

Getting Started with DuckDB