Database Reviewer Guidelines

This page includes introductory material for new database reviewers.

If you are interested in getting an application update reviewed, check the database review guidelines.

Scope of work done by a database reviewer

Database reviewers are domain experts who have substantial experience with databases, SQL, and query performance optimization.

A database review is required whenever an application update touches the database.

The database reviewer is tasked with reviewing the database specific updates and making sure that any queries or modifications perform without issues at the scale of GitLab.com.

For more information on the database review process, check the database review guidelines.

How to apply for becoming a database reviewer

Team members are encouraged to self-identify as database domain experts, by adding it to your profile YAML file:

  1. Make a merge request using the Database reviewer template.
  2. Add your database expertise to your YAML file:

    projects:
      gitlab:
        - reviewer database
    
  3. Create the merge request using the “Database reviewer” template.
  4. Assign to a database maintainer or the Database Team’s Engineering Manager.

After the team.yml update is merged, the Reviewer roulette may recommend you as a database reviewer.

Resources for database reviewers

As a database reviewer, join the internal #database Slack channel and ask questions or discuss database related issues with other database reviewers and maintainers.

There is also an optional database office hours call held bi-weekly, alternating between European/US and Asia-Pacific (APAC) friendly hours. You can join the office hours call and bring topics that require a more in-depth discussion between the database reviewers and maintainers:

Get familiar with using Database Lab from postgres.ai, a bot that provides developers with their own clone of the production database.

Understanding and efficiently using EXPLAIN plans is at the core of the database review process. The following guides provide a quick introduction and links to follow on more advanced topics:

We also have licensed access to The Art of PostgreSQL. If you are interested in getting access, GitLab team members can check out the issue here: https://gitlab.com/gitlab-org/database-team/team-tasks/-/issues/23.

Finally, you can find various guides in the Database guides page that cover more specific topics and use cases. The most frequently required during database reviewing are the following:

How to apply to become a database maintainer

Becoming a database maintainer uses the same process as the other projects. Follow the general process documented here.

For database specific requirements, see Project maintainer process for gitlab-database

What to do if you feel overwhelmed

Similar to all types of reviews, unblocking others is always a top priority. Database reviewers are expected to review assigned merge requests in a timely manner or let the author know as soon as possible and help them find another reviewer or maintainer.

We are doing reviews to help the rest of the GitLab team and, at the same time, get exposed to more use cases, get a lot of insights and hone our database and data management skills.

If you are feeling overwhelmed, think you are at capacity, and are unable to accept any more reviews until some have been completed, communicate this through your GitLab status by setting the :red_circle: emoji and mentioning that you are at capacity in the status text.