Skip to main content

How Lucid Gives Engineers Safe, Self-Service Access to Production Databases with Bytebase

Lucid Software is the maker of Lucidchart and Lucidspark, the visual collaboration suite used by teams to diagram, plan, and align—trusted by millions of users and the majority of the Fortune 500. By adopting Bytebase, Lucid replaced an ops-gated, manual query-request process with safe self-service access to production data, so engineers can query, debug, and check query performance independently while customer data stays protected.

With Bytebase, Lucid:

  • Moved 600+ yearly ad-hoc query requests off its ops on-call team and onto engineer self-service
  • Cut typical query turnaround from 5–20 minutes to under a minute
  • Cut "bad" query requests to next to zero with automated SQL Review at the front of the workflow
  • Gives every engineer masked, just-in-time access — and self-serve EXPLAIN on production — without exposing customer data

Before and after: Lucid's production query workflow, from ops-gated requests to self-service in BytebaseBefore and after: Lucid's production query workflow, from ops-gated requests to self-service in Bytebase

When Every Query Went Through Ops

Production database access at Lucid was historically limited to the ops on-call team. When anyone outside that group needed to run an ad-hoc query, they submitted a Slack workflow and waited for ops to run it on their behalf. As Lucid's engineering organization grew, that process did not scale—in the year before switching to Bytebase, it absorbed more than 600 ad-hoc query requests—and each request carried friction:

  • Invalid syntax meant back-and-forth. Engineers often submitted queries that wouldn't run, so either ops and the engineer went round in circles fixing them, or an ops member had to work out the fix themselves.
  • Sharing results was tedious. Query output had to be copied out of a terminal and passed back through a secure channel.
  • Every result risked exposing data. It took care and attention to make sure no unnecessary information or customer data left the database in those results.
  • There was no temporary access. An engineer debugging an issue over a day or two had to file a fresh request for each query and wait, or pair with an ops member for an extended stretch to get them all run.

Query performance had the same bottleneck. Running an EXPLAIN meant asking an ops member each time, which was tedious enough that many queries were merged into the codebase without anyone understanding how they would perform at scale.

Self-Service Queries, Without the Risk

Lucid runs Bytebase self-hosted on AWS, in front of its production MySQL databases. With it, Lucid opened up production querying to engineers directly while keeping ops in control of what runs: requests flow through Bytebase's query request workflow, and SQL Review validates each one before it reaches anyone for approval.

"Query validation and SQL Review have reduced the number of 'bad' query requests to next to zero. When ops gets a request sent to them they can have high confidence the query will run successfully and follows many of our best practices."

Hunter Rees, Principal SRE Software Engineer at Lucid

Slack notifications tie the loop together: ops is told when there are queries waiting for approval, and engineers are told the moment their requests are approved. And because engineers run their queries and export the results inside Bytebase's SQL Editor, the old difficulty of copying output out of a terminal and sharing it safely simply went away.

It is faster, too. A request that used to sit in the ops queue now turns around in about a minute.

"The average query request before Bytebase could take anywhere from 5 to 20 minutes, depending on the complexity or if the initial query had errors. With Bytebase that time is cut down to a minute or less."

Hunter Rees, Principal SRE Software Engineer at Lucid

Masking So Every Query Is Safe by Default

What makes self-service access safe at Lucid is dynamic data masking. Lucid configured robust masking rules so that no data leaves the database beyond what a given user should see—which means ops no longer has to scrutinize every result for accidental exposure.

"We spend far less time evaluating queries because of this. We have robust data masking rules configured so no data is shared from the DB beyond what should be."

Hunter Rees, Principal SRE Software Engineer at Lucid

Just-in-Time Access

Masking pairs with just-in-time, temporary access: engineers can be granted scoped, time-bound access to the database exactly when they need it, rather than filing a new request for every query. Together, the two let individual engineers work independently to debug and investigate while production data stays protected.

Understanding Query Performance with EXPLAIN

Bytebase also closed Lucid's query-performance gap. Every engineer can now run EXPLAIN against the production database to understand how a query will behave at scale—on their own, without routing the request through ops. Performance is something engineers can check before a query lands in the codebase, instead of a question that was too tedious to ask.

A Responsive Partnership

Standing up a new layer in front of production has not been entirely without bumps, but Lucid points to Bytebase's responsiveness as a reason the setup has held up.

"There have been a few times where things were a bit rocky with our Bytebase setup … but you guys have always been great at responding quickly to feedback and input and getting things fixed in a timely manner."

Hunter Rees, Principal SRE Software Engineer at Lucid

A Model for Safe Self-Service

Lucid's setup shows that opening production access to engineers and keeping that access controlled are not in tension. By moving ad-hoc queries onto a self-service workflow with SQL Review at the front, masking by default, just-in-time access, and EXPLAIN in every engineer's hands, Lucid turned a process that once ran entirely through its ops team into one engineers can drive themselves—without giving up protection of customer data.

Back to case studies

More case studies

note
Database Access ControlDatabase Compliance

How note.com Implements Just-in-Time (JIT) Database Access Control with Bytebase

Read more
LayerX
Database Change ManagementDatabase Compliance

How LayerX Achieves "Painless" Governance and Security in the Cloud

Read more
CVTE
Database Change ManagementDatabase Access Control

How CVTE Uses Bytebase to Manage Factory Databases

Read more

Explore the standard for database development