Great overview + all applies to Spirit too. But also jealous my videos don’t have the same level of visualizations.
Particularly agree on all the caveats about online DDL. It’s very hard to navigate and be successful.
Ahhh my first video is liveeee! 🙈 I give a demo of how schema changes can lock up your database, how online schema change tools work, and how you can make schema changes without any locking or downtime.
https://t.co/uQOw6ZCcIP
@sunbains@mjovanovictech IMHO the explanation of the cache-aside is too simplistic. If you depend on the cache there will be a race (aka stampede) where everyone tries to regenerate the cache at once.
Regenerate it from the DB is nice, but usually in the cache you want to store more complicated objects
We are sold-out ! But there is a waiting list, please don't hesitate to subscribe to it if you want to attend we might free some spots next week ! #MySQLBelgianDays#MySQLCommunity 🐬🇧🇪
Interesting idea by @morgo
https://t.co/gFXppOxTzV
I think it’s doable but don’t think it’s as simple as taking multiple views from a single transaction. IIRC, handling the deletes makes it tricky.
Perhaps easier to use a transaction per B-tree sub-tree. Once a sub-tree scan completes delete the read view.
@sunbains Yes, apply phase can be tricky:
Gh-ost/spirit implement the "multiple read views" feature already outside the server (autocommit reads), so that part of the FR was not novel.
Gh-ost is single threaded apply. Spirit is multi-threaded only when PK is mem comparable.
@sunbains It can be multiple transactions. There is no reason it has to be one, it just needs to be RC+. As long as it subscribes and applies changes (delete,insert, update) at the end it will be consistent.
@tobias_petry@Muffins_@MySQL@mariadb This is likely the result of MySQL cost-model work in ~MySQL 5.7. I think it is relevant because new cost model work is a MariaDB 11 feature. Implementations will likely differ of course.