RethinkDB is an open-source distributed database built to store JSON and scale with very little effort. Self compared with MongoDB, RethinkDB is aiming to be developer friendly all the while maintaining an operations oriented approach of being highly available and high scale.

Prior to version 1.16, original intentions from RethinkDB was a system to push out changes from database level to specialized data stores like ElasticSearch or messaging systems. These were implemented as changefeeds, a way to subscribe to change notifications from the database. A client can subscribe to changes in a database table and get notified every time a change happens to it.

This feature was really well received and RethinkDB decided to expand it to explicitly support realtime apps. Building realtime apps in a truly scalable way is not easy and RethinkDB aims to change it. A client can subscribe to query results and will get a cursor that gets updated any time a change occurs in the database. RethinkDB claims that thousands of concurrent changefeeds can run in parallel, all getting results within milliseconds latency.

Comparing with realtime sync services like FirebasePubNub and Pusher, RethinkDB offers better querying capabilities and can push changes on queries and not just single documents. Also, RethinkDB is an open-source system both at the protocol and implementation level. Finally, RethinkDB’s realtime push capabilities are architected for backend services, instead of the browser.

RethinkDB also aims to integrate changefeeds with Meteor and Volt to make sure it plays well with realtime web frameworks. A working example of the realtime capabilities of RethinkDB can be found as a realtime Instagram client for the web, capturing the latest cats from #catsofinstagram and plotting them on a map using geolocation. RethinkDB’s code is available on GitHub.

Advancing The Realtime Web With RethinkDB的更多相关文章

  1. Node.js 入门手册:那些最流行的 Web 开发框架

    这篇文章与大家分享最流行的 Node.js Web 开发框架.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编 ...

  2. 使用SignalR构建一个最基本的web聊天室

    What is SignalR ASP.NET SignalR is a new library for ASP.NET developers that simplifies the process ...

  3. 使用ASP.NET 构建 Web 应用程序快速入门-8小时的免费培训视频

    - Scott Hanselman的中文博客[转载] [原文发表地址] Building Web Apps with ASP.NET Jump Start - 8 Hours of FREE Trai ...

  4. Building Web Apps with SignalR, Part 1

    Building Web Apps with SignalR, Part 1 In the first installment of app-building with SignalR, learn ...

  5. PatentTips - Method and system for browsing things of internet of things on ip using web platform

    BACKGROUND The following disclosure relates to a method and system for enabling a user to browse phy ...

  6. rethinkDB python入门

    Start the server For a more detailed look, make sure to read the quickstart. $ rethinkdb Import the ...

  7. DotNet 资源大全中文版(Awesome最新版)

    Awesome系列的.Net资源整理.awesome-dotnet是由quozd发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. 算法与数据结构 ...

  8. NetCore开源项目集合

    具体见:https://github.com/thangchung/awesome-dotnet-core 半年前看到的,今天又看到了,记录下. 框架类: ZKWeb ABP General ASP. ...

  9. 【资源大全】.NET资源大全中文版(Awesome最新版)

    算法与数据结构(Algorithms and Data structures) 应用程序接口(API) 应用程序框架(Application Frameworks) 模板引擎(Application ...

随机推荐

  1. BZOJ 2111 排列计数

    f[i]=f[l]*f[r]*C(size[l]+size[r],size[l]). 需要lucas. #include<iostream> #include<cstdio> ...

  2. HTTP消息头

    (一)初识HTTP消息头 但凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头.做过Socket编程的人都知道,当我们 ...

  3. HDU 4848

    http://acm.hdu.edu.cn/showproblem.php?pid=4848 题意:求遍历所有点的最小值(这个答案是加i点到起始点的距离,不是当前点到i的距离),必须在ti[i]前到达 ...

  4. Inno_setup制作升级包必须面临的几个问题

    Inno_setup制作升级包必须面临的几个问题 分类: c/c++/GamingAnyWhere JavaScript linux shell基础知识 2013-12-18 22:14 1496人阅 ...

  5. 解决spring配置中的bean类型的问题:BeanNotOfRequiredTypeException

    解决spring配置中的bean类型的问题:BeanNotOfRequiredTypeException这个问题出现的原因:一般在使用annotation的方式注入spring的bean 出现的,具体 ...

  6. vim 的快捷操作

    1, 假如你在第10行,你知道有一个错误在第100行.只需要: 90 ↓ 就会到达100行了 2,

  7. How to adjust OOM score for a process?

    转载自http://www.dbasquare.com/kb/how-to-adjust-oom-score-for-a-process/ How to adjust OOM score for a ...

  8. android布局中的divider(目前只知道TableLayout)

    目前在genymotion中设置了之后显示不出来行与行之间的分割线,但是在真机上面是没有问题的 1.使用xml属性添加(3.0以上版本) 设置LinearLayout标签的 android:showD ...

  9. Sql 2000丢失sa 密码,重置sa密码

    重置密码需要勾选一个授权 在企业管理器中-->服务器设置——>勾选“运行对系统目录直接进行修改” 勾选后就可以重置密码了. /////////////////// 详细: http://w ...

  10. Linux ---pptpd部署

    PPTP 全称为 Point to Point Tunneling Protocol -- 点到点隧道协议,是VPN协议中的一种. 一.CentOS 6.2 下 PPTP VPN 服务器安装 1.安装 ...