Abstract
Maintaining strong consistency and throughput in distributed NoSQL systems is very important these days, but often impossible to achieve at the same time. Consistency problems in distributed systems result in serious consequences, e.g. data loss, while throughput problems lead to poor system performance. This paper goes beyond solving consistency issues in distributed NoSQL systems and addresses the important problem of ensuring high throughput in such systems at the same time. To this end, we proposed a novel architecture of the layered NoSQL system that enables greater throughput by using replication of data items in a dynamic way while still preserving strong consistency. It is characterized by high availability, enhanced throughput, strong consistency, and space scalability. This system was built on top of a very efficient NoSQL system, called Scalable Distributed Two-Layer Data Store (SD2DS). To develop our system, we identified and analyzed the inconsistencies in the case of SD2DS architecture with increased throughput in the case of concurrent operations execution, as well as in the case of unfinished operations. The theoretical correctness of the proposed solution was proved. Its performance was experimentally evaluated in comparison with common NoSQL systems such as MemCached and MongoDB. The results confirmed its superiority in terms of performance, so it can successfully compete with publicly available solutions. It makes it possible to use the SD2DS system in practical IT systems that require high performance and consistency.