Br

Brackit – a retargetable JSONiq based query engine for JSON

Hacker News

Brackit – a retargetable JSONiq based query engine for JSON

Hi all, Sebastian and his students did a tremendous job creating Brackit[1] in the first place as a retargetable query engine for different data stores. They worked hard to optimize aggregations and joins. Despite its clear database query engine routes, it's furthermore useable as a standalone ad-hoc in-memory query engine. Sebastian did his research for his Ph.D. at the TU-Kaiserslautern at the database systems group of Theo Härder. Theo Härder coined the well-known acronym ACID with Andreas Reuter, the desired properties of transactions. As he's currently not maintaining the project anymore, I stepped up and forked the project a couple of years ago. I'm using it for my evolutionary, immutable data store SirixDB[2], which stores the entire history of your JSON data in small-sized snapshots in an append-only file (tailored binary format similar to BSON). It's exceptionally well suited for audits, undo operations, and sophisticated analytical time travel queries. I've changed a lot of stuff, such that Brackit is getting more and more compatible with the JSONiq query language standard, added JSONiq update primitives, and fixed several bugs. Furthermore, I've added temporal extension functions and temporal XPath axis in SirixDB, index rewrite rules, etc. pp. As Brackit can query XML, we're also able to transform XML data to JSON and vice versa. Moshe and I are working on a Jupyter Notebook / Tutorial[3] for interactive queries. We're looking forward to your bug reports, issues, and questions. Contributions are, of course, highly welcome. Maybe even implementations for other data stores or common query optimizations. Furthermore, we'd gladly see further (university-based?) research. It should, for instance, be possible to add vector instructions in the future, as the query engine is already set-oriented and processes sets of tuples for the so-called FLWOR expressions (see JSONiq). Brackit rewrites FLWOR expression trees in the AST to a pipeline of operations to port optimizations from relational query engines for efficient join processing and aggregate expressions. Furthermore, certain parts of the queries are parallelizable, as detailed in Sebastian's thesis. We also envision a stage for the compiler to use distributed processing (first research used MapReduce, but we can now use better-suited approaches, of course). Kind regards Johannes [1] https://github.com/sirixdb/brackit [2] https://sirix.io | https://github.com/sirixdb/sirix [3] https://colab.research.google.com/drive/19eC-UfJVm_gCjY--koOWN50sgiFa5hSC

Share card

Actual performance

2points
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Strong signals: para, compatible · Missing: supports, reddit linkedin, podcasting
91%91% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Hacker NewsStrong engagement from HN community · Strong signals: pipe, io · Missing: https docs, excited, just released
63%63% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
Product HuntOn track for Day 1 leaderboard · Strong signals: google, using · Missing: mac, agents, macos
60%60% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
TrustMRRLess likely to generate early MRR · Strong signals: google, para · Missing: mobile apps, ios, personal
44%44% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Strong signals: efficient · Missing: plus, platform, intuitive
43%43% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Strong signals: active · Missing: arr, mrr, revenue
17%17% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Incorrect prediction on native model

Similar products

JS
JSON Query67%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

JSON Query

Hacker News154
TD
TDD your own query engine with rgSQL61%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

TDD your own query engine with rgSQL

Hacker News1
Jo
Josson and Jossons – A query language for JSON and a template engine49%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Josson and Jossons – A query language for JSON and a template engine

Hacker News1
JS
JSON incremental digger based on jq67%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

JSON incremental digger based on jq

Hacker News2
js
jsoon, a streaming JSON parser and query engine in C39%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

jsoon, a streaming JSON parser and query engine in C

Hacker News3
JS
JSON Query: A tool to query JSON data structures53%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

JSON Query: A tool to query JSON data structures

Hacker News41
Ma
Make NDB query results JSON serializable47%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Make NDB query results JSON serializable

Hacker News3
Fo
Foresta.js - AST Query Engine41%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Foresta.js - AST Query Engine

Hacker News2
JS
JSON-qs – JSON in query strings, human-readable, compact36%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

JSON-qs – JSON in query strings, human-readable, compact

Hacker News13
Ur
Urltron – represent JSON as clean url query parameters36%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Urltron – represent JSON as clean url query parameters

Hacker News3