Explanation

Bytebase vs. Liquibase: a side-by-side comparison for database schema migration

Changyu
Changyu13 min read
Bytebase vs. Liquibase: a side-by-side comparison for database schema migration

If Liquibase is Git, then Bytebase is GitHub/GitLab.

When looking for a database CI/CD and schema migration change tool, Bytebase and Liquibase are two common options. Understanding the differences between these two tools can help potential users choose the one that best meets their needs.

What Bytebase and Liquibase have in common

  • Native SQL supported.
  • Database CI/CD with version control system #GitOps (see Database GitOps configuration).
  • Auto SQL check (see Auto SQL check).
  • Schema Synchronization (see Sync schema).
  • Tiered pricing, offering both free and paid plan.
  • Open source, Liquibase has a long history, while Bytebase is growing faster. star-history

What are the differences between Bytebase and Liquibase?

While both Bytebase and Liquibase are tools for database CI/CD, there are some key differences between the two. Liquibase main product is its CLI and the java library. Bytebase also provides a CLI, while its main product is the GUI-based workspace for developers and DBAs to collaborate.

LiquibaseBytebase
Product positionSchema changeSchema Change
Developer interfaceCLIGUI, API
Supported databases5022
Programming language and installationJava + JVMGolang and no other dependency
Change executionChangelog + CLIIssue + GUI
Batch Change-βœ… Multi-environment / Multi-tenant
Database GitOpsβœ…βœ…
SQL auto checkβœ… Paid versionβœ… Available in Free version
Approval flow-βœ…
Change historyβœ…βœ…
Sync schemaβœ…βœ…
Rollbackβœ… Manualβœ… Auto generated rollback statement
Schema drift detectionβœ… Manualβœ… Auto
Slow query detection and advisor-βœ…
Data access control, security and compliance-βœ…

Product position

  • Liquibase: A database schema change and version control tool. It helps you track, manage, and automate changes to your database. liquibase-position

  • Bytebase: In addition to database schema change and version control, Bytebase also provides data query, security, and governance features. It provides a GUI based collaboration workspace that helps DBAs and Developers manage the database development lifecycle. bytebase-position

Developer interface

Supported databases

  • Liquibase: 50 - IBM DB2, MS SQL Server, Oracle, PostgreSQL, MySQL, Snowflake, MongoDB, ClickHouse ...
  • Bytebase: 22 - MySQL, PostgreSQL, ClickHouse, Snowflake, MongoDB, Redis, Redshift, Oracle, MS SQL Server ...

Installation

  • Liquibase: Java-based tool, so you need to install a Java Virtual Machine (JVM) before users can install Liquibase.
  • Bytebase: Go-based tool, a self-contained binary with no external dependency. Also provides Docker and Kubernetes deployment.

Change execution

  • Liquibase: CLI or GitOps. Users specify the changes by defining a changelog and then run a command.

liquibase-changelog liquibase-update

  • Bytebase: Web-based GUI or GitOps. Users create issues with SQL which could be approved. An issue may include SQL running against one database, or batch change against multiple databases span across different development environments and different tenants. bytebase-issue

    Users can create tenant project to facilitate batch change. In tenant mode, users can do advanced canary release. bytebase-canary

    Users can also do online schema change for large tables to reduce downtime from hours to seconds. bytebase-online-schema-change

Database GitOps configuration

  • Liquibase: Integrate with VCS CI workflow. liquibase-gitlab-gitops

  • Bytebase: Point-and-Click GitOps workflow setup. bytebase-gitlab-gitops

    You may even enable SQL Review in GitLab automatically by clicking a checkbox while configuring GitOps workflow. (which is not in the video) bytebase-gitops-sql-review

    Check the video: Setting up GitLab VCS integration for Bytebase (GitOps)

    Because Bytebase has the similar project concept as seen in GitLab/GitHub, the GitOps integration is nature to the developers.

SQL auto check

SQL auto check helps developers write less buggy SQL and save DBAs manual review efforts.

  • Liquibase: SQL Quality check
  • Bytebase: SQL Review

Supported Plan

  • Liquibase: Only in Pro Plan and above
  • Bytebase: Available in Free Plan

Number of rules

  • Liquibase: 10 general rules
  • Bytebase: 49 rules for MySQL, 38 rules for PostgreSQL, 18 rules for Oracle ...

How to configure

  • Liquibase: Predefined, users may set levels while calling. liquibase-quality-check
  • Bytebase: Rules are predefined, users can activate and choose error level for specific rules. The picked rule set will make a reusable policy which can be applied to environment, e.g. Test, Staging, Prod. bytebase-sql-review-rules

How to trigger

  • Liquibase: Run check command or manually integrate this command in automation. Users may go to admin console to view logs. liquibase-validate-result

  • Bytebase: Three places to trigger SQL review by default, users may manually integrate it to other scenarios by API as well:

    1. When a database change is created as an issue. bytebase-issue-auto-sql-review

    2. When users query data from SQL Editor. bytebase-sql-editor-review

    3. When users enable GitOps workflow, before a new SQL is merged into the main branch. bytebase-gitops-merge

Approval flow

Change history

  • Liquibase: Simple Database Change Logs. liquibase-logs

  • Bytebase: Change History tracking diffs and the originated issue. bytebase-change-history bytebase-change-diff

Sync schema

  • Liquibase: Support diff-changelog to compare databases and to create a deployable changelog to sync.
  • Bytebase: Choose a specific schema version, auto calculate the diff with selected databases. bytebase-sync-schema-step1 bytebase-sync-schema-step2

Rollback

  • Liquibase: Support rollback-one-changeset or rollback.
  • Bytebase: By using sync schema, users may revert to a specific version. Also support auto rollback.

Schema drift detection

  • Liquibase: Not supported.
  • Bytebase: Will auto detect schema diff if someone manipulates the schemas out of Bytebase. bytebase-schema-drift

Slow query detection and advisor

  • Liquibase: Not supported.
  • Bytebase: Will auto detect slow queries and send weekly summary report. Provide an AI-based index advisor to provide query optimization advice. bytebase-slow-query

Data access control, security and compliance

  • Liquibase: Not supported.

  • Bytebase: With centralized SQL Editor, data access is controlled, reviewed, audit-logged. Also provide data masking, watermark.

    bytebase-sql-editor

    Bytebase supports RBAC, e.g. developers need to require permission to access or export databases via SQL Editor. bytebase-request-query-export

    Everything that happened within Bytebase will be recorded for audit purposes. bytebase-audit

    Bytebase also supports SSO, IM webhook and etc.

Summary

To summarize, Bytebase and Liquibase are both viable options for database CI/CD. Liquibase deliver its feature via its CLI, while Bytebase offers a GUI-based collaboration space.

As an analogy, Liquibase is Git for database, and Bytebase is GitHub/GitLab for database. Git is good for local and personal use. On the other hand, for team development which needs collaboration, review, access control and etc, GitHub/GitLab is more suitable.

Related comparisons:

Jointhe community

At Bytebase, we believe in the power of collaboration and open communication, and we have a number of communities that you can join to connect with other like-minded.

Subscribe toΒ Newsletter

By subscribing, you agree with Bytebase's Terms of Service and Privacy Policy.