VSchema User Guide: all sections done#643
Conversation
|
Deploy preview for vitess ready! Built with commit 5c41a9a |
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
28c504e to
e49c00c
Compare
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2c0e6b9 to
1ee4fae
Compare
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
1ee4fae to
09c0589
Compare
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
dcc9d79 to
9754bff
Compare
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
bf0e155 to
57edfc3
Compare
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
44540a3 to
26df9f7
Compare
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
7e615c0 to
55ae44a
Compare
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
6e6a086 to
8f55a72
Compare
rohit-nayak-ps
left a comment
There was a problem hiding this comment.
Very well explained and thorough!
Some minor typos need to be addressed.
| weight: 2 | ||
| --- | ||
|
|
||
| One of the goals for vitess is to provide a unified view for a large number of mysql clusters distributed across multiple data centers and regions. |
There was a problem hiding this comment.
There are multiple places in this guide where vitess and mysql are used: should it be Vitess and MySQL?
|
|
||
| The demo describes the VSchema JSON syntax. Many of the changes can be executed by issuing special DDL commands that Vitess understands. Wherever applicable, we have provided the equivalent DDL construct you could apply if you were running a live system. All the DDLs are also listed in the `vschema_ddls.sql` file. | ||
|
|
||
| It is generally recommeded that you get familiar with the JSON syntax as it will be useful for troubleshooting if something does not work as intended. |
There was a problem hiding this comment.
typo: recommeded => recommended
|
|
||
| In this logical view, a vitess keyspace is the equivalent of a mysql database. In many cases, this is a one-to-one mapping where a keyspace directly corresponds to a physical mysql server with a single database. However, a vitess keyspace can also be sharded. If so, a single keyspace would map to multiple mysql servers behind the scenes. | ||
|
|
||
| The topology is typically spread across multiple Topo Servers: The Global Topo server contains global information, like the list of keyspaces, shards and cells. This information gets deployed into cell-specific topo servers. Each cell specific Topo Server contains additional information about vttablets and mysql servers running in that cell. With this architecture, an outage in one cell does not affect other cells. |
There was a problem hiding this comment.
one place says "cell specific" instead of "cell-specific"
| * The `from` and `to` fields must reference the column names of the lookup table. | ||
| * The `owner` field indicates that `corder` is responsible for populating the lookup table and keeping it up-to-date. This means that an insert into `corder` will result in a corresponding lookup row being inserted in the lookup table, etc. Lookup vindexes can also be shared, but they can have only one owner each. We will later see an example about how to share lookup vindexes. | ||
|
|
||
| {{ info }} |
There was a problem hiding this comment.
info tags should be {{< info >}} and {{< /info >}}
|
|
||
| Creating a lookup vindex after the main table already contains rows does not automatically backfill the lookup table for the existing entries. Only newer inserts cause automatic population of the lookup table. This backfill can be set up using the `CreateLookupVindex` command covered below. | ||
|
|
||
| ### Check List |
There was a problem hiding this comment.
Check List should be one word: Checklist
|
|
||
| Please refer to [Region-based Sharding](../../configuration-advanced/region-sharding) for an example on how to use the `region_json` vindex. | ||
|
|
||
| Currently, the Vindex gets used for assigning a `keyspace_id` at the time of insert and at the time of resharding. Additional vindexes need to be added to the table for routing quer constructs that contain WHERE clauses. |
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
|
@sougou is it ok to merge this?: you had mentioned you wanted to ask some others to review it. Maybe we can just merge this now, so that it is available, and you can create a follow-up PR. |
This PR is for the vschema user guide part of #642.