Advertisement

Real-Time Databases

  • Wolfram Wingerath
  • Norbert Ritter
  • Felix Gessert
Chapter
Part of the SpringerBriefs in Computer Science book series (BRIEFSCOMPUTER)

Abstract

While traditional database systems are targeted at providing a consistent snapshot of the application domain, real-time databases acknowledge that data may evolve. Both the architectures and client APIs of real-time databases reflect that facts can change over time and that the system may have to enhance or correct issued information.

References

  1. [AH98]
    Sten F. Andler and Jörgen Hansson, eds. Active, Real-Time, and Temporal Database Systems. Lecture Notes in Computer Science 1553. Springer Berlin Heidelberg, 1998.Google Scholar
  2. [ALS10]
    J. Chris Anderson, Jan Lehnardt, and Noah Slater. CouchDB: The Definitive Guide. 1st. O’Reilly Media, Inc., 2010. isbn: 0596155891, 9780596155896.Google Scholar
  3. [Bad09]
    Antonio Badia. “Quantifiers in Action: Generalized Quantification in Query, Logical and Natural Languages”. In: ed. by Ahmed K. Elmagarmid and Amit P. Sheth. Boston, MA: Springer US, 2009. Chap. Extensions, pp. 127–147. isbn: 978-0-387-09564-6. doi: 10.1007/978-0-387-09564-6_9. url: https://doi.org/10.1007/978-0-387-09564-6_9.Google Scholar
  4. [Bak+11]
    Jason Baker et al. “Megastore: Providing Scalable, for Interactive Services.” In: CIDR. Vol. 11. 2011, pp. 223–234. (Visited on 12/19/2014).Google Scholar
  5. [Ban11]
    Shay Banon. “Percolator”. In: Elastic Blog (Feb. 2011). Accessed: 2017-11-17. url: https://www.elastic.co/blog/percolator.
  6. [Baq18]
    Baqend. Baqend. Accessed: 2018-05-10. 2018. url: https://www.baqend.com/.
  7. [BM+17]
    Nikolas Burk, Nilan Marktanner, et al. “GraphQL vs. Firebase”. In: Graphcool Docs (2017). Accessed: 2017-07-18. url: https://www.graph.cool/docs/tutorials/graphql-vs-firebasechi6oozus1/.
  8. [BMS17]
    Nikolas Burk, Nilan Marktanner, and Johannes Schickling. “How to build a Real-Time Chat with GraphQL Subscriptions and Apollo?” In: Graphcool Docs (2017). Accessed: 2017-07-18. url: https://www.graph.cool/docs/tutorials/worldchat-subscriptionsexample-ui0eizishe/.
  9. [Bov17]
    Pier Bover. “Firebase: the great, the meh, and the ugly”. In: freeCode-Camp Blog (Jan. 2017). Accessed: 2017-05-21. url: https://medium.freecodecamp.com/firebase-the-great-the-meh-and-the-ugly-a07252fbcf15.
  10. [Clo]
    Cloudant NoSQL DB Docs: Filter Functions. Accessed: 2018-05-2. IBM. May 2018. url: https://console.bluemix.net/docs/services/Cloudant/api/design_documents.html#filter-functions.
  11. [Col16]
    Tom Coleman. “The Oplog Observe Driver”. In: Meteor Documentation (2016). Accessed: 2017-10-16. url: https://github.com/meteor/docs/blob/cc3f8fe99b3db72c21ea2c0e8d7e574bca860ec6/long-form/oplog-observe-driver.md.
  12. [Dan17]
    Eric Daniels. “MongoDB Stitch - Backend as a Service (commentary)”. In: Hacker News (2017). Accessed 2017-11-17. url: https://news.ycombinator.com/item?id=14595456.
  13. [Dav17a]
    A. Jesse Jiryu Davis. “New Driver Features for MongoDB 3.6 (commentary)”. In: emptysquare Blog (Oct. 2017). Accessed: 2017-11-17. url: https://emptysqua.re/blog/driver-featuresfor-mongodb-3-6/#comment-3574381334.
  14. [Dav17b]
    A. Jesse Jiryu Davis. “New Driver Features for MongoDB 3.6: Notification API”. In: emptysquare Blog (June 2017). Accessed: 2018-04-23. url: https://emptysqua.re/blog/driver-featuresfor-mongodb-3-6/.
  15. [Del15]
    Luigi Dell’Aquila. “LiveQuery”. In: OrientDB Blog (Oct. 2015). Accessed: 2017-07-09. url: http://orientdb.com/livequery/.
  16. [Dro17]
    David Drobik. “Will Google Build Your Product?” In: David Drobik – Blog (Oct. 2017). Accessed: 2017-12-23. url: https://medium.com/@daviddrobik/will-google-build-your-product-56508d19524a.
  17. [Duf17]
    Alex Dufetel. “Introducing Cloud Firestore: Our New Document Database for Apps”. In: Firebase Blog (Oct. 2017). Accessed: 2017-12-19. url: https://firebase.googleblog.com/2017/10/introducing-cloud-firestore.html.
  18. [Ela18]
    Elasticsearch. Elasticsearch. Accessed: 2018-05-10. 2018. URL: https://www.elastic.co/products/elasticsearch/.
  19. [Eri98]
    Joakim Eriksson. “Real-Time and Active Databases: A Survey”. In: Active, Real-Time, and Temporal Database Systems: Second International Workshop, ARTDB-97 Como, Italy, September 8–9, 1997 Proceedings. Ed. by Sten F. Andler and Jörgen Hansson. Berlin, Heidelberg: Springer Berlin Heidelberg, 1998, pp. 1–23. isbn: 978-3-540-49151-4. doi: 10.1007/3-540-49151-1_1. url: http://dx.doi.org/10.1007/3-540-49151-1_1.
  20. [Fira]
    Choose a Database: Cloud Firestore or Realtime Database. Accessed: 2017-12-19. Firebase. Dec. 2017. url: https://firebase.google.com/docs/firestore/rtdb-vs-firestore.
  21. [Firb]
    Firestore: Quotas and Limits. Accessed: 2017-12-19. Firebase. Dec. 2017. url: https://firebase.google.com/docs/firestore/quotas.
  22. [Firc]
    Order and Limit Data with Cloud Firestore. Accessed: 2017-12-19. Firebase. Dec. 2017. url: https://firebase.google.com/docs/firestore/query-data/order-limit-data.
  23. [Fird]
    Perform Simple and Compound Queries in Cloud Firestore. Accessed: 2017-12-19. Firebase. Dec. 2017. url: https://firebase.google.com/docs/firestore/query-data/queries.
  24. [Fire]
    Realtime Database Limits. Accessed: 2017-11-17. Firebase. Nov. 2017. url: https://firebase.google.com/docs/database/usage/limits.
  25. [Fir16]
    Firebase. Firebase. Accessed: 2016-09-18. 2016. url: https://firebase.google.com/.
  26. [Fir17]
    Firebase. “Best practices for data structure: Avoid nesting data”. In: Firebase Docs (2017). Accessed: 2017-05-21. url: https://firebase.google.com/docs/database/web/structure-data#avoid_nesting_data.
  27. [Ges+17]
    Felix Gessert et al. “Quaestor: Query Web Caching for Database-as-a-Service Providers”. In: Proceedings of the 43rd International Conference on Very Large Data Bases (2017).Google Scholar
  28. [Ges17]
    Felix Gessert. “The AWS and MongoDB Infrastructure of Parse: Lessons Learned”. In: Baqend Tech Blog (Jan. 2017). Accessed: 2017-11-29. url: https://medium.baqend.com/parse-is-gone-afew-secrets-about-their-infrastructure-91b3ab2fcf71.
  29. [Goo18]
    Google. Google Cloud Datastore. Accessed: 2018-05-10. 2018. url: https://cloud.google.com/datastore/.
  30. [Gro16]
    Martijn van Groningen. “Elasticsearch Percolator Continues to Evolve”. In: Elastic Blog (June 2016). Accessed: 2017-11-17. url: https://www.elastic.co/blog/elasticsearch-percolatorcontinues-to-evolve.
  31. [Jam16]
    Baptiste Jamin. “Reasons Not To Use Firebase”. In: Chris Blog (Sept. 2016). Accessed: 2017-05-21. url: https://crisp.im/blog/why-you-should-never-use-firebase-realtime-database/.
  32. [Kat+15]
    Jacob Katzen et al. Oplog tailing too far behind not helping. Accessed: 2017-07-09. 2015. url: https://forums.meteor.com/t/oplog-tailing-too-far-behind-not-helping/2235.
  33. [Ker17]
    Todd Kerpelman. “Cloud Firestore for Realtime Database Developers”. In: Firebase Blog (Oct. 2017). Accessed: 2017-12-23. url: https://firebase.googleblog.com/2017/10/cloud-firestorefor-rtdb-developers.html.
  34. [Lac16]
    Kevin Lacker. “Moving On”. In: Parse Blog (Jan. 2016). Accessed: 2017-11-18. url: http://blog.parseplatform.org/announcements/moving-on/.
  35. [Leh14]
    Michael Lehenbauer. “Firebase: Now with more querying!” In: Firebase Blog (Nov. 2014). Accessed: 2017-12-23. url: https://firebase.googleblog.com/2014/11/firebase-now-with-morequerying.html.
  36. [Mao+14]
    Andrew Mao et al. My experience hitting limits on Meteor performance. Accessed: 2017-07-09. 2014. url: https://groups.google.com/forum/#!topic/meteor-talk/Y547Hh2z39Y.
  37. [Mar15]
    Watts Martin. “Changefeeds in RethinkDB”. In: RethinkDB Docs (2015). Accessed: 2017-07-09. URL: https://rethinkdb.com/docs/changefeeds/javascript/#changefeeds-with-filteringand-aggregation-queries.
  38. [Mar16]
    Watts Martin. “Table joins in RethinkDB”. In: RethinkDB Docs (2016). Accessed: 2017-11-17. url: https://www.rethinkdb.com/docs/table-joins/.
  39. [Mew16]
    Daniel Mewes. “Scaling, sharding and replication: Running a proxy node”. In: RethinkDB Docs (2016). Accessed: 2017-07-09. URL: https://rethinkdb.com/docs/sharding-and-replication/#running-a-proxy-node.
  40. [Mon]
    MongoDB CRUD Concepts: Tailable Cursor. Accessed: 2017-11-13. MongoDB Inc. 2017. url: https://docs.mongodb.com/manual/core/tailable-cursors/.
  41. [Puf16]
    Frank van Puffelen. “Have you met the Realtime Database?” In: Firebase Blog (July 2016). Accessed: 2017-05-20. url: https://firebase.googleblog.com/2016/07/have-you-met-realtimedatabase.html.
  42. [Pur+93]
    B. Purimetla et al. A Study of Distributed Real-Time Active Database Applications. Tech. rep. Amherst, MA, USA, 1993.Google Scholar
  43. [Rap]
    Rapid Docs: Collection. Accessed: 2017-10-06. STRV s.r.o. 2017. url: https://www.rapidrealtime.com/docs/api-reference/javascript/collection.
  44. [Rea17]
    Realm. “Realm Java 3.0: Collection Notifications, Snapshots and Sorting Across Relationships”. In: Realm Blog (Feb. 2017). Accessed: 2017-07-09. url: https://news.realm.io/news/realm-java-3-0-collection-notifications/.
  45. [Rea18]
    Realm. Realm. Accessed: 2018-05-10. 2018. url: https://realm.io/.
  46. [Ret16]
    RethinkDB. RethinkDB. Accessed: 2016-09-18. 2016. URL: https://www.rethinkdb.com/.
  47. [Ric13]
    Kato Richardson. “Queries, Part 1: Common SQL Queries Converted for Firebase”. In: Firebase Blog (Oct. 2013). Accessed: 2017-12-23. url: https://firebase.googleblog.com/2013/10/queries-part-1-common-sql-queries.html.
  48. [Ric14]
    Kato Richardson. “Queries, Part 2: Advanced Searches with Firebase, made Plug-and-Play Simple”. In: Firebase Blog (Jan. 2014). Accessed: 2017-12-23. url: https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html.
  49. [Ros11]
    Ian Thomas Rose. “Real-Time Query Systems for Complex Data Sources”. PhD thesis. Harvard University Cambridge, Massachusetts, 2011.Google Scholar
  50. [Ros16]
    Alex Rose. “Firebase: The Good, Bad, and the Ugly”. In: Raizlabs Developer Blog (Dec. 2016). Accessed: 2017-05-21. url: https://www.raizlabs.com/dev/2016/12/firebase-case-study/.
  51. [RRM17]
    Nic Raboy, Priya Rajagopal, and Eric Maxwell. “NDP Episode #19: Mobile Development with Realm”. In: Couchbase Blog (June 2017). audio podcast (explanation by Eric Maxwell, starting at 10:57); Accessed: 2017-09-13. url: https://blog.couchbase.com/ndp-episode-19-mobile-development-realm/.
  52. [Rxda]
    Custom Build. Accessed: 2017-10-16. RxDB. 2017. url: https://pubkey.github.io/rxdb/custom-build.html.
  53. [Rxdb]
    Query Change Detection. Accessed: 2017-10-16. RxDB. 2017. url: https://pubkey.github.io/rxdb/query-change-detection.html.
  54. [RxD18]
    RxDB. RxDB. Accessed: 2018-05-10. 2018. url: https://github.com/pubkey/rxdb.
  55. [San18]
    Salvatore Sanfilippo. Redis. Accessed: 2018-05-10. 2018. URL: https://redis.io/.
  56. [SF12]
    Pramod J. Sadalage and Martin Fowler. NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. 1st. Addison-Wesley Professional, 2012. ISBN: 0321826620, 9780321826626.Google Scholar
  57. [Sta88]
    John A. Stankovic. “Misconceptions About Real-Time Computing: A Serious Problem for Next-Generation Systems”. In: Computer 21.10 (Oct. 1988), pp. 10–19. issn: 0018–9162. doi: 10.1109/2.7053. url: http://dx.doi.org/10.1109/2.7053.CrossRefGoogle Scholar
  58. [Ste17]
    William Stein. “RethinkDB versus PostgreSQL: my personal experience”. In: CoCalc Blog (Feb. 2017). Accessed: 2017-07-09. url: https://blog.sagemath.com/2017/02/09/rethinkdb-vspostgres.html.
  59. [Tam14]
    James Tamplin. “Firebase is Joining Google!” In: Firebase Blog (Oct. 2014). Accessed: 2017-11-17. URL: https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html.
  60. [Tam16]
    James Tamplin. “Firebase expands to become a unified app platform”. In: Firebase Blog (May 2016). Accessed: 2017-12-23. url: https://firebase.googleblog.com/2016/05/firebase-expands-to-become-unified-app-platform.html.
  61. [Tam17]
    James Tamplin. “Cloud Firestore: A New Document Database for Apps (commentary)”. In: Hacker News (2017). Accessed 2017-12-19. url: https://news.ycombinator.com/item?id=15393499.
  62. [Tos+14]
    Ankit Toshniwal et al. “Storm@Twitter”. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data. SIGMOD’14. Snowbird, Utah, USA: ACM, 2014, pp. 147–156. isbn: 978-1-4503-2376-5. doi: 10.1145/2588555.2595641. url: http://doi.acm.org/10.1145/2588555.2595641.
  63. [TS+09]
    Lawrence To, Viv Schupmann, et al. Oracle Database High Availability Best Practices 11g Release 1 (11.1). Accessed: 2017-05-13. Oracle. Dec. 2009. url: https://docs.oracle.com/cd/B28359_01/server.111/b28282/glossary.htm#CHDIDADC.
  64. [Wan16a]
    MengyanWang. “Parse LiveQuery Protocol Specification”. In: GitHub: ParsePlatform/parse-server (Mar. 2016). Accessed: 2017-11-18. url: https://github.com/parse-community/parse-server/wiki/Parse-LiveQuery-Protocol-Specification.
  65. [Wan16b]
    Mengyan Wang. “Parse Server Goes Realtime with Live Queries”. In: Parse Blog (Mar. 2016). Accessed: 2017-11-18. url: http://blog.parseplatform.org/announcements/parse-server-goes-realtime-with-live-queries/.
  66. [Wen15]
    Jacob Wenger. “List chat group in order of most recently posted”. In: Firebase Google Group (June 2015). Accessed: 2017-07-09. url: https://groups.google.com/forum/#!msg/firebase-talk/d-XjaBVL2Ko/TmkIep44lGgJ.
  67. [Win18]
    Wolfram Wingerath. “Scalable Push-Based Real-Time Queries on Top of Pull-Based Databases”. PhD thesis. University of Hamburg, 2019. url: https://invalidb.info/thesis.
  68. [Wor+14]
    David Workman et al. “Large number of operations hangs server”. In: Meteor GitHub Issues (2014). Accessed: 2016-10-01. url: https://github.com/meteor/meteor/issues/2668.
  69. [Apa18d]
    Apache Software Foundation. CouchDB. Accessed: 2018-05-10. 2018. url: http://couchdb.apache.org/.
  70. [CoC18]
    CoCalc by SageMath, Inc. CoCalc. Accessed: 2018-05-10. 2018. url: https://cocalc.com/.
  71. [Gra18]
    Graphcool, Inc. Graphcool. Accessed: 2018-05-10. 2018. url: https://www.graph.cool/.
  72. [Met15]
    Meteor Development Group. “Livequery”. In: Meteor Change Log v1.0.4 (Mar. 2015). Accessed: 2017-07-09. URL: http://docs.meteor.com/changelog.html#livequery-1.
  73. [Met16]
    Meteor Development Group. “Tuning Meteor Mongo Livedata for Scalability”. In: Meteor Blog (May 2016). Accessed: 2017-05-12. url: https://blog.meteor.com/tuning-meteor-mongolivedata-for-scalability-13fe9deb8908.
  74. [Met18]
    Meteor Development Group. Meteor. Accessed: 2018-05-10. 2018. url: https://www.meteor.com/.
  75. [Mon17]
    MongoDB Inc. “MongoDB 3.6.0-rc0 is released”. In: MongoDB Blog (Oct. 2017). Accessed: 2017-11-17. url: https://www.mongodb.com/blog/post/mongodb-360-rc0-is-released.
  76. [Mon18a]
    MongoDB Inc. MongoDB. Accessed: 2018-05-10. 2018. url: https://www.mongodb.com.
  77. [Mon18b]
    MongoDB Inc. MongoDB Stitch. Accessed: 2018-05-10. 2018. url: https://mongodb.com/cloud/stitch.
  78. [Ori18]
    OrientDB Ltd. OrientDB. Accessed: 2018-05-10. 2018. url: https://orientdb.com/.
  79. [STR18]
    STRV s.r.o. Rapid – Realtime Database Services. Accessed: 2018-05-10. 2018. url: https://www.rapidrealtime.com/.

Copyright information

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Wolfram Wingerath
    • 1
  • Norbert Ritter
    • 2
  • Felix Gessert
    • 1
  1. 1.Baqend GmbHHamburgGermany
  2. 2.University of HamburgHamburgGermany

Personalised recommendations