Skip to main content

D-Thespis: A Distributed Actor-Based Causally Consistent DBMS

  • Chapter
  • First Online:
Transactions on Large-Scale Data- and Knowledge-Centered Systems LIII

Part of the book series: Lecture Notes in Computer Science ((TLDKS,volume 13840))

Abstract

Data Consistency defines the validity of a data set according to some set of rules, and different levels of data consistency have been proposed. Causal consistency is the strongest type of consistency that can be achieved when data is stored in multiple locations, and fault tolerance is desired. D-Thespis is a distributed middleware that innovatively leverages the Actor model to implement causal consistency over an industry-standard relational database, whilst abstracting complexities for application developers behind a REST open-protocol interface. We propose the concept of elastic horizontal scalability, and propose systematic designs, algorithms and a correctness evaluation for a middleware that can be scaled to the needs of varying workloads whilst achieving causal consistency in a performant manner.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    At the time of writing, a single m2-megamem-416 in GCP can have more than 5.5 TB of RAM, and a single u-24tb1.metal instance in AWS can have more than 24.5 TB of RAM.

  2. 2.

    https://aws.amazon.com/blogs/aws/keeping-time-with-amazon-time-sync-service/.

  3. 3.

    https://docs.microsoft.com/en-us/azure/virtual-machines/windows/time-sync.

  4. 4.

    https://docs.microsoft.com/en-us/azure/virtual-machines/linux/time-sync.

  5. 5.

    https://getakka.net/.

  6. 6.

    https://getakka.net/.

  7. 7.

    https://akka.io/.

  8. 8.

    https://dotnet.github.io/orleans/.

  9. 9.

    https://grpc.io/.

