Advancing The Realtime Web With RethinkDB
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 Firebase, PubNub 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的更多相关文章
- Node.js 入门手册:那些最流行的 Web 开发框架
这篇文章与大家分享最流行的 Node.js Web 开发框架.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编 ...
- 使用SignalR构建一个最基本的web聊天室
What is SignalR ASP.NET SignalR is a new library for ASP.NET developers that simplifies the process ...
- 使用ASP.NET 构建 Web 应用程序快速入门-8小时的免费培训视频
- Scott Hanselman的中文博客[转载] [原文发表地址] Building Web Apps with ASP.NET Jump Start - 8 Hours of FREE Trai ...
- Building Web Apps with SignalR, Part 1
Building Web Apps with SignalR, Part 1 In the first installment of app-building with SignalR, learn ...
- 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 ...
- rethinkDB python入门
Start the server For a more detailed look, make sure to read the quickstart. $ rethinkdb Import the ...
- DotNet 资源大全中文版(Awesome最新版)
Awesome系列的.Net资源整理.awesome-dotnet是由quozd发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. 算法与数据结构 ...
- NetCore开源项目集合
具体见:https://github.com/thangchung/awesome-dotnet-core 半年前看到的,今天又看到了,记录下. 框架类: ZKWeb ABP General ASP. ...
- 【资源大全】.NET资源大全中文版(Awesome最新版)
算法与数据结构(Algorithms and Data structures) 应用程序接口(API) 应用程序框架(Application Frameworks) 模板引擎(Application ...
随机推荐
- apache环境Zf2要装的intl验证
sudo apt-get install php5-intl
- grunt 执行
几天以前,我决定开始启用一个CSS预处理器,找了很久,我选择了SASS并且尝试着去安装它.但是这似乎不是一件简单的事,在安装过程中出现了许多让我始料不及的问题,我很沮丧,但查找了很多资料,我终于找到了 ...
- 斜率dp cdq 分治
f[i] = min { f[j] + sqr(a[i] - a[j]) } f[i]= min { -2 * a[i] * a[j] + a[j] * a[j] + f[j] } + a[i] * ...
- JNI c++ 调用 java
----------------------------------------------c++--------------------------------------- #include &q ...
- WCF中DataContractAttribute 类
一.这个类的作用 使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档.无法继承此类,(DataContractSerializer 用于序列化和反序列化在 Windows Commun ...
- Oracle PL/SQL高级应用 存储过程
有名字的Plsql块,成为Oracle的对象,在以后用到时可以直接调用. CREATE OR REPLACE PROCEDURE myproc(id IN varchar2) IS -IN 为输入参数 ...
- Git命令整理
说在前面: 刚开始在实习时接触git,是用git可视化工具,但是仅限于克隆库.切换分支.抓取和推送,对于其中的原理不甚了解.看了廖雪峰老师Git教程,获益颇丰.特别要感谢我工作中的同事,是他强烈建议我 ...
- JavaScript数据结构——数组
参考书籍:<学习JavaScript数据结构与算法>
- USB Packet Types
USB has four different packet types. Token packets indicate the type of transaction to follow, data ...
- 二分查找(Binary Search)
二分查找(Binary Search): int BinarySearch(int *array, int N, int key) { ; int left, right, mid; left = ; ...