Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions content/en/docs/overview/whatisvitess.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ The following sections compare Vitess to two common alternatives, a vanilla MySQ

Vitess improves a vanilla MySQL implementation in several ways:

| Vanilla MySQL | Vitess |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Vanilla MySQL | Vitess |
|:--|:--|
| Every MySQL connection has a memory overhead that ranges between 256KB and almost 3MB, depending on which MySQL release you're using. As your user base grows, you need to add RAM to support additional connections, but the RAM does not contribute to faster queries. In addition, there is a significant CPU cost associated with obtaining the connections. | Vitess creates very lightweight connections. Vitess' connection pooling feature uses Go's concurrency support to map these lightweight connections to a small pool of MySQL connections. As such, Vitess can easily handle thousands of connections. |
| Poorly written queries, such as those that don't set a LIMIT, can negatively impact database performance for all users. | Vitess employs a SQL parser that uses a configurable set of rules to rewrite queries that might hurt database performance. |
| Sharding is a process of partitioning your data to improve scalability and performance. MySQL lacks native sharding support, requiring you to write sharding code and embed sharding logic in your application. | Vitess supports a variety of sharding schemes. It can also migrate tables into different databases and scale up or down the number of shards. These functions are performed non-intrusively, completing most data transitions with just a few seconds of read-only downtime. |
Expand All @@ -61,8 +61,8 @@ Vitess improves a vanilla MySQL implementation in several ways:

If you're considering a NoSQL solution primarily because of concerns about the scalability of MySQL, Vitess might be a more appropriate choice for your application. While NoSQL provides great support for unstructured data, Vitess still offers several benefits not available in NoSQL datastores:

