ProductPromotion
Logo

Go.Lang

made by https://0x3d.site

GitHub - bytebase/bytebase: The GitHub/GitLab for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.
The GitHub/GitLab for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams. - bytebase/bytebase
Visit Site

GitHub - bytebase/bytebase: The GitHub/GitLab for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.

GitHub - bytebase/bytebase: The GitHub/GitLab for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.

Standard Operating Procedure (SOP) Standardize the database schema and data change process across different database systems, small or large tables and different tenants.SQL Review100+ lint rules to detect SQL anti-patterns and enforce consistent SQL style in the organization.GitOpsPoint-and-click GitHub and GitLab integration to enable GitOps workflow for changing database.
All-in-one SQL EditorWeb-based IDE specifically for performing SQL specific tasks.Data MaskingState-of-the-art column level masking engine to cover complex situations like subquery, CTE.Data Access ControlOrganization level policy to centralize the data access control.
Centralize Change, Query and Admin TasksA single place to perform different tasks on different databases, thus enforce policy and monitor activity accordingly. RBACTwo-level RBAC model mapping to the organization wide privileges and application team privileges respectively.Anomaly Center and Audit Logging Capture all database anomalies, user actions and system events and present them in a holistic view.
Manage Database Resources A single place to manage environments, database instances, database users for application development, with optional Terraform integration. Policy EnforcementEnforce organization wide SQL Review policy, backup policy and data access policy.SQL Editor Admin modeCLI like experience without setting up bastion.

๐Ÿ–– Intro

Watch the 30-second product video

Bytebase is a Database CI/CD solution for the Developers and DBAs. It's the only database CI/CD project included by the CNCF Landscape and Platform Engineering. The Bytebase family consists of these tools:

  • Bytebase Console: A web-based GUI for developers and DBAs to manage the database development lifecycle.
  • Bytebase API: Provide both gRPC and RESTful API to manipulate every aspect of Bytebase.
  • SQL Review GitHub Action: The GitHub Action to detect SQL anti-patterns and enforce a consistent SQL style guide during Pull Request.
  • Terraform Bytebase Provider: The Terraform provider enables team to manage Bytebase resources via Terraform. A typical setup involves teams using Terraform to provision database instances from Cloud vendors, followed by using Bytebase provider to prepare those instances ready for application use.
Topic
๐Ÿ”ง Installation
๐ŸŽฎ Demo
๐Ÿ‘ฉโ€๐Ÿซ Tutorials
๐Ÿ’Ž Design Principles
๐Ÿงฉ Data Model
๐ŸŽญ Roles
๐Ÿ•Š Developing and Contributing
๐Ÿคบ Bytebase vs Alternatives

๐Ÿ”ง Installation

๐ŸŽฎ Demo

Live demo at https://demo.bytebase.com

You can also book a 30min product walkthrough with one of our product experts.

๐Ÿ‘ฉโ€๐Ÿซ Tutorials

Product tutorials are available at https://www.bytebase.com/tutorial.

Integrations

๐Ÿ’Ž Design Principles

๐Ÿชถ Dependency Free Start with a single command ./bytebase without any external dependency. External PostgreSQL data store and others are optional.
๐Ÿ”— Integration First Solely focus on database management and leave the rest to others. We have native VCS integration with GitHub/GitLab, Terraform Provider, webhook, and etc.
๐Ÿ’‚โ€โ™€๏ธ Engineering Disciplined Disciplined bi-weekly release and engineering practice.

๐Ÿงฉ Data Model

More details in Data Model Doc.

๐ŸŽญ Roles

More details in Roles and Permissions Doc.

Bytebase employs RBAC (role based access control) and provides two role sets at the workspace and project level:

  • Workspace roles: Admin, DBA, Member. The workspace role maps to the role in an organization.
  • Project roles: Owner, Developer, Releaser, Querier, Exporter, Viewer. The project level role maps to the role in a specific team or project.

Every user is assigned a workspace role, and if a particular user is involved in a particular project, then she will also be assigned a project role accordingly.

Below diagram describes a typical mapping between an engineering org and the corresponding roles in the Bytebase workspace

