Skip to main content

Issues on Performance of Reactive Programming in the Java Ecosystem with Persistent Data Sources

  • Conference paper
  • First Online:
Man-Machine Interactions 6 (ICMMI 2019)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 1061 ))

Included in the following conference series:

  • 396 Accesses

Abstract

The paper presents research on the performance of reactive processing in the Java ecosystem where persistent data sources (both SQL and NoSQL) were used as one single dependency of the node. Several scenarios have been tested, including changing chunks of data stream, different types of database drivers, etc.

The results show that in the case of reactive processing of data streams being fetched from single noded persistent data sources it is hard to gain an advantage over nonreactive processing and some advantages began to appear only both with a large number of concurrent users and data streams of significant volume, while for low- and mid-loaded systems reactive processing gives usually unnecessary overhead resulting in degradation of the overall performance.

It should be also noticed that we are at the quite early stage of reactive programming development what results sometimes in lack of its support in various layers of technological stacks. This was the case with the PostgreSQL database, where there is no production release of the nonblocking driver, and no support for developing pipeline stored procedures yet.

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 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.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

References

  1. Bainomugisha, E., Carreton, A.L., Cutsem, T.V., Mostinckx, S., Meuter, W.D.: A survey on reactive programming. ACM Comput. Surv. 45(4), 52:1–52:34 (2013). https://doi.org/10.1145/2501654.2501666, http://doi.acm.org/10.1145/2501654.2501666

    Article  Google Scholar 

  2. Bernhardt, M.: Reactive Web Applications: Covers Play, Akka, and Reactive Streams, 1st edn. Manning Publications Co., Greenwich (2016)

    Google Scholar 

  3. Davari, M., Bertino, E.: Reactive access control systems. In: Proceedings of the 23nd ACM on Symposium on Access Control Models and Technologies, SACMAT 2018, pp. 205–207. ACM, New York (2018). https://doi.org/10.1145/3205977.3208947. http://doi.acm.org/10.1145/3205977.3208947

  4. Drechsler, J., Salvaneschi, G.: Optimizing distributed rescala (2014)

    Google Scholar 

  5. Jeff, B.: New t2.xlarge and t2.2xlarge instances. https://aws.amazon.com/blogs/aws/new-t2-xlarge-and-t2-2xlarge-instances/. Accessed 19 Mar 2019

  6. Jovanovic, Z., Bacevic, R., Markovic, R., Randjic, S.: Android application for observing data streams from built-in sensors using Rxjava. In: 2015 23rd Telecommunications Forum Telfor (TELFOR), pp. 918–921 (2015). https://doi.org/10.1109/TELFOR.2015.7377615

  7. Meiklejohn, C.S., Enes, V., Yoo, J., Baquero, C., Van Roy, P., Bieniusa, A.: Practical evaluation of the lasp programming model at large scale: an experience report. In: Proceedings of the 19th International Symposium on Principles and Practice of Declarative Programming, PPDP 2017, pp. 109–114. ACM, New York (2017). https://doi.org/10.1145/3131851.3131862. http://doi.acm.org/10.1145/3131851.3131862

  8. Mogk, R., Salvaneschi, G., Mezini, M.: Reactive programming experience with rescala. In: Conference Companion of the 2nd International Conference on Art, Science, and Engineering of Programming, Programming 2018 Companion, pp. 105–112. ACM, New York (2018). https://doi.org/10.1145/3191697.3214337. http://doi.acm.org/10.1145/3191697.3214337

  9. Myter, F., Coppieters, T., Scholliers, C., De Meuter, W.: I now pronounce you reactive and consistent: handling distributed and replicated state in reactive programming. In: Proceedings of the 3rd International Workshop on Reactive and Event-Based Languages and Systems, REBLS 2016, pp. 1–8. ACM, New York (2016). https://doi.org/10.1145/3001929.3001930. http://doi.acm.org/10.1145/3001929.3001930

  10. Myter, F., Scholliers, C., Meuter, W.D.: Distributed reactive programming for reactive distributed systems. CoRR abs/1902.00524 (2019). http://arxiv.org/abs/1902.00524

  11. PostgreSQL. https://www.postgresql.org/docs/11/plpgsql-control-structures.html. Accessed 19 Mar 2019

  12. Tomasz, N.: Rxjava vs reactor. https://www.nurkiewicz.com/2019/02/rxjava-vs-reactor.html. Accessed 19 Mar 2019

  13. Weisenburger, P., Köhler, M., Salvaneschi, G.: Distributed system development with scalaloci. Proc. ACM Program. Lang. 2(OOPSLA), 129:1–129:30 (2018). https://doi.org/10.1145/3276499. http://doi.acm.org/10.1145/3276499

    Article  Google Scholar 

Download references

Acknowledgements

This work was supported by Statutory Research funds of Institute of Informatics, Silesian University of Technology, Gliwice, Poland (BK/204/RAU2/2019).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lukasz Wycislik .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Wycislik, L., Ogorek, L. (2020). Issues on Performance of Reactive Programming in the Java Ecosystem with Persistent Data Sources. In: Gruca, A., Czachórski, T., Deorowicz, S., Harężlak, K., Piotrowska, A. (eds) Man-Machine Interactions 6. ICMMI 2019. Advances in Intelligent Systems and Computing, vol 1061 . Springer, Cham. https://doi.org/10.1007/978-3-030-31964-9_24

Download citation

Publish with us

Policies and ethics