How to get URL link on X (Twitter) App
https://twitter.com/haro_ca_/status/1620812999266287616The main idea is how to handle OLAP queries on mutable data. OLAP queries on immutable data are pretty straightforward. But as soon as the data can mutate, things start getting interesting. That's what I'm going to focus on with this thread.
https://twitter.com/ghalimi/status/1615065408599654401The assumption is that source data is partitioned as a set of Parquet files (with or without Iceberg). From there, if your query is map-reducible, you can use @DuckDB's COMBINE to map it on a fleet of Lambdas, then reduce it on an EC2 VM. That's what #STOIC does today.
https://twitter.com/ghalimi/status/1615028240615370757Here is a screenshot of our current UI. For us, SELECT is a transform that can be used in a data journey to generate a new table, either directly from an import, or downstream of other transforms.
https://twitter.com/ghalimi/status/1614266907666055169Instead of taking a SQL-oriented approach, I want to take a task-oriented approach. And I want to free myself from SQL's hierarchical structure, while still producing a well-formed SQL query in the end.
Relative Baseline in Bar Plots
https://twitter.com/ghalimi/status/1614244954657927169As a baseline, we will use this @duckdb documentation for SQL's SELECT:
https://twitter.com/ghalimi/status/1614234050981658624There are many ways to design a SQL query designer, and to design a good one, two critical questions must be answered first: who is the audience, and what is their working environment?
For reference purposes, here are Tabula transforms: 
One of the most critical design elements that make #STOIC work the way it does is its rich data typing system (Principia Data): each and every column is defined with a precise datatype, which conditions how it is serialized, processed, and analyzed.
To be clear, we need a solution that would be compatible with @duckdb's SQL parser and would be as idiomatic as possible. Otherwise, we'll have to invent our own syntax and do some pre-processing. That's always an option, but I'd like to avoid it if possible.
Q2