Time-Series Databases Compared: InfluxDB, TimescaleDB, Prometheus
Time-series databases explained: metrics, IoT and events, compression, retention and downsampling, plus InfluxDB vs TimescaleDB vs Prometheus vs ClickHouse.
Blog
Installing, tuning, securing and backing up MySQL, MariaDB, PostgreSQL, Redis, MongoDB and more.
Time-series databases explained: metrics, IoT and events, compression, retention and downsampling, plus InfluxDB vs TimescaleDB vs Prometheus vs ClickHouse.
Install MongoDB Community Edition on Ubuntu from the official repository, enable authentication, create users, configure remote access safely and back up.
Use MongoDB Compass with MongoDB on a VPS: enable auth, connect over an SSH tunnel (recommended) or open the port with TLS and firewall rules, troubleshoot.
Secure self-hosted databases: network exposure, authentication, least privilege, TLS, encrypted backups, patching, auditing and common breach causes.
How indexes work in MySQL and PostgreSQL, choosing columns, composite index order, covering indexes, reading EXPLAIN and when indexes hurt.
Why database connections are expensive, how pools work, sizing them correctly, app-side pools vs PgBouncer and ProxySQL, and common pitfalls.
Restore MySQL to any moment: enable and keep binary logs, take consistent full backups, find the bad statement, replay binlogs with mysqlbinlog, and test.
Recover a lost MySQL or MariaDB root password: try sudo mysql first, then reset with --skip-grant-tables safely, on Ubuntu, Debian, AlmaLinux and Rocky.
Tune PostgreSQL on a VPS: shared_buffers, effective_cache_size, work_mem, WAL and checkpoints, autovacuum, connections and pooling, and finding slow queries.
MariaDB vs MySQL compared: history, licensing, compatibility, JSON, authentication, replication, performance features and when switching between them is safe.
How vector databases power AI apps: embeddings, similarity search, HNSW, pgvector vs Qdrant vs Milvus, self-hosting on a VPS, RAM sizing and RAG search.
A practical database backup routine: consistent dumps, compression, encrypted off-site copies with restic, retention, monitoring and restore tests.
Install ClickHouse from the official repository, secure the default user, create a MergeTree table, load data and run fast analytical queries.
Use Redis Streams for event logs and job queues: XADD, XREAD, consumer groups, XREADGROUP and XACK, pending entries, XAUTOCLAIM, trimming, vs Pub/Sub.
Install Memcached, bind it to localhost, disable UDP, set memory and connections, connect from PHP and Python, and check its stats.
How CockroachDB replicates with Raft, starting a three-node TLS cluster, PostgreSQL compatibility, survival goals, licensing and when it pays off.
Set Redis maxmemory, choose the right eviction policy (allkeys-lru, volatile-ttl, noeviction and more), monitor evictions and memory, and avoid OOM on a VPS.
Partition large MySQL tables: when it helps and when it doesn't, RANGE by date, LIST, HASH and KEY, partition pruning, dropping old data, and limits.
Extend PostgreSQL: install and enable extensions, and the most useful ones: pg_stat_statements, pgcrypto, pg_trgm, PostGIS, TimescaleDB, pgvector, pg_cron.
Back up MongoDB with mongodump: whole server, databases and collections, gzip archives, oplog consistency, restores and automation.
Back up big MySQL databases without downtime using XtraBackup: install, full and incremental backups, prepare and restore, compression and streaming.
Install MySQL 8 on Ubuntu, run mysql_secure_installation, understand auth_socket, create an app user and database, and tune basic settings.
Run OpenSearch and OpenSearch Dashboards on a VPS with Docker Compose: admin password, heap and kernel settings, single-node mode, security and first queries.
Diagnose MySQL error 1045: wrong password, user@host mismatch, socket vs TCP, auth plugins, anonymous users and root on Ubuntu, with fixes.