awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
github avatar

github/gh-ost

0
View on GitHub↗
13,409 estrellas·1,387 forks·Go·MIT·5 vistas

Gh Ost

gh-ost is a triggerless online schema migration tool for MySQL. It functions as a replication client and table management utility that synchronizes data from a source table to a shadow table using binary logs, allowing for table structure modifications without locking original tables or causing downtime.

The tool distinguishes itself by using binary-log-based replication instead of triggers to stream row-based events to a shadow table. It implements load-aware throttling and dynamic performance tuning to adjust migration speed based on server load and replication lag. Users can monitor and adjust the migration process in real time through a socket-based interactive control interface.

The project covers a broad range of database operation capabilities, including atomic table swapping for zero-downtime cut-overs and parallel execution of multiple schema migrations. It provides verification tools for migration integrity, such as replica simulation, checksum validation, and dry-run migrations. The system also supports various database topologies and includes an event-driven hook system for executing external scripts during the migration lifecycle.

Features

  • Schema Migration Utilities - Provides a utility for applying database table structure modifications online without locking tables or using triggers.
  • Atomic Table Cut-Overs - Swaps the original table with the migrated version using a safety mechanism to prevent outages.
  • Atomic Table Swaps - Implements atomic rename operations to exchange original and migrated tables with minimal downtime.
  • Binary Log Streaming Tools - Uses binary log streaming to capture row-based events and apply them to a shadow table without triggers.
  • Shadow Table Mirroring - Copies data to a temporary shadow table to perform schema changes without impacting the original table.
  • Zero-Downtime Migrations - Enables updating large database tables with new columns or indexes without causing service outages.
  • Database Migration Tools - Functions as a database migration tool that synchronizes data from a source table to a shadow table using binary logs.
  • Load-Aware Throttling - Adjusts migration speed in real time based on server load and replication lag to prevent performance degradation.
  • Migration Resource Throttling - Throttles data transfer speeds and adjusts resource consumption in real time to prevent database server overload.
  • Binlog-Based Replication Management - Handles data synchronization and binary log streaming to move table changes from a source to a shadow table.
  • Online Schema Migrations - Modifies MySQL table structures without locking the database or using triggers to maintain application availability.
  • Online Schema Migration Tools - Provides a triggerless utility for modifying MySQL table structures without locking tables or causing downtime.
  • Primary-Replica Replication - Connects to a replica to capture and apply binary log events to the master table.
  • Lag Reduction Strategies - Tracks replication lag to dynamically throttle migration speed and reduce performance impact on the server.
  • Replication Clients - Acts as a replication client that monitors replication lag and streams row-based events to maintain consistency.
  • Load-Aware Throttling - Provides load-aware throttling that adjusts migration speed based on server load and replication lag to prevent performance degradation.
  • Data Migration - Copies table data in small segments to avoid long-running transactions and lock contention.
  • Concurrent Migration Execution - Executes multiple schema changes simultaneously on a single server using unique process identifiers.
  • Interactive Migration Managers - Allows users to send text commands via socket or TCP to monitor progress and adjust configuration live.
  • Table Management Utilities - Executes atomic table swaps and manages concurrent schema migrations across master and replica topologies.
  • Database Migrations - Cleans up temporary ghost and changelog tables after a crash to reset the database state.
  • Database Performance Tuning - Implements dynamic adjustment of chunk sizes and sleep ratios to balance migration speed with database stability.
  • Deferred Table Cut-Overs - Pauses the final swap of tables after synchronization to maintain a live mirror until ready.
  • Migration Simulations - Simulates the migration process on a replica server to verify data correctness and behavior before updating the master.
  • Migration Lifecycle Tools - Provides an interface to suspend operations, cancel throttling, or postpone the final table swap.
  • Migration Process Controls - Allows suspending write operations based on replication lag or server load to prevent database overload.
  • Topology Configurations - Adapts migration workflows for various setups including master-only, replica-based, and active-passive environments.
  • Replica Migration Validations - Executes full schema migrations on replicas to verify data integrity before the final table swap on the master.
  • Parallel Migration Execution - Enables the simultaneous execution of multiple schema migrations across different tables to improve efficiency.
  • Dry-Run Modes - Simulates the migration process without copying data or flipping tables to verify configuration.
  • Data Integrity Checksums - Verifies data integrity via checksums on a replica before applying migration changes to production.
  • Unix Socket Interfaces - Provides a control interface via Unix sockets or TCP for real-time configuration and monitoring.
  • Database Schema Validations - Tests schema changes on replica servers to verify data integrity before applying updates to the production master.
  • Real Time Process Monitors - Provides real-time status updates and progress monitoring via a Unix socket or TCP connection.
  • Migration Integrity Verifications - Allows for manual data comparison between source and migrated tables to ensure consistency before the final cut-over.
  • Database Tools - Online MySQL schema migration tool.
  • Schema Migration Tools - Online schema migration tool for MySQL.
  • Development and Schema - Performs online schema migrations without locking tables.

