MicroStream Fundamentals (MSF)

 

Résumé du cours

In this course, you will learn the fundamentals of how to develop ultra-fast in-memory database apps and microservices with MicroStream.

MicroStream is the very first Java persistence (engine) that enables you to persist any Java object-graph or single subgraphs into any data storage natively. This means any object-graph can be persisted as it is in RAM. The MicroStream approach is fundamentally different from the traditional RDBMS/NoSQL DB-server programming model:

  • only 1 data model - just POJOs,
  • no more dealing with DB-specific data models (tables, column-store, JSON, key-value, DB-specific graphs/objects) - which are actually incompatible with object-graphs we use in Java
  • no more expensive mappings at all,
  • no DB-specific query language, no more classic selects, just using getter.

Object-graphs in RAM is used as an incredibly fast pure Java in-memory database which is a kind of multi-model data structure because ANY Java type can be used such as collections. Queries: By using Java Streams API, object graphs can be searched in microsecond query time - up to 1000x faster than comparable traditional database query-time and even up to 100x faster than reading data directly from a local cache. An additional caching framework such as EHCache is not needed anymore. The end result is an ultra-fast pure Java in-memory database app or microservice having its own superfast persistence. MicroStream itself is a tiny Java API that can be included in any Java project easily via Maven. It runs on the server, on the desktop, within containers, on GraalVM native images as well as on Android. MicroStream is also part of the popular microservice framework Helidon - https://helidon.io/ - powered by Oracle.

After this course, you will be able to use MicroStream in business-critical projects productively.

This course also prepares you for the MicroStream Professional certification exam.

Moyens Pédagogiques :
  • Quiz pré-formation de vérification des connaissances (si applicable)
  • Réalisation de la formation par un formateur agréé par l’éditeur
  • Formation réalisable en présentiel ou en distanciel
  • Mise à disposition de labs distants/plateforme de lab pour chacun des participants (si applicable à la formation)
  • Distribution de supports de cours officiels en langue anglaise pour chacun des participants
    • Il est nécessaire d'avoir une connaissance de l'anglais technique écrit pour la compréhension des supports de cours
Moyens d'évaluation :
  • Quiz pré-formation de vérification des connaissances (si applicable)
  • Évaluations formatives pendant la formation, à travers les travaux pratiques réalisés sur les labs à l’issue de chaque module, QCM, mises en situation…
  • Complétion par chaque participant d’un questionnaire et/ou questionnaire de positionnement en amont et à l’issue de la formation pour validation de l’acquisition des compétences

A qui s'adresse cette formation

Developers and software architects who want to develop high-performance database apps and microservices with Java or any JVM-language as well as apps running on Android devices. Also trainers and consultants.

  • Java developers
  • Developers using any JVM-language
  • Android developers
  • Software architects
  • Java trainers
  • Technical consultants and sales engineers

Pré-requis

  • Fundamental knowledge in Java SE or any JVM programming language
  • Understanding the concepts of object-oriented programming
  • Maven

Objectifs

By the end of the course, you should be able to meet the following objectives:

  • Design a Java object model suited for high-speed in-memory
  • Include and configure MicroStream
  • Create a MicroStream database instance and storage
  • CRUD operations (create, retrieve, update, delete) on the object-graph
  • Store objects and subgraphs persistently
  • Load objects and subgraphs into RAM by using lazy-loading
  • Search object-graphs in microsecond query time by using Java Streams API
  • Use different storage strategies, e.g. RDBMS, NoSQL DBs, plain-files
  • Use the MicroStream Workbench for browsing through your storage data
  • Deploy MicroStream apps

Contenu

Setup and configuration
  • Functional principle of MicroStream
  • Download and setup MicroStream
  • Design of a suited object-graph model
  • Create a new object-graph (in-memory-database) and storage instance
CRUD operations
  • Add new objects to the object-graph (CREATE)
  • Store objects and subgraphs persistently into the storage
  • Load objects and subgraphs into RAM. Use eager-loading, lazy-loading and transient fields.
  • Edit objects (UPDATE)
  • Remove objects (DELETE)
Queries
  • Java Streams API
  • GraphQL
MicroStream internal and deep-dive
  • Configuration
    • Storage targets
    • Parallel I/O ops by using channels
  • Class changes - Use MicroStream’s legacy-type-mapping
  • Use MicroStream’s storage garbage collection
  • Memory management
    • Fully-automated memory management
    • Manual memory management and how to clear lazy references
Tools
  • MicroStream Workbench
  • Access the storage data by using the MicroStream REST-API
Backup
  • Manual backup
  • Continuous backup
  • Use database-specific backup-strategies
Best Practice
  • Suited storage structure
  • Migration strategies
  • Object-graph operations and concurrency
Hands-on exercises

Prix & Delivery methods

Formation en ligne

Durée
2 jours

Prix
  • 1 690,– €
Formation en salle équipée

Durée
2 jours

Prix
  • France : 1 690,– €

Actuellement aucune session planifiée