๐Ÿ•Š Developing and Contributing

  • Bytebase is built with a curated tech stack. It is optimized for developer experience and is very easy to start working on the code:

    1. It has no external dependency.
    2. It requires zero config.
    3. 1 command to start backend and 1 command to start frontend, both with live reload support.
  • Interactive code walkthrough

  • Follow Life of a Feature.

Dev Environment Setup

Prerequisites

  • Go (1.23.2 or later)
  • pnpm
  • Air (our forked repo @87187cc with the proper signal handling). This is for backend live reload.
    go install github.com/bytebase/air@87187cc
    

Steps

  1. Pull source.

    git clone https://github.com/bytebase/bytebase
    
  2. Create an external Postgres database on localhost.

    CREATE USER bbdev SUPERUSER;
    CREATE DATABASE bbdev;
    
  3. Start backend using air (with live reload).

    PG_URL=postgresql://bbdev@localhost/bbdev $(go env GOPATH)/bin/air -c scripts/.air.toml
    

    Change the open file limit if you encounter "error: too many open files".

    ulimit -n 10240
    

    If you need additional runtime parameters such as --backup-bucket, please add them like this:

    air -c scripts/.air.toml -- --backup-region us-east-1 --backup-bucket s3:\\/\\/example-bucket --backup-credential ~/.aws/credentials
    
  4. Start frontend (with live reload).

    cd frontend && pnpm i && pnpm dev
    

    Bytebase should now be running at http://localhost:3000 and change either frontend or backend code would trigger live reload.

Tips

  • Use Code Inspector to locate frontend code from UI. Hold Option + Shift on Mac or Alt + Shift on Windows

๐Ÿคบ Bytebase vs Alternatives

Bytebase vs Flyway, Liquibase

Either Flyway or Liquibase is a library and CLI focusing on schema change. While Bytebase is an one-stop solution covering the entire database development lifecycle for Developers and DBAs to collaborate.

Another key difference is Bytebase doesn't support Oracle and SQL Server. This is a conscious decision we make so that we can focus on supporting other databases without good tooling support. In particular, many of our users tell us Bytebase is by far the best (and sometimes the only) database tool that can support their PostgreSQL and ClickHouse use cases.

Star History Chart

Bytebase vs Yearning, Archery

Either Yearning or Archery provides a DBA operation portal. While Bytebase provides a collaboration workspace for DBAs and Developers, and brings DevOps practice to the Database Change Management (DCM). Bytebase has the similar Project concept seen in GitLab/GitHub and provides native GitOps integration with GitLab/GitHub.

Another key difference is Yearning, Archery are open source projects maintained by the individuals part-time. While Bytebase is open-sourced, it adopts an open-core model and is a commercialized product, supported by a fully staffed team releasing new version every 2 weeks.

Star History Chart

Bytebase vs Metabase

Metabase is a data visualization and business intelligence (BI) tool. It's built for data teams and business analysts to make sense of the data.

Bytebase is a database development platform. It's built for the developer teams to perform database operations during the application development lifecycle.

Star History Chart

Bytebase vs CloudBeaver

Both have web-based SQL clients. Additionally, Bytebase offers review workflow, more collaboration and security features.

Star History Chart

Bytebase vs DBeaver / Navicat

SQL GUI Client such as MySQL Workbench, pgAdmin, DBeaver, Navicat provide a GUI to interact with the database. Bytebase not only provides a GUI client, it can also enforce centralized data access control for data security and governance.

Bytebase vs Jira

Jira is a general-purpose issue ticketing system. Bytebase is a database domain-specific change management system. Bytebase provides an integrated experience to plan, review, and deploy database changes.

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Community

Hang out on Discord

Follow us on Twitter

๐Ÿค” Frequently Asked Questions (FAQs)

Check out our FAQ.

๐Ÿ™‹ Contact Us

  • Interested in joining us? Check out our jobs page for openings.
  • Want to solve your schema change and database management headache? Book a 30min demo with one of our product experts.

Articles
to learn more about the golang concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here ๐Ÿ”ฅ.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here ๐Ÿ”ฅ.

Queries
or most google FAQ's about GoLang.

mail [email protected] to add more queries here ๐Ÿ”.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory