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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
References
Abadi, D.: Consistency tradeoffs in modern distributed database system design: CAP is only part of the story. Computer 45(2), 37–42 (2012)
Agha, G.A.: Actors: A Model of Concurrent Computation in Distributed Systems, MIT AI-TR, vol. 844. MIT Press, Cambridge (1986)
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
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)
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)
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
Bernstein, P., Bykov, S., Geller, A., Kliot, G., Thelin, J.: Orleans: distributed virtual actors for programmability and scalability. MSR-TR-2014-41 (2014)
Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems, vol. 370. Addison-Wesley, Reading (1987)
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)
Brewer, E.A.: Towards robust distributed systems. In: PODC, vol. 7 (2000)
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
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
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
Camilleri, C., Vella, J.G., Nezval, V.: ThespisTRX: causally-consistent read transactions. Int. J. Inf. Technol. Web Eng. (IJITWE) 15(1), 1–16 (2020)
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)
Corbett, J.C., et al.: Spanner: Google’s globally distributed database. ACM Trans. Comput. Syst. (TOCS) 31(3), 8 (2013)
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)
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)
Elbushra, M.M., Lindström, J.: Eventual consistent databases: state of the art. Open J. Databases (OJDB) 1(1), 26–41 (2014)
Fowler, M.: Event sourcing, December 2005. https://martinfowler.com/eaaDev/EventSourcing.html
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)
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)
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. (TOPLAS) 12(3), 463–492 (1990)
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)
Kulkarni, S., Demirbas, M., Madeppa, D., Bharadwaj, A., Leone, M.: Logical physical clocks and consistent snapshots in globally distributed databases (2014)
Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. ACM SIGOPS Oper. Syst. Rev. 44(2), 35–40 (2010)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. (TOCS) 16(2), 133–169 (1998)
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)
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)
Mahajan, P., Alvisi, L., Dahlin, M.: Consistency, availability, and convergence. Technical report 11, University of Texas at Austin (2011)
Mathew, A., Min, C.: HydraList: a scalable in-memory index using asynchronous updates and partial replication. Proc. VLDB Endow. 13(9), 1332–1345 (2020)
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)
Meyer, B.: Eiffel: The Language. Prentice-Hall, Inc. (1992). https://doi.org/10.1016/0950-5849(92)90131-8
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)
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
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)
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)
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)
Stonebraker, M.: The case for shared nothing. IEEE Database Eng. Bull. 9(1), 4–9 (1986)
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)
Tanenbaum, A.S., Van Steen, M.: Distributed Systems: Principles and Paradigms, 2nd edn. Pearson (2006). Paperback edn
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)
Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)
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)
Yang, Y., Zhu, J.: Write Skew and Zipf distribution: evidence and implications. ACM Trans. Storage (TOS) 12(4), 1–19 (2016)
Young, G.: CQRS Documents (2010)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 Springer-Verlag GmbH Germany, part of Springer Nature
About this chapter
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)