The JusDB Database Engineering Blog
Deep dives on PostgreSQL, MySQL, MongoDB and more — performance tuning, high availability, migrations and production war stories from our DBAs.
Popular Searches
Latest Articles
Showing 12 of 37 articles
MySQL 8.0 Window Functions: ROW_NUMBER, LAG, LEAD, and Running Totals
Master MySQL 8.0 window functions for analytical queries. Covers ROW_NUMBER, RANK, LAG/LEAD for period comparison, running totals with SUM OVER, and NTILE quartiles.
MySQL Schema Migration Best Practices: Expand-Contract and Batch Backfills
Execute MySQL schema migrations safely with the expand-contract pattern, batched backfills, backward-compatible changes, and migration tooling comparison (Flyway, Liquibase, gh-ost).
ClickHouse MergeTree Engine: Storage Architecture and Query Optimization
ClickHouse MergeTree is why ClickHouse queries 1 billion rows in 0.3 seconds. Learn how parts, merges, and sparse indexes work, and how to choose the ORDER BY key, secondary indexes, and MergeTree variants.
MySQL JSON Columns: Operators, Generated Column Indexes, and Partial Updates
Use MySQL JSON columns effectively with path operators, functional indexes via generated columns, JSON_CONTAINS filtering, and partial updates with JSON_SET.
PostgreSQL Schema Design for Multi-Tenant SaaS: Three Patterns Compared
Compare three PostgreSQL multi-tenant patterns: shared schema with RLS, schema-per-tenant, and database-per-tenant. Includes hash partitioning for shared schema at scale.
PostgreSQL Privilege Management: Roles, Default Privileges, and Least Privilege
Implement least-privilege access in PostgreSQL with role hierarchies, ALTER DEFAULT PRIVILEGES, schema separation, and privilege auditing queries.
TiDB 8.0: Distributed SQL for Growing Workloads
TiDB 8.0 is the most production-ready version of the distributed SQL database yet. With improved HTAP, stronger MySQL compatibility, and Resource Groups, it's compelling for teams outgrowing single-node MySQL.
PostgreSQL EXPLAIN ANALYZE: Reading Query Plans and Fixing Slow Queries
Use PostgreSQL EXPLAIN and EXPLAIN ANALYZE safely, interpret estimates and runtime evidence, and test the smallest change that addresses the real bottleneck.
Null Handling in MongoDB: null vs Missing Fields vs undefined Explained
MongoDB's flexible schema allows fields to be null, explicitly set to null, or simply absent — and these three states behave differently in queries, aggregations, and indexes.
Demystifying MySQL EXPLAIN FORMAT=TREE: Read Query Plans Like a DBA
MySQL 8.0 introduced EXPLAIN FORMAT=TREE — a hierarchical, human-readable query plan format that reveals join order, access methods, and cost estimates in a way that the traditional tabular EXPLAIN cannot.
CockroachDB vs Google Spanner vs YugabyteDB: NewSQL Comparison
Compare CockroachDB, Google Spanner, and YugabyteDB — consistency models, PostgreSQL compatibility, and operational costs
Google Spanner: Globally Distributed SQL at Scale
Understand Google Spanner's architecture — TrueTime, interleaved tables, schema design, and cost model
Get the latest database insights and expert tips delivered to your inbox.
Subscribe to our RSS feed for instant updates.
RSS Feed