Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JCon2022: Ultra-fast MicroProfile and Jakarta EE with Microstream

JCon2022: Ultra-fast MicroProfile and Jakarta EE with Microstream

JCon 2022 Virtual Talk by Karina Varela and Otávio Santana
https://jcononline2022.sched.com/event/11lEZ?iframe=no

Within the world of Java standards, Eclipse MicroProfile and Jakarta EE bring several facilities and functionalities to make the development of microservices in the cloud-native era something straightforward. And this platform will be even better with a database engine that promises to be 1000 times faster than the relational database. Meet the Microstream: a fundamentally new persistence framework for storing complex Java object graphs natively, which means the object graph is stored on disk as it is in RAM.

Karina Macedo Varela

October 04, 2022
Tweet

More Decks by Karina Macedo Varela

Other Decks in Technology

Transcript

  1. Persistence hero's journey ◦ Why databases are used? ◦ What

    challenges are faced by modern apps? ◦ Why an in-memory persistence like Microstream performs significantly better? ◦ How can such persistence strategy enhance architectural solutions? ◦ How can I use it with Jakarta EE/Microprofile?
  2. @otaviojava || @kvarel4 Maturity Model State of affairs Persistence landscape

    Database flavors Paradigms Source: https://survey.stackoverflow.co/2022/#most-popular-technologies-language-prof 2022 Stackoverflow developer survey
  3. @otaviojava || @kvarel4 It's the first thing we do Change

    is hard and expensive Maintaining evolutionary data Challenges in a database land
  4. @otaviojava || @kvarel4 Challenges in a database land Different paradigms:

    Apps x DBMS Application (Object Oriented Language) Mismatch Database (Relational) Object Tables src: https://en.wikipedia.org/wiki/Directed_graph
  5. @otaviojava || @kvarel4 Challenges in a database land Different paradigms:

    Apps x DBMS Application Mismatch Database Heritage Polymorphism Encapsulation Types Normalization Denormalization Structure
  6. Mismatch Impedance == Slower persistence layer • Conversions ◦ Done

    every read and write ◦ takes up to 90% of query time in total • Complex framework or other types of mappings are required • High complexity, development effort & costs
  7. Mismatch Impedance == Slower persistence layer • Conversions ◦ Done

    every read and write ◦ takes up to 90% of query time in total • Complex framework or other types of mappings are required • High complexity, development effort & costs
  8. @otaviojava || @kvarel4 Cloud Object Store Choose your favorite data

    storage target Abstraction layer allows usage of multiple storage types and vendors SQL NoSQL Local File System
  9. @otaviojava || @kvarel4 Microstream Hello World! StorageManager manager = EmbeddedStorage.start();

    MyStructure structure = new MyStructure(); manager.setRoot(structure); structure.add(itemB); manager.storeRoot();
  10. @otaviojava || @kvarel4 • Adopting ultra-fast persistence using Microstream within

    apps based on: ◦ Java SE ◦ Microprofile ◦ Jakarta EE Demo
  11. To learn more about Microstream, become an Open Source contributor,

    check out: https://microstream.one/ If you're interested in Java and software architecture as we do, let's stay in touch! https://architects4j.github.io/ Thank you! Otavio Santana @otaviojava https://otaviojava.com/ Karina Varela @kvarel4 https://kvarela.me/