Just merged an update to <mdsinabox.com> - now off...
# show-us-what-you-got
j
Just merged an update to mdsinabox.com - now officially has evidence in as a util and some other goodness like an NFL šŸˆ model if that floats your boat!
t
when Formula 1 though? šŸŽļø
j
šŸ¤” šŸ¤”
If there are published odds I can build a model haha.
t
pretty sure it’s Redbull 100% for drivers and constructors championship. but p2 is looking interesting
v
Project (meltano.yml layout) is getting so good @jacob_matson any tweaks I'd recommend are so small they wouldn't make a difference great job!
e
This is great @jacob_matson! Who is your NFL team? We're gearing up for the season
j
i'm a seahawks fan! excited to see where it goes
j
@jacob_matson maybe I am a bit dense -- or maybe I overlooked something -- but I am having trouble building a mental model of a useful mdsinabox system that doesn't include a storage layer. Like, sure if the source of your data is always available and you can meltano tap it in to a duckdb database on the fly and analyse stuff that's cool and all, and maybe it's purposely simple so you can show it off with the NBA/NFL data. But is there a way to actually build a warehouse this way for a team -- with persistent data? I don't want to knock this because I enjoyed reading it and really appreciate your work here -- but it duckdb seems like a shiny bobble for data analysis workflows right now... rather than having good integrated data engineering use cases.
j
@john_cassil hey no problem, you aren't being dense! I'm starting to contemplate how to do this going forward. It was an intentional trade off i made in order to ship the project back in october 2022. Welcome some thoughts over on this github issue. https://github.com/matsonj/nba-monte-carlo/issues/102
Also see this PR - https://github.com/matsonj/nba-monte-carlo/pull/29 which did add S3 support via localstack but it was SO HEAVY. There were also a lot of moving parts with how materialization was supported with duckdb, and that is much more stable today.
I think with the #C05CNUF699B it might really streamline how this works (cc @visch), but i haven't had time to explore it yet
j
Designing this in my mind -- granted I haven't used meltano before, just been watching from afar and know very little
floating numbers
Of note: At CARFAX we had an ELTL system that I have never forgotten. It was way better than ETL or ELT because you could go back to the raw file and reload it if you found an issue or needed to bring in a new field -- but you didn't have to transform the same data every time -- and you didn't have to build complex incremental models for literally everything -- it was the assumed and easy default.
I dream of the day that DBT + something else is as beautiful as this handrolled system that people built with hadoop in like 2007
j
Fwiw I think you can go even simpler than what you have drawn up and use S3 for storage and duckdb for compute. just write back to different buckets for different stages( raw, bronze, silver, gold etc). You only need to keep what you need for transactional loads in a transactional db, hold the rest in s3. (or thats how i'm thinking about this)
t
@ken_payne has some ideas around this idea called ā€œSingerlakeā€ - https://blog.kenpayne.co.uk/blog/2023-02-15.html we’re looking at a pattern like this for an upcoming product effort
j
Yeah, I love the idea of keeping everything in the lake (incl meltano state)