| NoSQL | Vitess |
|---------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
| NoSQL | Vitess |
|:--|:--|
| NoSQL databases do not define relationships between database tables, and only support a subset of the SQL language. | Vitess is not a simple key-value store. It supports complex query semantics such as where clauses, JOINS, aggregation functions, and more. |
| NoSQL datastores do not usually support transactions. | Vitess supports transactions. |
| NoSQL solutions have custom APIs, leading to custom architectures, applications, and tools. | Vitess adds very little variance to MySQL, a database that most people are already accustomed to working with. |
Expand Down
34 changes: 17 additions & 17 deletions content/en/docs/reference/programs/vtctl.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Tablets

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [InitTablet](../vtctl/tablets#inittablet) | `InitTablet [-allow_update] [-allow_different_shard] [-allow_master_override] [-parent] [-db_name_override=<db name>] [-hostname=<hostname>] [-mysql_port=<port>] [-port=<port>] [-grpc_port=<port>] [-tags=tag1:value1,tag2:value2] -keyspace=<keyspace> -shard=<shard> <tablet alias> <tablet type>` |
| [GetTablet](../vtctl/tablets#gettablet) | `GetTablet <tablet alias>` |
| [UpdateTabletAddrs](../vtctl/tablets#updatetabletaddrs) | `UpdateTabletAddrs [-hostname <hostname>] [-ip-addr <ip addr>] [-mysql-port <mysql port>] [-vt-port <vt port>] [-grpc-port <grpc port>] <tablet alias>` |
Expand Down Expand Up @@ -41,7 +41,7 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Shards

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [CreateShard](../vtctl/shards#createshard) | `CreateShard [-force] [-parent] <keyspace/shard>` |
| [GetShard](../vtctl/shards#getshard) | `GetShard <keyspace/shard>` |
| [ValidateShard](../vtctl/shards#validateshard) | `ValidateShard [-ping-tablets] <keyspace/shard>` |
Expand All @@ -67,7 +67,7 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Keyspaces

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [CreateKeyspace](../vtctl/keyspaces#createkeyspace) | `CreateKeyspace [-sharding_column_name=name] [-sharding_column_type=type] [-served_from=tablettype1:ks1,tablettype2:ks2,...] [-force] [-keyspace_type=type] [-base_keyspace=base_keyspace] [-snapshot_time=time] <keyspace name>` |
| [DeleteKeyspace](../vtctl/keyspaces#deletekeyspace) | `DeleteKeyspace [-recursive] <keyspace>` |
| [RemoveKeyspaceCell](../vtctl/keyspaces#removekeyspacesell) | `RemoveKeyspaceCell [-force] [-recursive] <keyspace> <cell>` |
Expand Down Expand Up @@ -98,7 +98,7 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Generic

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [Validate](../vtctl/generic#validate) | `Validate [-ping-tablets]` |
| [ListAllTablets](../vtctl/generic#listalltablets) | `ListAllTablets <cell name1>, <cell name2>, ...` |
| [ListTablets](../vtctl/generic#listtablets) | `ListTablets <tablet alias> ...` |
Expand All @@ -107,7 +107,7 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Schema, Version, Permissions

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [GetSchema](../vtctl/schema-version-permissions#getschema) | `GetSchema [-tables=<table1>,<table2>,...] [-exclude_tables=<table1>,<table2>,...] [-include-views] <tablet alias>` |
| [ReloadSchema](../vtctl/schema-version-permissions#reloadschema) | `ReloadSchema <tablet alias>` |
| [ReloadSchemaShard](../vtctl/schema-version-permissions#reloadschemashard) | `ReloadSchemaShard [-concurrency=10] [-include_master=false] <keyspace/shard>` |
Expand All @@ -130,7 +130,7 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Serving Graph

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [GetSrvKeyspaceNames](../vtctl/serving-graph#getsrvkeyspacenames) | `GetSrvKeyspaceNames <cell>` |
| [GetSrvKeyspace](../vtctl/serving-graph#getsrvkeyspace) | `GetSrvKeyspace <cell> <keyspace>` |
| [GetSrvVSchema](../vtctl/serving-graph#getsrvsvchema) | `GetSrvVSchema <cell>` |
Expand All @@ -139,13 +139,13 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Replication Graph

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [GetShardReplication](../vtctl/replication-graph#getshardreplication) | `GetShardReplication <cell> <keyspace/shard>` |

### Cells

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [AddCellInfo](../vtctl/cells#addcellinfo) | `AddCellInfo [-server_address <addr>] [-root <root>] <cell>` |
| [UpdateCellInfo](../vtctl/cells#updatecellinfo) | `UpdateCellInfo [-server_address <addr>] [-root <root>] <cell>` |
| [DeleteCellInfo](../vtctl/cells#deletecellinfo) | `DeleteCellInfo [-force] <cell>` |
Expand All @@ -155,7 +155,7 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### CellsAliases

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [AddCellsAlias](../vtctl/cell-aliases#addcellsalias) | `AddCellsAlias [-cells <cell,cell2...>] <alias>` |
| [UpdateCellsAlias](../vtctl/cell-aliases#updatecellsalias) | `UpdateCellsAlias [-cells <cell,cell2,...>] <alias>` |
| [DeleteCellsAlias](../vtctl/cell-aliases#deletecellsalias) | `DeleteCellsAlias <alias>` |
Expand All @@ -164,7 +164,7 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Queries

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [VtGateExecute](../vtctl/queries#vtgateexecute) | `VtGateExecute -server <vtgate> [-bind_variables <JSON map>] [-keyspace <default keyspace>] [-tablet_type <tablet type>] [-options <proto text options>] [-json] <sql>` |
| [VtTabletExecute](../vtctl/queries#vttabletexecute) | `VtTabletExecute [-username <TableACL user>] [-transaction_id <transaction_id>] [-options <proto text options>] [-json] <tablet alias> <sql>` |
| [VtTabletBegin](../vtctl/queries#vttabletbegin) | `VtTabletBegin [-username <TableACL user>] <tablet alias>` |
Expand All @@ -175,7 +175,7 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Resharding Throttler

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [ThrottlerMaxRates](../vtctl/resharding-throttler#throttlermaxrates) | `ThrottlerMaxRates -server <vtworker or vttablet>` |
| [ThrottlerSetMaxRate](../vtctl/resharding-throttler#throttlersetmaxrate) | `ThrottlerSetMaxRate -server <vtworker or vttablet> <rate>` |
| [GetThrottlerConfiguration](../vtctl/resharding-throttler#getthrottlerconfiguration) | `GetThrottlerConfiguration -server <vtworker or vttablet> [<throttler name>]` |
Expand All @@ -185,14 +185,14 @@ aliases: ['/docs/reference/vitess-api/','/docs/reference/vtctl/']
### Topo

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [TopoCat](../vtctl/topo#topocat) | `TopoCat [-cell <cell>] [-decode_proto] [-decode_proto_json] [-long] <path> [<path>...]` |
| [TopoCp](../vtctl/topo#topocp) | `TopoCp [-cell <cell>] [-to_topo] <src> <dst>` |

### Workflows

| Name | Example Usage |
| :-------- | :--------- |
| :-------- | :--------------- |
| [WorkflowCreate](../vtctl/workflows#workflowcreate) | `WorkflowCreate [-skip_start] <factoryName> [parameters...]` |
| [WorkflowStart](../vtctl/workflows#workflowstart) | `WorkflowStart <uuid>` |
| [WorkflowStop](../vtctl/workflows#workflowstop) | `WorkflowStop <uuid>` |
Expand All @@ -207,8 +207,8 @@ The following global options apply to `vtctl`:


| Name | Type | Definition |
| :-------- | :--------- | :--------- |
| -alsologtostderr | | log to standard error as well as files|
| :------------------------------------ | :--------- | :----------------------------------------------------------------------------------------- |
| -alsologtostderr | | log to standard error as well as files |
| -app_idle_timeout | duration | Idle timeout for app connections (default 1m0s) |
| -app_pool_size | int | Size of the connection pool for app connections (default 40) |
| -azblob_backup_account_key_file | string | Path to a file containing the Azure Storage account key; if this flag is unset, the environment variable VT_AZBLOB_ACCOUNT_KEY will be used as the key itself (NOT a file path) |
Expand Down Expand Up @@ -305,7 +305,7 @@ The following global options apply to `vtctl`:
| -pool_hostname_resolve_interval | duration | if set force an update to all hostnames and reconnect if changed, defaults to 0 (disabled) |
| -purge_logs_interval | duration | how often try to remove old logs (default 1h0m0s) |
| -query-log-stream-handler | string | URL handler for streaming queries log (default "/debug/querylog") |
| -querylog-filter-tag | string | string that must be present in the query for it to be logged |
| -querylog-filter-tag | string | string that must be present in the query as a comment for the query to be logged, works for both vtgate and vttablet |
| -querylog-format | string | format for query logs ("text" or "json") (default "text") |
| -queryserver-config-acl-exempt-acl | string | an acl that exempt from table acl checking (this acl is free to access any vitess tables). |
| -queryserver-config-enable-table-acl-dry-run | | If this flag is enabled, tabletserver will emit monitoring metrics and let the request pass regardless of table acl check results |
Expand Down Expand Up @@ -403,7 +403,7 @@ The following global options apply to `vtctl`:
| -twopc_abandon_age | float | time in seconds. Any unresolved transaction older than this time will be sent to the coordinator to be resolved. |
| -twopc_coordinator_address | string | address of the (VTGate) process(es) that will be used to notify of abandoned transactions. |
| -twopc_enable | | if the flag is on, 2pc is enabled. Other 2pc flags must be supplied.|
| -tx-throttler-config | string | The configuration of the transaction throttler as a text formatted throttlerdata.Configuration protocol buffer message (default "target_replication_lag_sec: 2\nmax_replication_lag_sec: 10\ninitial_rate: 100\nmax_increase: 1\nemergency_decrease: 0.5\nmin_duration_between_increases_sec: 40\nmax_duration_between_increases_sec: 62\nmin_duration_between_decreases_sec: 20\nspread_backlog_across_sec: 20\nage_bad_rate_after_sec: 180\nbad_rate_increase: 0.1\nmax_rate_approach_threshold: 0.9\n") |
| -tx-throttler-config | string | The configuration of the transaction throttler as a text formatted throttlerdata.Configuration protocol buffer message (default "target_replication_lag_sec: 2 max_replication_lag_sec: 10 initial_rate: 100 max_increase: 1 emergency_decrease: 0.5 min_duration_between_increases_sec: 40 max_duration_between_increases_sec: 62 min_duration_between_decreases_sec: 20 spread_backlog_across_sec: 20 age_bad_rate_after_sec: 180 bad_rate_increase: 0.1 max_rate_approach_threshold: 0.9 ") |
| -tx-throttler-healthcheck-cells | value | A comma-separated list of cells. Only tabletservers running in these cells will be monitored for replication lag by the transaction throttler. |
| -v | value | log level for V logs |
| -version | | print binary version |
Expand Down
6 changes: 3 additions & 3 deletions content/en/docs/reference/programs/vtctld.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ vtctld \
## Options

| Name | Type | Definition |
| :-------- | :--------- | :--------- |
| :------------------------------------ | :--------- | :----------------------------------------------------------------------------------------- |
| -action_timeout | duration | time to wait for an action before resorting to force (default 2m0s) |
| -alsologtostderr | | log to standard error as well as files |
| -app_idle_timeout | duration | Idle timeout for app connections (default 1m0s) |
Expand Down Expand Up @@ -132,7 +132,7 @@ vtctld \
| -proxy_tablets | boolean | Setting this true will make vtctld proxy the tablet status instead of redirecting to them |
| -purge_logs_interval | duration | how often try to remove old logs (default 1h0m0s) |
| -query-log-stream-handler | string | URL handler for streaming queries log (default "/debug/querylog") |
| -querylog-filter-tag | string | string that must be present in the query for it to be logged |
| -querylog-filter-tag | string | string that must be present in the query as a comment for the query to be logged, works for both vtgate and vttablet |
| -querylog-format | string | format for query logs ("text" or "json") (default "text") |
| -queryserver-config-acl-exempt-acl | string | an acl that exempt from table acl checking (this acl is free to access any vitess tables). |
| -queryserver-config-enable-table-acl-dry-run | boolean | If this flag is enabled, tabletserver will emit monitoring metrics and let the request pass regardless of table acl check results |
Expand Down Expand Up @@ -238,7 +238,7 @@ vtctld \
| -twopc_abandon_age | float | time in seconds. Any unresolved transaction older than this time will be sent to the coordinator to be resolved. |
| -twopc_coordinator_address | string | address of the (VTGate) process(es) that will be used to notify of abandoned transactions. |
| -twopc_enable | boolean | if the flag is on, 2pc is enabled. Other 2pc flags must be supplied. |
| -tx-throttler-config | string | The configuration of the transaction throttler as a text formatted throttlerdata.Configuration protocol buffer message (default "target_replication_lag_sec: 2\nmax_replication_lag_sec: 10\ninitial_rate: 100\nmax_increase: 1\nemergency_decrease: 0.5\nmin_duration_between_increases_sec: 40\nmax_duration_between_increases_sec: 62\nmin_duration_between_decreases_sec: 20\nspread_backlog_across_sec: 20\nage_bad_rate_after_sec: 180\nbad_rate_increase: 0.1\nmax_rate_approach_threshold: 0.9\n") |
| -tx-throttler-config | string | The configuration of the transaction throttler as a text formatted throttlerdata.Configuration protocol buffer message (default "target_replication_lag_sec: 2 max_replication_lag_sec: 10 initial_rate: 100 max_increase: 1 emergency_decrease: 0.5 min_duration_between_increases_sec: 40 max_duration_between_increases_sec: 62 min_duration_between_decreases_sec: 20 spread_backlog_across_sec: 20 age_bad_rate_after_sec: 180 bad_rate_increase: 0.1 max_rate_approach_threshold: 0.9 ") |
| -tx-throttler-healthcheck-cells | value | A comma-separated list of cells. Only tabletservers running in these cells will be monitored for replication lag by the transaction throttler. |
| -v | value | log level for V logs |
| -version | | print binary version |
Expand Down
Loading