Support for assets > 25 MiB in KV

Support for assets > 25 MiB in KV
1ļøāƒ£ OMG YES I NEED THIS 2ļøāƒ£ Neat 3ļøāƒ£ I need you to fix something else (please specify)
Poll by beelzabub#0369
16 Replies
beelzabub
beelzabub•3y ago
Not committing to anything but as part of KV 2.0 one of the things I've been noodling on is whether this kind of feature is useful.
Chaika
Chaika•3y ago
If the limit wasn't 25 MiB, then what would it be? Any thoughts on that?
beelzabub
beelzabub•3y ago
What would make it interesting to you?
Unknown User
Unknown User•3y ago
Message Not Public
Sign In & Join Server To View
Chaika
Chaika•3y ago
Hmm, most of my use for KV is more with storing web assets and such, maybe 100 MiB? To me, it seems right now there's a pretty big cliff where you go from KV's 25 MiB Limit to R2's 5 TB, losing KV's benefits.
beelzabub
beelzabub•3y ago
Yeah. I don't know if the R2 team will pick this up and integrate or if this might become a standalone product, but the architectural improvements we're landing for KV are reusable both internally and potentially externally as a standalone product. Not happening any time soon though for sure.
DaniFoldi
DaniFoldi•3y ago
Hmm, I agree the 25MB limit is sometimes just a bit too small for web assets, although what I'm most sad about is that KV is more like an edge "cache" than a storage solution/database. Being pull-based I find it hard to justify $5/m list/write operations with reading potentially stale data for up to a minute (or longer if explicitly cached, yet still billed for reads). If it were push based, something like quicksilver, I'd give up size - say 8k would be more than enough for some kv-like configuration data storage - we have AE now MeowHeartCloudflare so it would be so perfect for saas's to have config stored in KV, but eventually be pushed to all colos for low latency cold reads.
beelzabub
beelzabub•3y ago
Have you signed up for KV 2.0 Beta?
DaniFoldi
DaniFoldi•3y ago
I have ameowparty
beelzabub
beelzabub•3y ago
Kk. I hope to start admitting people in soon. What does "something like silverlight" mean?
DaniFoldi
DaniFoldi•3y ago
*quicksilver, I got the name confused šŸ˜…
Chaika
Chaika•3y ago
That would be expensive lol, can't imagine that being cheap at all. Does KV's latency/pull-basedness effect you that much? If you get a enough traffic to get stuff in cache, and it revalidates in the background, should be set.
beelzabub
beelzabub•3y ago
Ah ok. KV 2.0 is hybrid push+pull and should be somewhat competitive with QS in terms of how quickly writes propagate and more than competitive in terms of how many write/s we can support. In theory we can make the eyeball see a write within seconds but there’s logistical and scaling challenges with making it actually happen, so that capability may have more expensive pricing. New API capabilities and their pricing isn’t something we’ll have clarity on for a few more months I think
DaniFoldi
DaniFoldi•3y ago
Again, it doesn't necessarily have to be KV, and it doesn't have to support 25MB values, I'd be happy if keys+metadata were pushed, and the value pulled when read for example
Chaika
Chaika•3y ago
I see. I was curious what exact use case you had that KV wouldn't cover but Quicksilver would, but rereading it again I guess your reasoning is more along not wanting stale data & wanting faster lists and other operations then just simple fetching from a key. Super interesting that Vitali said it is push+pull though, sounds like it may be somewhat like you are saying. Hopefully we get beta access sometime soontm
beelzabub
beelzabub•3y ago
I’m happy to give anyone beta access. There’s a signup list. I think we lit up a bunch of test namespaces last week. We’re in the middle of fixing a bad constituency bug but I think we have it narrowed down so we’re going to go broader on the rollout sometime this week. I’m also going to challenge this assumption that the only way to get it is through push. I think we can get low consistency delay reads another way. As for ā€œglorified cacheā€ vs ā€œdatabaseā€, I think that’s a very vague comparison and depends on how you define ā€œdatabaseā€. Anything that stores structured data is technically a database. A file system is a non-distributed hierarchical database. A CDN is a distributed eventually consistent database. QS is a push replicated KV store. KV2 is a hybrid push + edge cache w/ opportunistic refresh. I have ideas on how to explore making it fully push but the main challenge is one of scale. For example, KV scales better than QS both in terms of total amount of data stored, write throughput, and the sizes of the objects. QS performs better for read latency but that’s hard to compare because there’s a number of bottlenecks in our way (that we’re working to remove) that aren’t for QS. The only thing left I think is the consistency delay and I think we can actually be just as good (maybe better depending on how you measure) without needing to push all the way to the edge. YMMV of course but if you haven’t signed up for KV2 I would recommend doing it. It’s not yet possible to self control the refresh rate but if it’s helpful for you to experiment, we can discuss.

Did you find this page helpful?