Code Monkey home page Code Monkey logo

zainkabani / readyset Goto Github PK

View Code? Open in Web Editor NEW

This project forked from readysettech/readyset

0.0 0.0 0.0 225 MB

ReadySet is a lightweight SQL cache that enhances the performance and scalability of your DB without any code changes.

Home Page: https://readyset.io

License: Other

Shell 0.29% Ruby 0.01% Python 0.04% Clojure 0.68% R 0.03% Go 0.10% Rust 97.14% Gnuplot 0.01% HTML 0.01% Smarty 0.11% PLpgSQL 0.14% Dockerfile 0.02% Starlark 1.42%

readyset's Introduction


Build status

ReadySet is a lightweight query cache that sits between your application and database and turns even the most complex SQL reads into lightning-fast lookups.

Unlike other caching solutions, ReadySet keeps the cache in sync with your database automatically and requires no changes to your application code.



This means:

  • No extra code to keep your cache and database in sync
  • No extra code to evict stale records
  • No TTLs to set - your cache is as up-to-date as your replication lag

ReadySet is wire-compatible with Postgres and MySQL.


Quickstart

Curious to see how ReadySet works? Run through our quick start to kick the tires and cache queries in under five minutes.


Install with Docker

Getting up and running with ReadySet requires that you do three things: download ReadySet, connect it to a database, and create a cache.

1. Download

The easiest way to install ReadySet is via Docker. First, download our Docker Compose file:

curl -L -o compose.yml "https://readyset.io/quickstart/compose.yml"

2. Point to a database

Make sure your database is configured to run with ReadySet and then modify the downloaded Docker Compose file to include your database connection string:

name: readyset
services:
  cache:
    ...
    environment:
      # UPSTREAM_DB_URL: <your DB connection string>
  ...
  grafana:
    ...
    environment:
      # UPSTREAM_DB_URL: <your DB connection string>

3. Run ReadySet

docker compose up -d

4. Configure caching

Once ReadySet is up and running, you'll need to create caches for the queries you want to speed up. Check out our caching guide for more details.


Documentation

For more information, check out our documentation.


Join the Community

For questions or support, join us on the ReadySet Community Slack to chat with our team.


Project Status & Roadmap

ReadySet is currently in beta. Our team is hard at work stabilizing the system with a focus on PostgreSQL. Our MySQL support is considered alpha. You can learn more about how we're approaching this and follow along on our progress below.

Project Progress Notes
General System Testing Track Run ReadySet in a production-like environment and validate its robustness in the presence of faults.
Dataflow Testing Track Expand testing of the ReadySet caching engine.
Benchmarking & Analysis Track Expand ReadySet's performance benchmarks to a wider array of workloads.
Usability Improvements Track Make it easier to configure, interact with, and debug ReadySet.
High Availability Track Ensure that ReadySet can accept connections, proxy queries, serve warm reads from the cache, and replicate writes from the primary database in the presence of certain failures.

Contribute

If you're interested in contributing, we gratefully welcome helping hands! We welcome contributions as GitHub pull requests, creating issues, advocacy, and participating in our community!

Build from Source

See our instructions on how to build ReadySet from source.


License

ReadySet is licensed under the BSL 1.1 license, converting to the open-source Apache 2.0 license after 4 years. It is free to use on any number of nodes.

readyset's People

Contributors

jonhoo avatar glittershark avatar ms705 avatar fintelia avatar justinmir avatar ekmartin avatar nickelization avatar larat7 avatar frannoriega avatar lukoktonos avatar prismaphonic avatar nvzqz avatar jmftrindade avatar ethan-readyset avatar eeeeeta avatar amartin96 avatar jonathangb avatar jmbredenberg avatar staple avatar goodsyntax808 avatar jasobrown-rs avatar harleyk-readyset avatar gzsombor avatar imeyer avatar alanamarzoev avatar jbmcgill avatar benesch avatar ronh-rs avatar jsegaran avatar omegablitz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.