RethinkDB is an open source, NoSQL, distributed document-oriented database. It storesJSON documents with dynamic schemas, and is designed to facilitate pushing real-time updates for query results to applications.
ReQL is the RethinkDB query language. It offers a very powerful and convenient way to manipulate JSON documents.
Instead of polling for changes, the developer can tell RethinkDB to continuously push updated query results in realtime You can also write applications on top of RethinkDB using traditional query-response paradigm, and subscribe to realtime feeds later as you start adding realtime functionality to your app. offers a much higher level of abstraction. RethinkDB’s feeds integrate seamlessly with the query computation engine, and allow you to subscribe to changes on query results, not just raw replication data. This architecture dramatically reduces the time and effort necessary to build scalable realtime app.
- An advanced query language that supports table joins, subqueries, and massively parallelized distributed computation.
- An elegant and powerful operations and monitoring API that integrates with the query language and makes scaling RethinkDB dramatically easier.
- A simple and beautiful administration UI that lets you shard and replicate in a few clicks, and offers online documentation and query language suggestions.
The query-response database access model works well on the web because it maps directly to HTTP’s request-response
However, modern applications require sending data directly to the client in realtime. Use cases where companies benefited from RethinkDB’s realtime push architecture
you can also write applications on top of RethinkDB using traditional query-response paradigm, and subscribe to realtime feeds later as you start adding realtime functionality to your app.
Supports Client-side triggers through changefeeds.
When a server fails, it may be because of a network availability issue or something more serious, such as system failure. In a multi-server configuration, where tables have multiple replicas distributed among multiple physical machines, RethinkDB will be able to maintain availability automatically
can see live performance of the cluster using graph on rethinkdb dashboard,able write,view databases easily using dashbaoard.
RethinkDB uses three ports to operate—the HTTP web UI port, the client drivers port, and the intracluster traffic port. You can connect the browser to the web UI port to administer the cluster right from your browser, and connect the client drivers to the client driver port to run queries from your application. If you’re running a cluster, different RethinkDB nodes communicate with each other via the intracluster traffic port.
when to use-
RethinkDB is a great choice when your applications could benefit from realtime feeds to your data.
The query-response database access model works well on the web because it maps directly to HTTP’s request-response. However, modern applications require sending data directly to the client in realtime. Use cases where companies benefited from RethinkDB’s realtime push architecture include
Collaborative web and mobile apps
Streaming analytics apps
port- Once RethinkDB is running, you can connect to it at http://localhost:8080, assuming you’ve kept the default port (8080) and it’s running on your local machine.s
RethinkDB uses a range sharding algorithm parameterized on the table’s primary key to partition the data. When the user states they want a given table to use a certain number of shards, the system examines the statistics for the table and finds the optimal set of split points to break up the table evenly. All sharding is currently done based on the table’s primary key, and cannot be done based on any other attribute (in RethinkDB the primary key and the shard key are effectively the same thing).