Journal
Notes from real projects - AWS, DynamoDB, Rust, home servers, and whatever open source tool I'm currently building.
Articles
DynamoDB's PartiQL reads some comparisons backwards
Ask DynamoDB's PartiQL for the items where 3 < sk and you get the ones where sk < 3. It runs without an error and returns the wrong rows. What I found, how to reproduce it, and who it's likely to affect.
Read articleDynoxide 1.6.0 release notes
Dynoxide 1.6.0 makes PartiQL queries read only the items they ask for, as DynamoDB does, so the capacity they report is what you'd pay on AWS.
Read articleDynoxide 1.5.0 release notes
Dynoxide 1.5.0 charges vector reads the way DynamoDB now does, fixes stream eventIDs repeating after a restart, and matches SearchVectors errors to AWS.
Read articleDynamoDB changed how it bills a vector read
On 9th October a DynamoDB read of an item with a vector in it cost 2 read units. On 22nd October the same read cost 1. I can't find anything from AWS about it, and the 400KB limit still counts the vector the old way.
Read articleDynoxide 1.4.0: clean shutdowns and JSON Lines import
Dynoxide 1.4.0 is a smaller one. JSON Lines import thanks to Sam Chung, a clean way to stop an embedded server, and updates and scans that behave more like DynamoDB.
Read articleDynoxide 1.3.0: security fixes and fussier pagination
Dynoxide 1.3.0 ended up a bit bigger than I'd planned. A few of the DynamoDB quirks I worked through, two security fixes, and quieter test output thanks to an external contribution.
Read articleParity Suite 3.6 and a month of emulator fixes
Floci went from 337 failing tests to one in five weeks, and LocalStack and MiniStack both moved up a grade. Meanwhile AWS changed how transactions validate halfway through measuring 3.6.0, so that one never reached the board.
Read articleDynamoDB vector search without embeddings
Serverless Advocate #85 had Lee Harding making the case that DynamoDB vector indexes are a nearest-neighbour tool, not an embeddings one, so I tried the geography case. A single geohash cell misses the nearest shop entirely. Read nine and it does not, which is the update at the end.
Read articleRunning DynamoDB vector search locally
Dynoxide has done DynamoDB vector search since 1.0.0. What I measured before building it, including the bit where AWS says the index is ready about fifteen minutes before it actually is, and the end of a rollout I have been watching since June.
Read articleParity Suite 3.0.0: measuring the wrong thing
The board scored emulators on a pass rate over what they attempted, so a score could jump 8 points without the engine changing a line. 3.0.0 replaces that with two figures, letter grades, and 56 new tests.
Read article