What & Why
A good survey on scaling limitations of real-time databases by Wolfram Wingerath: https://medium.baqend.com/real-time-databases-explained-why-meteor-rethinkdb-parse-and-firebase-dont-scale-822ff87d2f87 (detailed HOWs), excerpts & summary tables are from the post:
Real-time databases make it easy to implement reactive applications, because they keep your critical information up-to-date. But how do they work and how do they scale? In this article, we dissect the real-time query features of Meteor, RethinkDB, Parse and Firebase to uncover scaling limitations inherent to their respective designs. We then go on to discuss and categorize related real-time systems and share our lessons learned in providing real-time queries without any bottlenecks in Baqend.
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3.us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fccd3b7e2-b836-413b-a17f-1b4a191491d3%2F1jZz21zFeb5pZPqlzyeGUXQ.png%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3DAKIAT73L2G45EIPT3X45%252F20221203%252Fus-west-2%252Fs3%252Faws4_request%26X-Amz-Date%3D20221203T022340Z%26X-Amz-Expires%3D86400%26X-Amz-Signature%3D49ed09fd367316ee59c98b5dc4d82a626f7ee29614a057902d66127b8b28a107%26X-Amz-SignedHeaders%3Dhost%26x-id%3DGetObject?table=block&id=6efaf606-7622-4910-afd7-09950e9aa7f1&cache=v2)
Wolfram went into details of how different databases implement real-time features. Change feeds are events that apps can subscribe to process changes to data in real-time, instead of polling at intervals. The entry is dated (2017, some of the databases may have changed for the better) but most of the considerations he presented are relevant today.
I am using https://orientdb.org (multi-modal database acquired by SAP) for Free Endpoint Defense & Response backend. Beyond using it both as noSQL collection (a bunch of system-event-log entries) & for graph analysis (how are these events are related), almost all real-time databases support Live Queries or what is known as Change Feeds (e.g. response to anomalies). I was motivated to read his post because I want to know what are the options & other considerations when it comes to real-time processing.