Readyset Versions Save

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.

beta-2023-05-31

11 months ago

2023-05-31 Release Notes

What's New

  • Revamped helm chart with changes to align with best practices and support multiple cloud platforms. a51ac40 b739acb1 931d0b91 c4ff836b
  • Created the proptest-stateful crate and added extensive stateful property tests.
  • ReadySet can now infer the database_type from an upstream_db_url, making the --database-type argument optional. If --database-type is provided with an upstream_db_url, readyset will validate the database type. 8ad44824
  • Improve error messages for why something is unsupported when running without an upstream database. 41f35326
  • Add --controller-address option that exports prometheus metrics for the readyset-server when running in standalone mode. 688ab939
  • Add replication-server-id flag to allow multiple readyset deployments to connect to the same upstream db. Each deployment must have a unique replication server id. 896b423c
  • Add logging that uses row estimates to report snapshotting progress. 9f857769
  • Added an experimental feature to automatically inline placeholders in a query with literal values when the placeholders are unsupported, so that the query can be run against ReadySet. This feature is enabled with the --experimental-placeholder-inlining flag. This feature is experimental as it could degrade the performance of the ReadySet instance if too many inlined instances of a query are created. It is recommended that you drop the cache of any query with inlined placeholders with high cardinality. 4a31acdf
  • Add support for INT2, INT4, and INT8 postgres type aliases. e9518f11

Performance Improvements

  • Controller requests now run asynchronously. 120fb301
  • RocksDB compaction is now done as a background process. 51d5a4c3
  • Tuned the retry behavior of extend_recipe. 1b771836
  • Initialize persistent state in a different thread. c78bd61d
  • Numerous miscelaneous query performance optimizations.

Bug Fixes

  • Update metrics-rs crate to 0.21 to fix a bug in summary calculations where they were not being calculated over sliding windows of time. 1557db04
  • Fixed a bug where DDL actions were lost when we encountered a particular error in replication. 1101215c
  • Fixed an issue where we returned an empty value instead of BEGIN for certain transactional queries. fd08ff18
  • Fixed an incorect timezone conversion that prevented lookups into a date field using timestamps that had the same date. 33990c76
  • Fixed a bug with optimized string serialization. 5dec2e14
  • Fixed a panic if offset is longer than result set, specifically in the case that a query, has ORDER BY, LIMIT, and OFFSET, has aggregates with a group by, and doesn't filter by a primary or unique column. 5d9c5cee
  • Fixed a panic that could happen if a connection failed during a migration. 020f58a3
  • Fixed a bug where the ordering of project and distinct nodes would return incorrect results. 236ed823
  • Properly mark PostgreSQL partitioned tables as unsupported. 2abffe13
  • Fix handling of a partial replay where a source node has been dropped. 94be3fcb
  • Properly handle creating tables with FKs. f10319eb
  • Properly handle replication offsets for uninitialized base tables. 582b68fb

beta-2023-04-12

1 year ago
  • Fixed an issue where ReadySet would crash when replicating an ALTER TYPE statement referencing a type that was mentioned in a column of a dropped table.
  • Fixed formatting of table identifier with schema (if initially provided during parsing) for ALTER TABLE, DELETE FROM, INSERT INTO, and UPDATE statements.
  • ReadySet running in postgresql mode now defaults to SCRAM-SHA-256 authentication for all clients. To force ReadySet to use cleartext authentication (the previous behavior) instead, pass --postgres-authentication-method=cleartext or set the POSTGRES_AUTHENTICATION_METHOD environment variable to cleartext when running the readyset binary

beta-2023-03-15

1 year ago
  • Fixed PostgreSQL table/column quoting for SHOW PROXIED QUERIES to use double quotes instead of backticks.
  • Fixed quoting of table/column identifiers in PostgreSQL snapshotting.
  • Added support for the PostgreSQL functions json_object and jsonb_object.
  • Fixed a bug where we were not correctly handling netmasks in the Postgres INET type.
  • When upgrading to a new version of ReadySet with an incompatible format for user configuration, ReadySet will now automatically wipe out the cluster state, where previously manual intervention was required. Note that this does mean that upgrading to a new version of ReadySet can currently result in losing CREATE CACHE statements.
  • Added a new '--statement-logging' flag to enable logging statements received by ReadySet from the client, and via replication from the primary database. Logs are optionally written to the path provided by '--statement-log-path' or _statements.log.
  • ReadySet now defaults to explicit query caching mode, rather than implicit
  • ReadySet will now automatically re-snapshot the snapshotted copy of base table state if necessary when upgrading to a new version.
  • ReadySet now automatically runs ALTER TABLE REPLICA IDENTITY FULL on PostgreSQL tables that ReadySet is configured to replicate from, and which don't have primary keys or already-configured non-default replica identities. This avoids an issue where ReadySet replicating from these tables would cause PostgreSQL to return an error message for updates and deletes to these tables

beta-2023-01-18

1 year ago

beta-2022-12-15

1 year ago

beta-2022-11-16

1 year ago

beta-2022-11-09

1 year ago

ReadySet Core Release Notes

File Architecture sha256sum
readyset-mysql x86_64 966f4701beca80faf8d572fd261ff8431bbda374557680c2687e452c6cc228d6
readyset-psql x86_64 6a1a5a47b3ee138c38d1d493fe5d442dabd001abb4858982dc2dfba3fbd6eaaf
readyset-server x86_64 d52631fb7b8b0a912aa205f005ffd32b8494f38fb43ea96ccee08b41c216002d
readyset-psql darwin/arm64 81faacc0e463f5dbe3b1a0fa5d139ea86e203f36e39d91814cfc1fc391c52d10
readyset-mysql darwin/arm64 0c00931f87900e5570cdb83421ceddba64e55abe5316e0f29bd59848849f7884
readyset-server darwin/arm64 76d7a65b9ef953af5ea337fa7ed731524c463d961835f7cb80444c6c9cc7a7d3

beta-2022-11-01

1 year ago

beta-2022-11-01

ReadySet Core Release Notes

Binary Archive Architecture Sha256Sum
readyset-mysql linux-x86_64 7aaeba77e70fa5c8f64b0d3ab1603365ae25b3f9bf4d9048a7b84cf63744b73a
readyset-psql linux-x86_64 7f474cb5c7fc9f799fd84be735660e0abf7595ff108afaabe8c502737c2ffc76
readyset-server linux-x86_64 d4998daeecef61b3765a029b0467316118ac8e71c9520ffdf6415b8381373a36
readyset-mysql darwin-arm64 44ba62376b0a34fd099cd9c7b83fbb2714a868615d2792e63104b5a6862759b4
readyset-psql darwin-arm64 cc220b6d1dfba79e9a0ad9946205000a072fd29fdcd09d6f510842fde827066f
readyset-server darwin-arm64 8a204cd07b85fbbc375ee7e2c9b87ce44b6df3a2dab8e78454d2047f7c02cfd0