Database Engineering
This page is dedicated to database application engineering and provides an entry-point for resources on this topic.
Database Maintainer
For the Bramble codebase, Database Maintainers contribute to the code review process by reviewing database-related changes and applying database review guidelines. They typically engage into conversations about database queries and their performance, database schema design and database migrations.
The Database Maintainer role:
- Is an additional role, typically for Backend Engineers.
- Follows the same definition as any other Bramble code maintainer](/handbook/engineering/workflow/code-review/#maintainer).
- May come with some operational responsibility for Brmbl.io and its database infrastructure.
- May be expected to participate in incident management issues.
- Adheres to the review turnaround time of 2 working days.
Recommended links and reference materials
Books
(In no particular order.)
- I. Ahmed, G. Smith et al: “PostgreSQL 10 High Performance: Expert techniques for query optimization, high availability, and efficient database maintenance.” (2018)
- Hans-Jürgen Schönig: “Mastering PostgreSQL 11” (2018)
- Markus Winand: “SQL Performance Explained”
- Dimitri Fontaine: “The Art of PostgreSQL” - Virtual training is available for GitLab team members.
- Alex Petrov: “Database Internals”
Other resources
- Official PostgreSQL mailinglists, particularly
pgsql-general
- Postgres Weekly
- Planet PostgreSQL
- SQL Indexing and Tuning e-Book (also known as “Use The Index Luke”)
- Weekly show on Scaling PostgreSQL
- Detailed documentation of the operations and fields in PostgreSQL EXPLAIN query plans