{"title":"用于最终一致领域模型设计的复制数据分类","authors":"Susanne Braun, S. Deßloch","doi":"10.1109/ICSA-C50368.2020.00014","DOIUrl":null,"url":null,"abstract":"With the rise of Big Data and digital ecosystems, software architects need the ability to design data-intensive systems in a highly scalable and available manner. Increasingly, data is no longer persisted in one central relational database, but distributed and replicated across different replication nodes running only under eventual consistency. Consequently, there is no longer a single system that could mask all the nasty details and pitfalls of concurrently accessing distributed and replicated data, which poses a lot of new challenges to software architects and developers. Eventually Consistent Domain Driven Design (ECD3) is a novel data replication framework that can exploit the semantics of business operations (like commutativity) in order to increase the number of updates that can run concurrently and free of concurrency anomalies on different replication nodes. The overall framework is split into a methodological framework with architecture design guidelines and a technical framework. It combines proven state-of-the-practice concepts like Domain Driven Design (DDD) and research results from the database and distributed systems research communities. As we will show in this paper the design of domain models can have an impact on the probability of occurrence of concurrency anomalies. Based on three case studies, we analyzed the characteristics of replicated data and derived a classification. We use this classification to provide class-specific design guidelines and best practices for the design of eventually consistent domain models that are free of concurrency anomalies.","PeriodicalId":202587,"journal":{"name":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"A Classification of Replicated Data for the Design of Eventually Consistent Domain Models\",\"authors\":\"Susanne Braun, S. Deßloch\",\"doi\":\"10.1109/ICSA-C50368.2020.00014\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"With the rise of Big Data and digital ecosystems, software architects need the ability to design data-intensive systems in a highly scalable and available manner. Increasingly, data is no longer persisted in one central relational database, but distributed and replicated across different replication nodes running only under eventual consistency. Consequently, there is no longer a single system that could mask all the nasty details and pitfalls of concurrently accessing distributed and replicated data, which poses a lot of new challenges to software architects and developers. Eventually Consistent Domain Driven Design (ECD3) is a novel data replication framework that can exploit the semantics of business operations (like commutativity) in order to increase the number of updates that can run concurrently and free of concurrency anomalies on different replication nodes. The overall framework is split into a methodological framework with architecture design guidelines and a technical framework. It combines proven state-of-the-practice concepts like Domain Driven Design (DDD) and research results from the database and distributed systems research communities. As we will show in this paper the design of domain models can have an impact on the probability of occurrence of concurrency anomalies. Based on three case studies, we analyzed the characteristics of replicated data and derived a classification. We use this classification to provide class-specific design guidelines and best practices for the design of eventually consistent domain models that are free of concurrency anomalies.\",\"PeriodicalId\":202587,\"journal\":{\"name\":\"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)\",\"volume\":\"4 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-03-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSA-C50368.2020.00014\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE International Conference on Software Architecture Companion (ICSA-C)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSA-C50368.2020.00014","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A Classification of Replicated Data for the Design of Eventually Consistent Domain Models
With the rise of Big Data and digital ecosystems, software architects need the ability to design data-intensive systems in a highly scalable and available manner. Increasingly, data is no longer persisted in one central relational database, but distributed and replicated across different replication nodes running only under eventual consistency. Consequently, there is no longer a single system that could mask all the nasty details and pitfalls of concurrently accessing distributed and replicated data, which poses a lot of new challenges to software architects and developers. Eventually Consistent Domain Driven Design (ECD3) is a novel data replication framework that can exploit the semantics of business operations (like commutativity) in order to increase the number of updates that can run concurrently and free of concurrency anomalies on different replication nodes. The overall framework is split into a methodological framework with architecture design guidelines and a technical framework. It combines proven state-of-the-practice concepts like Domain Driven Design (DDD) and research results from the database and distributed systems research communities. As we will show in this paper the design of domain models can have an impact on the probability of occurrence of concurrency anomalies. Based on three case studies, we analyzed the characteristics of replicated data and derived a classification. We use this classification to provide class-specific design guidelines and best practices for the design of eventually consistent domain models that are free of concurrency anomalies.