Historial de estrellas

Gráfico del historial de estrellas de github/gh-ostGráfico del historial de estrellas de github/gh-ost

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace github/gh-ost?

gh-ost is a triggerless online schema migration tool for MySQL. It functions as a replication client and table management utility that synchronizes data from a source table to a shadow table using binary logs, allowing for table structure modifications without locking original tables or causing downtime.

¿Cuáles son las características principales de github/gh-ost?

Las características principales de github/gh-ost son: Schema Migration Utilities, Atomic Table Cut-Overs, Atomic Table Swaps, Binary Log Streaming Tools, Shadow Table Mirroring, Zero-Downtime Migrations, Database Migration Tools, Load-Aware Throttling.

¿Qué alternativas de código abierto existen para github/gh-ost?

Las alternativas de código abierto para github/gh-ost incluyen: flyway/flyway — Flyway is a database schema versioning tool and SQL migration orchestrator. It applies version-controlled schema… ariga/atlas — Atlas is a SQL database schema management tool and database infrastructure as code framework. It provides a… siddontang/go-mysql — go-mysql is a toolkit for the Go programming language designed for implementing MySQL protocol handlers, binary log… doocs/advanced-java — This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency… typeorm/typeorm — TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented… vitessio/vitess — Vitess is a database clustering system for horizontal scaling of MySQL. It functions as a middleware layer that…

Alternativas open-source a Gh Ost

Proyectos open-source similares, clasificados según cuántas características comparten con Gh Ost.
  • flyway/flywayAvatar de flyway

    flyway/flyway

    9,844Ver en GitHub↗

    Flyway is a database schema versioning tool and SQL migration orchestrator. It applies version-controlled schema changes to relational databases using SQL scripts and Java Database Connectivity to ensure environments remain consistent and reproducible. The tool tracks applied migration scripts in a dedicated metadata table to determine which updates require execution. It supports the synchronization of schema versions across multiple different database engines and provides integration for build systems and application frameworks to automate updates during software release processes. Capabili

    Javaauroracontinuous-deliverycontinuous-deployment
    Ver en GitHub↗9,844
  • ariga/atlasAvatar de ariga

    ariga/atlas

    8,096Ver en GitHub↗

    Atlas is a SQL database schema management tool and database infrastructure as code framework. It provides a declarative database migration engine that computes the difference between a desired schema state and the current database state to automatically generate the necessary SQL for transitions. The project distinguishes itself through a comprehensive suite of analysis and visualization tools, including a database schema linter that detects destructive changes and data loss risks. It also features a SQL schema visualization tool capable of generating entity-relationship diagrams from extract

    Go
    Ver en GitHub↗8,096
  • siddontang/go-mysqlAvatar de siddontang

    siddontang/go-mysql

    4,953Ver en GitHub↗

    go-mysql is a toolkit for the Go programming language designed for implementing MySQL protocol handlers, binary log replication systems, mock servers, and schema parsing utilities. It provides the necessary libraries to interact with MySQL servers through native network protocols and binary log streams. The project enables the creation of custom database proxies or mock servers by parsing and decoding low-level network packets. It also includes a replication tool for streaming and processing binary logs to synchronize data across different storage systems, alongside a schema parser for extrac

    Go
    Ver en GitHub↗4,953
  • doocs/advanced-javaAvatar de doocs

    doocs/advanced-java

    78,987Ver en GitHub↗

    This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac

    Javaadvanced-javadistributed-search-enginedistributed-systems
    Ver en GitHub↗78,987
  • Ver las 30 alternativas a Gh Ost→