Live data from Hacker News

Readyset: A MySQL and Postgres wire-compatible caching layer

github.com

31–40 of 71 posts

Re: Readyset: A MySQL and Postgres wire-compatible caching layer

#31

What are some advantages to ReadySet versus read replicas from YugabyteDB or CockroachDB? A downside is that it appears to require a separate cloud subscription.

You can deploy on your own via their .deb packages - https://readyset.io/download

The advantages is that reading from a cache will be faster than from a read replicas. The benefits increase even further if you have to perform computation on the fetched data.

Re: Readyset: A MySQL and Postgres wire-compatible caching layer

#32
post #26

> ReadySet is licensed under the BSL 1.1 license, converting to the open-source Apache 2.0 license after 4 years. What does this mean?

Not the OP, but BSL is Source License that gives you access to use the source, with specific restrictions.

Most commonly the restrictions prevent you from launching a competing offering. In their case, you can't offer database-as-a-service using their code.

BSL typically also restricts production use - though it looks like ReadySet has relaxed that restriction.

Finally, BSL reverts to a traditional open source license after a set period of time - in their case Apache 2 after 4 years. This means that code written today is licensed under BSL for 4 years, then automatically reverts to Apahce 2 thereafter.

Re: Readyset: A MySQL and Postgres wire-compatible caching layer

#34
In the Microsoft SQL Server space, several of these vendors have come and gone. My clients have been burned badly by 'em, so a few quick lessons learned:

Be aware that there are hundreds of open issues[0] and dozens of pull requests [1], some of which involve clients being unable to connect or not supporting all components of the SQL language. Just because your database supports something, doesn't mean your caching layer will.

It gets really ugly when a new version of your database comes out, with brand new features and language enhancements, and the caching layer doesn't support it. It may take months, or in some cases years, before the caching layer is feature-complete with the underlying database. If you want to use some of those language enhancements, then your app may have to maintain two connection strings - one for the caching layer, and one for direct database queries that the caching layer doesn't support.

Your support teams need to learn how to diagnose problems with the caching layer. For example, this issue [2] talks about the level of work involved with understanding why newly inserted data isn't showing up in selects.

I hope they succeed and deliver the concept, because it's one of the holy grails of databases.

[0]: https://github.com/readysettech/readyset/issues [1]: https://github.com/readysettech/readyset/pulls [2]: https://github.com/readysettech/readyset/issues/39

Re: Readyset: A MySQL and Postgres wire-compatible caching layer

#35
post #33

This isn’t an open source project (which isn’t a bad thing! Just a non-obvious thing if you don’t scroll down their whole readme)

[dead]

On top of that, quoting @martypitt reply:

> Most commonly the restrictions prevent you from launching a competing offering. In their case, you can't offer database-as-a-service using their code.

Meaning the self hosted version is free to use in any number of servers having in mind the competing offering restriction.

Re: Readyset: A MySQL and Postgres wire-compatible caching layer

#36

In the Microsoft SQL Server space, several of these vendors have come and gone. My clients have been burned badly by 'em, so a few quick lessons learned: Be aware that there are hundreds of open issues[0] and dozens of pull requests [1], some of which involve clients being unable to connect or not supporting all components of the SQL language. Just because your database supports something, doesn't mean your caching l…

Regarding the new database version issue, I wonder why the caching layer can't just pass any query it is unable to process on to the underlying database?

This would be more complex if the feature you are using does not return a normal table of results back (e.g. the pub/sub support in Postgres).

Re: Readyset: A MySQL and Postgres wire-compatible caching layer

#37
post #33

This isn’t an open source project (which isn’t a bad thing! Just a non-obvious thing if you don’t scroll down their whole readme)

[dead]

BSL is not Open Source license. The fact outdated code Eventually becomes Open Source does not make it Open Source license

It is great ReadySet is Source available and free to use in number of circumstances but I wish you would avoid misleading marketing it as Open Source

Re: Readyset: A MySQL and Postgres wire-compatible caching layer

#38

In the Microsoft SQL Server space, several of these vendors have come and gone. My clients have been burned badly by 'em, so a few quick lessons learned: Be aware that there are hundreds of open issues[0] and dozens of pull requests [1], some of which involve clients being unable to connect or not supporting all components of the SQL language. Just because your database supports something, doesn't mean your caching l…

Regarding the new database version issue, I wonder why the caching layer can't just pass any query it is unable to process on to the underlying database? This would be more complex if the feature you are using does not return a normal table of results back (e.g. the pub/sub support in Postgres).

That is pretty much what Readyset does. The SQL parser identifies queries that are supported (and cached), and passes through all other requests to the backend database.

As we expand query support, we allow users to cache more and more queries.

Re: Readyset: A MySQL and Postgres wire-compatible caching layer

#39
post #26

> ReadySet is licensed under the BSL 1.1 license, converting to the open-source Apache 2.0 license after 4 years. What does this mean?

The outdated security hole ridden useless code will eventually become Open Source.

In practice I would count on either using software in compliance with BSL restrictions (which are generous) or seek commercial license

Re: Readyset: A MySQL and Postgres wire-compatible caching layer

#40
This might be good tech and a good company.

Once we used a distributed caching system in a startup which was open source. Then the open source version got cut features we needed, so we bought a license. Then the startup was bought up by a large software company and the license costs went 10x YoY with a one week notice. As our migration away from this tech was not done, because it was very complicated and tied into our application we had to pay. Luckily we also had been bought and the very large costs were not a problem. I would never again use something from a company that is crucial to our operations.

Post reply on HN