Skip to content

Instantly share code, notes, and snippets.

@phoenix24
Last active August 11, 2021 13:38
Show Gist options
  • Save phoenix24/f72b4353cdd64e62d4a2daae9ee78817 to your computer and use it in GitHub Desktop.
Save phoenix24/f72b4353cdd64e62d4a2daae9ee78817 to your computer and use it in GitHub Desktop.
Hey,
I've been a long time observer and recent user of vitess, and planetscale's recent launch of db-as-a-service encouraged me to put down the following three requests/ ideas.
I look forward to hearing your thoughts.
-Chaitanya
PS: I was hoping to reachout with a pr, turns out it'll take a tad longer.
---
**request 1**
refactor mysql protocol** out, and into a standalone library.
**why?** interesting possibilities now open up as a consequences of above,
- this creates a path for engineers to add support for other databases, most notably pgsql (personal project, which got me started)
- this allows a hypothetical scenario, to run hybrid rdbms infra with mysql + pgsql under vitess.
- this allows a hypothetical scenario, to do hot-db-migrations
- this allows real use-cases, which use mysql or pgsql wire-protocol libraries
- ex. a network sniffer, which could re-construct a req-response pairs from the wire traffic. (personal project)
- to auto-generate db tests.
---
**request 2**
add support for graphql as a first-class protocol at vitess.
**why?** vitess already supports mysql wire protocol,
- supporting graphql out of the box, would help application developers.
- position vitess a credible choice in the JamStack world.
- position vitess a credible choice in the low-code / no-code world.
---
**request 3**
add support for auto-tuning, for queries.
**why?** because it's hard for a non-expert. and if it's automatable, then it should be automated.
- because vitess is the perfect middle-layer to run, tune models and apply optimisations
- if there's a rise of citizen-developers with no-code tools, then's there's also a rise of citizen data-analysts.
- recent papers, [https://db.cs.cmu.edu/papers/2021/ma-sigmod2021.pdf](https://db.cs.cmu.edu/papers/2021/ma-sigmod2021.pdf)
- recent conferences, [https://twitter.com/andy_pavlo/status/1423640552487149575?s=20](https://twitter.com/andy_pavlo/status/1423640552487149575?s=20)
- recent startup by cmu prof andy pavlo, [https://ottertune.com/](https://ottertune.com/)
- recent oracle announcement on mysql autopilot, [https://www.oracle.com/mysql/heatwave/](https://www.oracle.com/mysql/heatwave/)
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/91f557fb-f601-4b33-8fca-0d769412fbf4/Screenshot_2021-08-11_at_7.04.27_PM.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/91f557fb-f601-4b33-8fca-0d769412fbf4/Screenshot_2021-08-11_at_7.04.27_PM.png)
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2a913863-db63-4b34-bacb-4b5b79f8a280/Screenshot_2021-08-11_at_7.05.43_PM.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2a913863-db63-4b34-bacb-4b5b79f8a280/Screenshot_2021-08-11_at_7.05.43_PM.png)
![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9daebbf4-11a8-4863-b06c-f9e93e4fe719/Screenshot_2021-08-11_at_7.01.07_PM.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9daebbf4-11a8-4863-b06c-f9e93e4fe719/Screenshot_2021-08-11_at_7.01.07_PM.png)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment