- Open-source database for building realtime web applications
- NoSQL database that stores schemaless JSON documents
- Distributed database that is easy to scale
- High availability database with automatic failover and robust fault tolerance
RethinkDB is the first open-source scalable database built for realtime applications. It exposes a new database access model -- instead of polling for changes, the developer can tell the database to continuously push updated query results to applications in realtime. RethinkDB allows developers to build scalable realtime apps in a fraction of the time with less effort.
To learn more, check out rethinkdb.com.
Not sure what types of projects RethinkDB can help you build? Here are a few examples:
- Build a realtime liveblog with RethinkDB and PubNub
- Create a collaborative photo sharing whiteboard
- Build an IRC bot in Go with RethinkDB changefeeds
- Look at cats on Instagram in realtime
- Watch how Platzi uses RethinkDB to educate
For a thirty-second RethinkDB quickstart, check out rethinkdb.com/docs/quickstart.
Or, get started right away with our ten-minute guide in these languages:
Besides our four official drivers, we also have many third-party drivers supported by the RethinkDB community. Here's a few:
- C#/.NET: RethinkDb.Driver, rethinkdb-net
- C++: librethinkdbxx
- Clojure: clj-rethinkdb
- Elixir: rethinkdb-elixir
- Go: GoRethink
- Haskell: haskell-rethinkdb
- PHP: php-rql
- Rust: reql
- Scala: rethink-scala
Looking to explore what else RethinkDB offers or the specifics of ReQL? Check out our RethinkDB docs and ReQL API.
First install some dependencies. For example, on Ubuntu or Debian:
sudo apt-get install build-essential protobuf-compiler python \
libprotobuf-dev libcurl4-openssl-dev libboost-all-dev \
libncurses5-dev libjemalloc-dev wget m4 g++
Generally, you will need
- GCC or Clang
- Protocol Buffers
- jemalloc
- Ncurses
- Boost
- Python 2
- libcurl
- libcrypto (OpenSSL)
Then, to build:
./configure --allow-fetch
# or run ./configure --allow-fetch CXX=clang++
make -j4
# or run make -j4 DEBUG=1
sudo make install
# or run ./build/debug_clang/rethinkdb
A great place to start is rethinkdb.com/community. Here you can find out how to ask us questions, reach out to us, or report an issue. You'll be able to find all the places we frequent online and at which conference or meetups you might be able to meet us next.
If you need help right now, you can also find us on Slack, Twitter, or IRC at #rethinkdb on Freenode.
RethinkDB was built by a dedicated team, but it wouldn't have been possible without the support and contributions of hundreds of people from all over the world. We could use your help too! Check out our contributing guidelines to get started.