vitess

module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2023 License: Apache-2.0

README

Maven Central Build Status codebeat badge Go Report Card FOSSA Status CII Best Practices

Vitess

Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding.

By encapsulating shard-routing logic, Vitess allows application code and database queries to remain agnostic to the distribution of data onto multiple shards. With Vitess, you can even split and merge shards as your needs grow, with an atomic cutover step that takes only a few seconds.

Vitess has been a core component of YouTube's database infrastructure since 2011, and has grown to encompass tens of thousands of MySQL nodes.

For more about Vitess, please visit vitess.io.

Vitess has a growing community. You can view the list of adopters here.

Dolt's Use of Vitess

Dolt's fork of Vitess has headed in a different direction from the main project. In addition to adding support for DDL statements, stored procedures, and triggers (never a priority of the Vitess project), Dolt's fork prunes away the 90% of Vitess that isn't vital to Dolt's current roadmap as a version controlled database. You can read details about this work in this blog post.

Contact

Ask questions in the vitess@googlegroups.com discussion forum.

For topics that are better discussed live, please join the Vitess Slack workspace.

Subscribe to vitess-announce@googlegroups.com or the Vitess Blog for low-frequency updates like new features and releases.

Security

Security Audit

A third party security audit was performed by Cure53. You can see the full report here.

License

Unless otherwise noted, the Vitess source files are distributed under the Apache Version 2.0 license found in the LICENSE file.

FOSSA Status

Directories

Path Synopsis
go
cache
Package cache implements a LRU cache.
Package cache implements a LRU cache.
event
Package event provides a reflect-based framework for low-frequency global dispatching of events, which are values of any arbitrary type, to a set of listener functions, which are usually registered by plugin packages during init().
Package event provides a reflect-based framework for low-frequency global dispatching of events, which are values of any arbitrary type, to a set of listener functions, which are usually registered by plugin packages during init().
hack
Package hack gives you some efficient functionality at the cost of breaking some Go rules.
Package hack gives you some efficient functionality at the cost of breaking some Go rules.
mysql
Package mysql is a library to support MySQL binary protocol, both client and server sides.
Package mysql is a library to support MySQL binary protocol, both client and server sides.
netutil
Package netutil contains network-related utility functions.
Package netutil contains network-related utility functions.
sqltypes
Package sqltypes implements interfaces and types that represent SQL values.
Package sqltypes implements interfaces and types that represent SQL values.
stats
Package stats is a wrapper for expvar.
Package stats is a wrapper for expvar.
sync2
Package sync2 provides extra functionality along the same lines as sync.
Package sync2 provides extra functionality along the same lines as sync.
tb
Package tb exposes some handy traceback functionality buried in the runtime.
Package tb exposes some handy traceback functionality buried in the runtime.
vt/tlstest
Package tlstest contains utility methods to create test certificates.
Package tlstest contains utility methods to create test certificates.
vt/vterrors
Package vterrors provides simple error handling primitives for Vitess
Package vterrors provides simple error handling primitives for Vitess

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL