In order to sort items in a table you use a "sort key", but then when you want to delete one of the items in the table you then have to provide the primary key and the sort key.
I get why; it's partitioning based on keys, and the sort key is part of the compound key, so it needs it to fully address the row you're deleting.
I want to build something and I need to say my plans out loud, but I don't have any friends let alone any that use #Mastodon or #JavaScript so I'm just gonna info dump here:
I wrote a blog describing how I translated a feature request into a #cloudnative#eventdrivenarchitecture, where the events we're interested in convey nothing happening for a certain amount of time.
But before I arrived at my current solution, I considered other solutions. I describe those as well, and explain their shortcomings.
It involves #AWS#DynamoDB, DynamoDB Streams, and #Lambda (#kotlin), with some #DDD context mapping considerations thrown into the mix.
The load time for the timelines bothers me; it's still occasionally timing out just loading 20 toots from two servers. I feel like introducing a #webSocket is my only choice, but I don't like the idea of adding client-side rendering.
I've already hit #AWS#Lambda's default 5s timeout fetching just two #mastodon timelines with https://schizo.social. I'm going to need a more clever solution for making multiple API requests to build a single page. Maybe prefetching, maybe spawning a background process and updating the UI via a #webSocket when they complete? I'm trying to keep it as client-side #javaScript free as I can, but waiting on multiple masto servers just isn't going to work...
We benchmarked read and update performance by running common workloads with a fixed dataset size of 50GB (plus replications) and multiple throughput levels (measured by operations per second) across two popular SDBaaS solutions: Amazon #DynamoDB and #Redis Enterprise Cloud. No matter which workload we tested, Redis Enterprise Cloud maintained an end-to-end latency of 0.5-0.6 msec. https://redis.com/blog/serverless-databases-as-a-service/