yeah, this was my experience working with large scale systems at dropbox – whenever we permitted direct access to MySQL, it was effectively forcing a very specific index traversal. and, despite our best efforts, the query planner would still decide to do a full table scan or spill to disk at the worst possible times.
this was a big input to our design for convex (disclosure: cofounder), where the query API is pretty much just accessing index ranges (https://docs.convex.dev/database/indexes/). performance is extremely predictable, and with the right ergonomics, it can feel pretty good!
What happens when the properties of the data change? Does performance change or does this allow some part of the stack to optimize the query execution? Or does it not need that.
we only expose O(log n) primitives for database indexes (point lookups and index scans), so performance is pretty reasonable even if the dataset changes in scale or distribution.
we’re currently working on profiling tools for developers who want to optimize further, but we’ve found that most developers don’t have to worry about it.
yeah, this was my experience working with large scale systems at dropbox – whenever we permitted direct access to MySQL, it was effectively forcing a very specific index traversal. and, despite our best efforts, the query planner would still decide to do a full table scan or spill to disk at the worst possible times.
this was a big input to our design for convex (disclosure: cofounder), where the query API is pretty much just accessing index ranges (https://docs.convex.dev/database/indexes/). performance is extremely predictable, and with the right ergonomics, it can feel pretty good!
score 1 · canonical
What happens when the properties of the data change? Does performance change or does this allow some part of the stack to optimize the query execution? Or does it not need that.
score 1 · canonical
we only expose
O(log n)primitives for database indexes (point lookups and index scans), so performance is pretty reasonable even if the dataset changes in scale or distribution.we’re currently working on profiling tools for developers who want to optimize further, but we’ve found that most developers don’t have to worry about it.
score 1 · canonical