Engineering notes
Field notes
MySQL and MariaDB operations — the URLs the community kept linking to.
6to4: easing the IPv6 transition
6to4 for labs; native dual-stack for database endpoints you care about.
Cache preloading after mysqld startup
Warm buffer pools deliberately so the first traffic hour is not a cold-cache outage.
Call for papers: Open Source Developers’ Conference
Submit practical talks on databases, systems, and community for OSDC.
Dogfood: making our systems more resilient
Move infra before the public site depends on a single box. Dual masters, proxies, and expendable nodes beat heroics.
Error handling for MySQL applications
Retry deadlocks and lock waits; reconnect on gone-away. Design for InnoDB concurrency.
Experiment: MySQL tmpdir on tmpfs
Point tmpdir at tmpfs to speed spills — and know the OOM failure mode.
Fast paging in the real world
Replace OFFSET pagination with keyset (seek) pagination.
Fedora MariaDB Test Day
What to validate on a Fedora MariaDB Test Day — install, upgrade, replication, SELinux.
Finding and grouping contiguous ranges
SQL islands-and-gaps: collapse sparse IDs into min–max ranges.
Galera pre-deployment check
Network, SST, PKs, and failure drills before trusting wsrep.
Good practice / bad practice: table aliases
Alias every join; qualify every column; use pronounceable names.
GRAPH engine Linux binaries for MySQL 5.0.86-d10
32-bit and 64-bit Linux tarballs for OQGRAPH on the OurDelta MySQL 5.0.86-d10 line.
Hint: noatime and relatime in fstab
Stop pointless atime writes on database volumes.
HOST_FLUSH and the myth of userspace disk cache control
Linux will not let userspace invent durability after the fact. Use fsync contracts.
How many files does InnoDB have open?
With innodb_file_per_table, MySQL historically hid open .ibd counts. Use lsof — or Innodb_num_open_files where available.
Implementing sequences with a stored function and triggers
Shared sequence numbers in MySQL via a counter table, LAST_INSERT_ID, and triggers.
InnoDB without a PRIMARY KEY
InnoDB invents a hidden clustered key. Give it an explicit PK instead.
Joomla CMS and Freeway ecommerce
Notes from a Joomla user-group session: easy CMS uptake, Freeway as an osCommerce-derived shop, and payment-security pressure.
Levenshtein as a MySQL stored function
Edit distance in SQL works; O(n·m) will punish unfiltered scans.
MariaDB security updates: open patches, fast response
How MariaDB’s public patch process changes CVE response for operators.
Migrating MyISAM applications to InnoDB
Checklist: fulltext, table locks, PKs, online convert, application retries.
Modular vs integrated architecture
Split services when access patterns force it — not because blogs celebrated microservices.
MySQL 5.0 index merge
When the optimizer merges multiple indexes — and when a composite index still wins.
MySQL Cluster on Raspberry Pi
NDB on Pi is a teaching cluster, not a capacity plan.
MySQL Connector/Arduino
Fun demos; do not put DB credentials and 3306 on microcontrollers in production.
MySQL user groups & Meetup sponsorship
Why Open Query sponsors local MySQL and MariaDB meetups.
On SQL vs NoSQL
NoSQL is many products, not one architecture. Keep joins where the problem needs them; do not migrate wholesale on fashion.
One-way password crypting flaws
MD5 with a two-hex-digit salt is not password storage. Use a modern KDF with per-user salt and iteration.
Optimising web servers
Browser render and network dominate first; then memory, CPU, and I/O on the origin. Proxy buffering and X-Accel cut app concurrency.
OQGRAPH examples: paths, reachability, leaves
Runnable OQGRAPH patterns: backing table, Dijkstra, BFS, leaves, weights.
Oracle agrees to buy Sun
April 2009: Oracle’s Sun deal landed on the eve of the MySQL Users Conference — MySQL’s ownership path shifted again.
Predictive caching in a MySQL-backed infrastructure
Warm caches from known next steps — not only from last hits. Group behaviour is predictable even when individuals are not.
SQL locking and transactions — OSDC notes
Isolation, InnoDB locks, deadlocks, short transactions, ordered updates.
Storage caching in the Linux 3.9 era
Kernel writeback changes show up as MySQL stalls, not neat SQL errors.
Temporary tables and replication
TEMPORARY TABLE + statement vs row binlog — avoid replica surprises.
The actual range and storage size of an INT
INT(2) and INT(11) use the same storage. Display width is not precision — pick TINYINT…BIGINT (and DATE) deliberately.
The flipside of uptime
Long uptime is not a virtue metric. Reboot on your schedule, or discover broken boot paths during an outage.
The MariaDB Foundation
Why governance and compatibility promises matter to operators who sell services, not licences.
The problem with April Fools in the MySQL/web space
Truth already reads like satire. On April 1st people question; the rest of the year they often do not.
This week in OurDelta — Vol 1
Discipline for running enhanced MySQL builds: know your patches, test failover.
thread_stack in my.cnf
Set thread_stack to stop stack overflows in routines — it is not a throughput knob.
Tokutek Fractal Tree indexes
What Fractal Tree / TokuDB claimed for ingest — and how to evaluate any engine.
Tool of the day: inotify
Watch config and path changes with inotifywait.
Unqualified COUNT(*) speed: PBXT vs InnoDB
SELECT COUNT(*) FROM t with no WHERE forces a PK scan on MVCC engines. Cache ballpark figures; do not run it on every page view.
Walking trees with SQL
Adjacency lists, nested sets/path enums, and OQGRAPH — pick by access pattern.
What a hosting provider did today
Disk-full cleanups that delete error logs destroy the incident timeline.
What to do with the Falcon engine?
After Oracle/Sun, Falcon’s ‘InnoDB replacement’ story faded — keep it as a pluggable niche engine, not a discarded corpse.