References

  1. Abadi, D.: Consistency tradeoffs in modern distributed database system design: CAP is only part of the story. Computer 45(2), 37–42 (2012)

    Article  Google Scholar 

  2. Agha, G.A.: Actors: A Model of Concurrent Computation in Distributed Systems, MIT AI-TR, vol. 844. MIT Press, Cambridge (1986)

    Google Scholar 

  3. Ahamad, M., Neiger, G., Burns, J.E., Kohli, P., Hutto, P.W.: Causal memory: definitions, implementation, and programming. Distrib. Comput. 9(1), 37–49 (1995). https://doi.org/10.1007/BF01784241

    Article  MathSciNet  MATH  Google Scholar 

  4. Akkoorath, D.D., et al.: Cure: strong semantics meets high availability and low latency. In: 2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS), pp. 405–414. IEEE (2016)

    Google Scholar 

  5. Bailis, P., Ghodsi, A., Hellerstein, J.M., Stoica, I.: Bolt-on causal consistency. In: Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data, pp. 761–772. ACM (2013)

    Google Scholar 

  6. Barbará-Millá, D., Garcia-Molina, H.: The demarcation protocol: a technique for maintaining constraints in distributed database systems. VLDB J. - Int. J. Very Large Data Bases 3(3), 325–353 (1994). https://doi.org/10.1007/BF01232643

    Article  Google Scholar 

  7. Bernstein, P., Bykov, S., Geller, A., Kliot, G., Thelin, J.: Orleans: distributed virtual actors for programmability and scalability. MSR-TR-2014-41 (2014)

    Google Scholar 

  8. Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems, vol. 370. Addison-Wesley, Reading (1987)

    Google Scholar 

  9. Braun, S., Bieniusa, A., Elberzhager, F.: Advanced domain-driven design for consistency in distributed data-intensive systems. In: Proceedings of the 8th Workshop on Principles and Practice of Consistency for Distributed Data, pp. 1–12 (2021)

    Google Scholar 

  10. Brewer, E.A.: Towards robust distributed systems. In: PODC, vol. 7 (2000)

    Google Scholar 

  11. Camilleri, C., Vella, J.G., Nezval, V.: Thespis: actor-based causal consistency. In: 2017 28th International Workshop on Database and Expert Systems Applications (DEXA), pp. 42–46. IEEE, August 2017. https://doi.org/10.1109/DEXA.2017.25

  12. Camilleri, C., Vella, J.G., Nezval, V.: ThespisDIIP: distributed integrity invariant preservation. In: Elloumi, M., et al. (eds.) DEXA 2018. CCIS, vol. 903, pp. 21–37. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-99133-7_2

    Chapter  Google Scholar 

  13. Camilleri, C., Vella, J.G., Nezval, V.: ThespisTRX: initial results for causally-consistent read transactions. In: Information Systems and Management Science, Valletta, Malta. Proceedings.com, February 2018. http://www.proceedings.com/38672.html

  14. Camilleri, C., Vella, J.G., Nezval, V.: ThespisTRX: causally-consistent read transactions. Int. J. Inf. Technol. Web Eng. (IJITWE) 15(1), 1–16 (2020)

    Article  Google Scholar 

  15. Camilleri, C., Vella, J.G., Nezval, V.: Actor model frameworks: an empirical performance analysis. In: 5th International Conference on Information Systems and Management Science (2022)

    Google Scholar 

  16. Corbett, J.C., et al.: Spanner: Google’s globally distributed database. ACM Trans. Comput. Syst. (TOCS) 31(3), 8 (2013)

    Article  Google Scholar 

  17. Du, J., Iorgulescu, C., Roy, A., Zwaenepoel, W.: GentleRain: cheap and scalable causal consistency with physical clocks. In: Proceedings of the ACM Symposium on Cloud Computing, pp. 1–13. ACM (2014)

    Google Scholar 

  18. El-Sayed, N., Sun, Z., Sun, K., Mayerhofer, R.: OLTP in real life: a large-scale study of database behavior in modern online retail. In: 2021 29th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), pp. 1–8. IEEE (2021)

    Google Scholar 

  19. Elbushra, M.M., Lindström, J.: Eventual consistent databases: state of the art. Open J. Databases (OJDB) 1(1), 26–41 (2014)

    Google Scholar 

  20. Fowler, M.: Event sourcing, December 2005. https://martinfowler.com/eaaDev/EventSourcing.html

  21. Gilbert, S., Lynch, N.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. ACM SIGACT News 33(2), 51–59 (2002)

    Article  Google Scholar 

  22. Harizopoulos, S., Abadi, D.J., Madden, S., Stonebraker, M.: OLTP through the looking glass, and what we found there. In: Making Databases Work: The Pragmatic Wisdom of Michael Stonebraker, pp. 409–439. Association for Computing Machinery and Morgan and Claypool (2018)

    Google Scholar 

  23. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. (TOPLAS) 12(3), 463–492 (1990)

    Article  Google Scholar 

  24. Hewitt, C., Bishop, P., Steiger, R.: A universal modular actor formalism for artificial intelligence. In: Proceedings of the 3rd International Joint Conference on Artificial Intelligence, pp. 235–245. Morgan Kaufmann Publishers Inc. (1973)

    Google Scholar 

  25. Kulkarni, S., Demirbas, M., Madeppa, D., Bharadwaj, A., Leone, M.: Logical physical clocks and consistent snapshots in globally distributed databases (2014)

    Google Scholar 

  26. Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. ACM SIGOPS Oper. Syst. Rev. 44(2), 35–40 (2010)

    Article  Google Scholar 

  27. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  28. Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. (TOCS) 16(2), 133–169 (1998)

    Article  MATH  Google Scholar 

  29. Lima, M.I.V., de Farias, V.A., Praciano, F.D., Machado, J.C.: Workload-aware parameter selection and performance prediction for in-memory databases. In: SBBD, pp. 169–180 (2018)

    Google Scholar 

  30. Lloyd, W., Freedman, M.J., Kaminsky, M., Andersen, D.G.: Don’t settle for eventual: scalable causal consistency for wide-area storage with COPS. In: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, pp. 401–416. ACM (2011)

    Google Scholar 

  31. Mahajan, P., Alvisi, L., Dahlin, M.: Consistency, availability, and convergence. Technical report 11, University of Texas at Austin (2011)

    Google Scholar 

  32. Mathew, A., Min, C.: HydraList: a scalable in-memory index using asynchronous updates and partial replication. Proc. VLDB Endow. 13(9), 1332–1345 (2020)

    Article  Google Scholar 

  33. Mehdi, S.A., Littley, C., Crooks, N., Alvisi, L., Bronson, N., Lloyd, W.: I can’t believe it’s not causal! Scalable causal consistency with no slowdown cascades. In: 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2017), pp. 453–468 (2017)

    Google Scholar 

  34. Meyer, B.: Eiffel: The Language. Prentice-Hall, Inc. (1992). https://doi.org/10.1016/0950-5849(92)90131-8

  35. Neumann, T., Mühlbauer, T., Kemper, A.: Fast serializable multi-version concurrency control for main-memory database systems. In: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, pp. 677–689 (2015)

    Google Scholar 

  36. Roohitavaf, M., Demirbas, M., Kulkarni, S.S.: CausalSpartan: causal consistency for distributed data stores using hybrid logical clocks. In: 36th IEEE Symposium on Reliable Distributed Systems, SRDS 2017, Hong Kong, 26–29 September 2017, pp. 184–193 (2017). https://doi.org/10.1109/SRDS.2017.27

  37. Spirovska, K., Didona, D., Zwaenepoel, W.: Wren: nonblocking reads in a partitioned transactional causally consistent data store. In: 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), pp. 1–12. IEEE (2018)

    Google Scholar 

  38. Spirovska, K., Didona, D., Zwaenepoel, W.: PaRiS: causally consistent transactions with non-blocking reads and partial replication. In: 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS), pp. 304–316. IEEE (2019)

    Google Scholar 

  39. Spirovska, K., Didona, D., Zwaenepoel, W.: Optimistic causal consistency for geo-replicated key-value stores. IEEE Trans. Parallel Distrib. Syst. 32(3), 527–542 (2020)

    Article  Google Scholar 

  40. Stonebraker, M.: The case for shared nothing. IEEE Database Eng. Bull. 9(1), 4–9 (1986)

    Google Scholar 

  41. Taft, R., et al.: CockroachDB: the resilient geo-distributed SQL database. In: Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, pp. 1493–1509 (2020)

    Google Scholar 

  42. Tanenbaum, A.S., Van Steen, M.: Distributed Systems: Principles and Paradigms, 2nd edn. Pearson (2006). Paperback edn

    Google Scholar 

  43. Terry, D.B., Theimer, M.M., Petersen, K., Demers, A.J., Spreitzer, M.J., Hauser, C.H.: Managing update conflicts in Bayou, a weakly connected replicated storage system. ACM SIGOPS Oper. Syst. Rev. 29(5), 172–182 (1995)

    Article  Google Scholar 

  44. Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)

    Article  Google Scholar 

  45. Wang, Y., Dos Reis, J.C., Borggren, K.M., Salles, M.A.V., Medeiros, C.B., Zhou, Y.: Modeling and building IoT data platforms with actor-oriented databases. In: EDBT, pp. 512–523 (2019)

    Google Scholar 

  46. Yang, Y., Zhu, J.: Write Skew and Zipf distribution: evidence and implications. ACM Trans. Storage (TOS) 12(4), 1–19 (2016)

    Article  Google Scholar 

  47. Young, G.: CQRS Documents (2010)

    Google Scholar 

Download references

Acknowledgements

This work is partly funded by the ENDEAVOUR Scholarship Scheme (Malta), part-financed by the European Union - European Social Fund (ESF) under Operational Programme II - Cohesion Policy 2014–2020.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joseph G. Vella .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer-Verlag GmbH Germany, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Camilleri, C., Vella, J.G., Nezval, V. (2023). D-Thespis: A Distributed Actor-Based Causally Consistent DBMS. In: Hameurlain, A., Tjoa, A.M. (eds) Transactions on Large-Scale Data- and Knowledge-Centered Systems LIII. Lecture Notes in Computer Science(), vol 13840. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-66863-4_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-66863-4_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-66862-7

  • Online ISBN: 978-3-662-66863-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics