Live data from Hacker News

ReadySet Core: next-generation SQL caching, freely available

readyset.io

41–50 of 59 posts

Re: ReadySet Core: next-generation SQL caching, freely available

#41

> ReadySet is a lightweight SQL caching engine that precomputes frequently-accessed query results and automatically keeps these results up-to-date over time as the underlying data in your database changes I don't see the point in using an extra app - you can do this natively in Postgres. Materialized views. https://www.postgresql.org/docs/current/rules-materializedvi...

Are materialized views aware of applied where filters?

Re: ReadySet Core: next-generation SQL caching, freely available

#42

Earlier quoted context omitted.

Oracle has had MVs that can refresh on update for decades.

So does Pgres & mssql, but general views that are incrementally updated - that's another matter. I'd be very surprised (and pleased).

This is indeed our goal– we're most of the way there with SQL 92 and plan to continue to expand our query support over time!

Re: ReadySet Core: next-generation SQL caching, freely available

#43
post #32

Earlier quoted context omitted.

Hi! CEO of ReadySet here. You can think of ReadySet as being a cross between a traditional read replica and a custom caching layer (e.g. one you might build on top of Redis). With read replicas, you still rerun queries from scratch every time they're issued, which means you still have to think about things like query optimization. ReadySet caches frequently run queries in memory so you get super-fast query latencies…

How do you deal with security? In modern databases like MongoDB permissions are granular down to the field level. The same query could produce wildly different result based on the user issuing them, and the caching somehow has to take that into account. Is that something you address?

Funnily enough, I wrote a paper on this topic when I was in grad school. It's not on our short-term roadmap at ReadySet, but this idea is certainly compatible with the underlying dataflow model. I'd love to hear more about what you had in mind here, shoot me an email at alana@readyset.io

https://people.csail.mit.edu/malte/pub/papers/2019-hotos-mul...

Re: ReadySet Core: next-generation SQL caching, freely available

#44

> ReadySet is a lightweight SQL caching engine that precomputes frequently-accessed query results and automatically keeps these results up-to-date over time as the underlying data in your database changes I don't see the point in using an extra app - you can do this natively in Postgres. Materialized views. https://www.postgresql.org/docs/current/rules-materializedvi...

Postgres materialized views have to be manually refreshed on a schedule, and so are always out of date, whereas ReadySet keeps your results up to date automatically as the input changes. For PG materialized views, the compute required proportional to the size of the input data, and is paid every time, whereas with ReadySet the computation is incremental, so it's proportional to the size of the change in the data over time.

And finally, ReadySet's (Noria's) big innovation is that the result set can be only partial, storing only the elements of the result set (and underlying data flow graph) that are frequently accessed, instead of the whole result set like a materialized view would.

Re: ReadySet Core: next-generation SQL caching, freely available

#45
post #22

If you release something new, you should make sure that your documentation contains useful information. Even the most fundamental information like available configuration options, command-line arguments, deployment information and so on is missing. Looking at the code it appears that you need Consul, Zookeeper and Redis to make this fly and the docs don't mention this anywhere. They (barely) explain how to run the SQ…

From the blog post "Rather than forcing developers to switch to a key-value store"...

> need Consul, Zookeeper and Redis to make this fly

A hard dependency on 3 key value stores?

Re: ReadySet Core: next-generation SQL caching, freely available

#46
This looks really nice. I was reading about this and realized it had similar ideas to this [1] Phd thesis from Jon Gjengset. I checked his twitter [2] and it was based on his work indeed.

Great that someone is productionalizing this!

Btw, is Jon involved in ReadySet?

[1] Partial State in Dataflow-Based Materialized Views - https://github.com/mit-pdos/noria

[2] https://twitter.com/jonhoo/status/1537474261689872384

Re: ReadySet Core: next-generation SQL caching, freely available

#47
post #22

If you release something new, you should make sure that your documentation contains useful information. Even the most fundamental information like available configuration options, command-line arguments, deployment information and so on is missing. Looking at the code it appears that you need Consul, Zookeeper and Redis to make this fly and the docs don't mention this anywhere. They (barely) explain how to run the SQ…

From the blog post "Rather than forcing developers to switch to a key-value store"... > need Consul, Zookeeper and Redis to make this fly A hard dependency on 3 key value stores?

We need either Consul or Zookeeper (for leader election). No dependency on Redis!

That part of the blog post refers to ReadySet having a SQL interface, rather than a key-value one.

Re: ReadySet Core: next-generation SQL caching, freely available

#48
post #22

If you release something new, you should make sure that your documentation contains useful information. Even the most fundamental information like available configuration options, command-line arguments, deployment information and so on is missing. Looking at the code it appears that you need Consul, Zookeeper and Redis to make this fly and the docs don't mention this anywhere. They (barely) explain how to run the SQ…

From the blog post "Rather than forcing developers to switch to a key-value store"... > need Consul, Zookeeper and Redis to make this fly A hard dependency on 3 key value stores?

[deleted]

Re: ReadySet Core: next-generation SQL caching, freely available

#49
post #46

This looks really nice. I was reading about this and realized it had similar ideas to this [1] Phd thesis from Jon Gjengset. I checked his twitter [2] and it was based on his work indeed. Great that someone is productionalizing this! Btw, is Jon involved in ReadySet? [1] Partial State in Dataflow-Based Materialized Views - https://github.com/mit-pdos/noria [2] https://twitter.com/jonhoo/status/1537474261689872384

Yes, co-founder. You can read our initial announcement below!

https://twitter.com/jonhoo/status/1511401461669720068 https://readyset.io/blog/introducing-readyset

Re: ReadySet Core: next-generation SQL caching, freely available

#50

There are too many questions here. What does it not do? What's the overhead of monitoring the main DB and how's it done - triggers? Does it need schema changes? What about race conditions - can you guarantee none? What's the memory overhead you need for the cache? Can you control what gets cached? > It can serve millions of reads per second on a single node ... I'm not a network guy but that seems just astonishing -…

> That's an unsolved problem in general, surely?

It's not. Materialize (my employer) incrementally maintains views too, using tech (Differential Dataflow) that has existed for almost 10 years: https://cs.stanford.edu/~matei/courses/2015/6.S897/readings/... .

ReadySet is based on Noria (Jon Gjengset's Ph.D thesis, explained for non-experts here: https://jon.thesquareplanet.com/noria-in-simpler-terms.pdf).

Taking a research project and making it into a production-ready product is hard work -- congrats to the ReadySet team on the launch, and best of luck!

Post reply on HN