a curated list of database news from authoritative sources

July 07, 2020

July 05, 2020

What the Flush?

Yves Trudeau and Francisco Bordenave, MySQL experts at Percona, recently published a three-part post: (1) Give Love to Your SSDs – Reduce innodb_io_capacity_max!; (2) InnoDB Flushing in Action for Percona Server for MySQL; (3) Tuning MySQL/InnoDB Flushing for a Write-Intensive Workload. It’s a fantastic read from start to finish, and it made me realize: dirty pages sound bad, but they are good. I suspect the opposite (“dirty pages are not good”) is a misconception due to an incomplete picture. Let’s complete the picture.

July 01, 2020

June 29, 2020

21 Parameter Group Values to Change in Amazon RDS for MySQL

Amazon RDS for MySQL uses many default values for system variables, but it also sets a few “sys vars” with different values. As with any database, neither product (MySQL) nor provider (AWS) defaults can best suite all use cases. It’s our responsibility to carefully review and set every important system variable. This is tedious and difficult, but I’ve done it for you.

Below are are 21 MySQL 5.7 system variables that I recommend changing by creating a new parameter group. This presumes new RDS instances; some of these sys vars cannot be changed easily after provisioning MySQL. This only applies to RDS for MySQL, not Amazon Aurora.

June 15, 2020

June 14, 2020

Generating a full-stack application from a database

DBCore can now generate a TypeScript/React CRUD UI that is automatically hooked up to the generated REST API (in Go).

The UI has full support for login, viewing (and filtering), editing, and creating database entities.

PostgreSQL, SQLite and MySQL are supported.

How to use?

The goal of this project is primarily to provide as much useful boilerplate as possible for full-stack applications. The system is probably not sufficient to be an entire application development platform. It's currently missing hooks, overrides, and per-row/per-table authorization.

The UI code generation may be even less useful in the long-term than the API because UIs are by necessity very diverse. But it is good not to need to build the same browser-side API, authentication, and routing logic again now that it's taken care of in code generation.

Screenshots

Here are a few screenshots of the examples/todo application. Every page here is auto-generated after reading the database schema. The browser application is hooked up to the similarly auto-generated API.

Sign in
Creating a table entity
Viewing all table entities
Filtering table entities
Viewing an individual table entity
Editing a table entity

June 10, 2020