Readyset is a MySQL and Postgres wire-compatible caching layer that sits in front of existing databases to speed up queries and horizontally scale read throughput. Under the hood, ReadySet caches the results of cached select statements and incrementally updates these results over time as the underlying data changes.
ReadySet is currently released as a docker container. See the Install with Docker documentation for instructions. It can also be installed from an x86_64/amd64 deb
package for Ubuntu 22.04 and Debian 12, and rpm
packages for Fedora 39 and Amazon Linux 2023. See package installation instructions.
date_trunc
built-in function.DEALLOCATE
statements within a transaction.NULL
keys.NULL
values were included in range queries that were unbounded
from below.NaN
values were being incorrectly snapshotted as 0
.ReadySet is currently released as a docker container. See the Install with Docker documentation for instructions. It can also be installed from an x86_64/amd64 deb
package for Ubuntu 22.04 and Debian 12. See package installation instructions.
COM_RESET_CONNECTION
command.COM_CHANGE_USER
command.pgjdbc
.SHOW READYSET STATUS
reporting the wrong status when reconnecting to the database.ReadySet is currently released as a docker container. See the Install with Docker documentation for instructions. It can also be installed from an x86_64/amd64 deb
package for Ubuntu 22.04 and Debian 12. See package installation instructions.
DEALLOCATE
SQL statement for both postgres and mysql.cache_name
label to various metrics to improve debuggabilityREPLICATION_SERVER_ID
can now be configured to use alphanumeric characters for postgres.GROUP BY
clause that identified columns by their position in the column list of the queryReadySet is currently released as a docker container. See the Install with Docker documentation for instructions. It can also be installed from an x86_64/amd64 deb
package for Ubuntu 22.04 and Debian 12. See package installation instructions.
LOG_PATH
and LOG_ROTATION
. Logs will be written to files prefixed with readyset.log
in the log path if set and will be rotated according to the log rotation that is specified (or rotated daily if none is specified).SHOW CACHES
SQL extension to display an up-to-date list of caches, even after a restartEXPLAIN CREATE CACHE
SQL extension that can be used to check if a given query is supported without proxying the query through ReadySet or creating a new cache.bash -c "$(curl -sSL https://launch.readyset.io)"
ReadySet is currently released as a docker container. See the Install with Docker documentation for instructions.
--replication-server-id
.ReadySet is currently released as a docker container. See the Install with Docker documentation for instructions.
IN
and NOT IN
in the column list.SHOW PROXIED QUERIES
and SHOW CACHES
with a simple counter.SHOW PROXIED QUERIES
to 100,000./metrics
payload size.ReadySet is currently released as a docker container. See the Install with Docker documentation for instructions.
NOT EXISTS
in the WHERE
clause of queries.FOR CACHE <q>
clause to the end of the EXPLAIN GRAPHVIZ
SQL command to allow limiting the generated graphviz to only the nodes for a named cached query.SHOW READYSET STATUS
, ReadySet will display the number of queries that failed to parse if --prometheus-metrics
is enabled.SHOW READYSET STATUS
if --prometheus-metrics
is enabled.SHOW PROXIED QUERIES
and SHOW CACHES
if --prometheus-metrics
is enabled.SHOW READYSET STATUS
if the error prevents the replicator from entering the main replication loop. The error is cleared once replication is able to begin.--no-color
flag to the readyset
and readyset-server
binaries, which allows disabling colored output in logsSHOW PROXIED SUPPORTED QUERIES
. Thanks, @altmannmarcelo!SHOW READYSET STATUS
.--replication-tables-ignore
flag that allows you to replicate all tables other than the ones explicity ignored. Thanks, @altmannmarcelo!SHOW READYSET MIGRATION STATUS <id>
SQL extension to query the status of a migration initiated via CREATE CACHE CONCURRENTLY
. This command will return the status of the migration, which is either "Completed", "Pending", or "Failed with error: CONCURRENTLY
keyword to the CREATE CACHE
syntax which triggers a non-blocking migration. If the keyword is present, the CREATE CACHE
statement will return an id can be used to query the state of the migration via the Controller's /migration_status
endpoint. The new CREATE CACHE
syntax is CREATE CACHE [CONCURRENTLY] [ALWAYS] [<cache_name>] FROM {<select_statement> | <query_id>}
SHOW READYSET TABLES
, ReadySet will display a description column as to why a table is not replicated.ReadySet is currently released as a docker container. See the Install with Docker documentation for instructions.
--help
.DROP CACHE
now indicates whether a cache was removed via a DELETE result with a row count of either 1 or 0.--allow-full-materialization
that allows this behavior to be configured, which replaces the previous --forbid-full-materialization
when this behavior was reversed. This default prevents issues when a full materialization would have needed to allocate more memory than the system has available.--query-log
and --query-log-ad-hoc
are now enabled by default if --prometheus-metrics
is set, which effectively enables all query metrics by default if metrics are enabled.127.0.0.1:3307
or 127.0.0.1:5433
when connected to a MySQL or Postgres upstream database respectively.NORIA_MEMORY_BYTES
to READYSET_MEMORY_LIMIT
(and --memory
to --memory-limit
, similarly), and updated the documentation provided by --help
to be more accurate regarding the function of the parameter.OUTPUTS_POLLING_INTERVAL
env variable to VIEWS_POLLING_INTERVAL
. This renaming was missed when the option was renamed to --views-polling-interval
.ReadySet is currently released as a docker container. See the Quickstart documentation for instructions on using it.
Included in this release are binaries for the following platforms:
Update to rust-openssl 0.10.55 to patch RUSTSEC-2023-0044. 5fb5e88
Correctly handle concurrent updates to Consul keys. cba739a