October 28, 2025
Stream dreams vs JSON screams
Sick: Indexed deduplicated binary storage for JSON-like data structures
Internet fights over 'SICK'—streaming JSON or just a weird new database
TLDR: SICK stores JSON-like data in indexed binary so apps can stream pieces instead of parsing whole files. Commenters are split: some call it a bespoke database and slam limits like 65k keys and lost order, while others see analytics-friendly promise and ask for real-world language support.
Meet SICK, a new way to store JSON-like stuff in compact, indexed binary so apps can grab just the pieces they need and even stream updates. Fans say it skips parsing giant files; critics say it’s “more complicated” and smells like reinventing the wheel.
Commenter gethly kicked off with “this has nothing to do with JSON,” accusing the post of name-dropping just to dunk on JSON’s slow parsing. Then slashdave dropped the grenade: “Isn’t this just a database?” Cue a pile-on of devs debating whether it’s storage magic or a bespoke science project. The vibe: equal parts curiosity and side-eye.
qixxiq waved receipts from the docs—limits like 65k keys per object and losing key order—and called “hard to imagine needing more” hilariously naive. Pragmatists like noobcoder saw real use in analytics events and asked for language bindings. Meanwhile, someone spammed a sketchy link and the thread collectively rolled its eyes.
Behind the drama: SICK proposes moving smarts to the encoder and indexing everything (strings, objects, arrays) via an “Efficient Binary Aggregate” format. Translation: less work when reading, more work when writing. The crowd is split between performance dreamers and folks who’ve seen this movie before. It’s tech promise vs dev PTSD, and nobody’s backing down.
Key Points
- •SICK proposes indexed, deduplicated binary storage for JSON-like data to enable partial, just-in-time access.
- •The approach targets efficient streaming parsers and update streaming, trading off with a more complex encoder.
- •JSON is described as Type-2 grammar requiring a pushdown automaton, complicating efficient streaming parsing.
- •Structures are flattened into tables of unique values with (type, index) references, supporting reordering when no removals.
- •EBA format encodes fixed-size references and indexable lists, including variable-length values via counts, offsets, and concatenation.