Improving Kieker′s Scalability by Employing Linked Read- Optimized and Write-Optimized NoSQL Storage
暂无分享,去创建一个
Kieker's monitoring output can be persistently saved into logs by utilizing relational databases or file systems. Currently, there is no support for noSQL storage. As part of our Regression Benchmarking Execution Environment (RBEE) we introduce a self-contained system offering noSQL storage capabilities and acting as gateway between Kieker and RBEE.
We show, how polyglot persistence can increase Kieker's scalability by employing separate read-optimized and write-optimized noSQL storage. For this purpose we extend Kieker to store its monitoring output in Apache Cassandra, which is a write-optimized wide-column noSQL database. For the analysis of the generated monitoring output we are using ElasticSearch, a read-optimized document store noSQL storage. We are interlinking read-optimized and write-optimized noSQL storage within RBEE. To ensure scalability, we are employing a container infrastructure. The mentioned noSQL storages and the linker are operating within one single Docker container which scales horizontally.
For generating reference values, we instrument a Java SE application with Kieker's file system writer and measure throughput and method's execution times. Consecutively, we instrument the same Java SE application with our Apache Cassandra writer and measure throughput and method's execution time. Finally, we will compare measurement results of Kieker's file system writer with the measurement results of our Apache Cassandra writer.
[1] Wilhelm Hasselbring,et al. Microservices for Scalability: Keynote Talk Abstract , 2016, ICPE.
[2] Jaroslav Pokorny. NoSQL databases: a step to database scalability in web environment , 2011, iiWAS '11.
[3] Wilhelm Hasselbring,et al. Kieker: a framework for application performance monitoring and dynamic software analysis , 2012, ICPE '12.