Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Rama codifies and integrates the concepts I described in my book, with the high level model being: indexes = function(data) and query = function(indexes). These correspond to "depots" (data) , "ETLs" (functions), "PStates" (indexes), and "queries" (functions).

Rama is not batch-based. That is, PStates are not materialized by recomputing from scratch. They're incrementally updated either with stream or microbatch processing. But PStates can be recomputed from the source data on depots if needed.



So the idea is that you could do

1. send event data to depot

2. trigger localized ETLs (or put it high-priority in queue) to recalculate just the impacted data into relevant PStates

3. await completion of aforementioned ETLs

4. run query from updated PStates

Maybe too heavy for an upvote, but very appropriate for a an important transaction like a purchase.


Forgive me if I’m misunderstanding things, but this seems quite similar to what Materialize and ReadySet do, but like “as a library”, because Rama doesn’t use a “separate” layer for the storage stuff. Is that correct-ish?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: