In this intensive 4-hour online course, we will deep-dive into developing ultra-fast in-memory database apps and microservices with EclipseStore. The EclipseStore Advanced training is based on the EclipseStore Fundamentals training.
EclipseStore is the first Java persistence (engine) that enables you to store any Java object graph of any size and complexity persistently in any data storage. Therefore, your Java objects are serialized in a binary format and binaries are stored directly on disk or in a cloud object storage like AWS S3. Expensive mappings or data conversions are eliminated. The EclipseStore approach is fundamentally different from the traditional database server (RDBMS/NoSQL) 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 incompatible with the Java object model
- no more expensive (object-relational) mappings or data (JSON/XML) conversion at all,
- no DB-specific query language, no more classic selects, just using getter.
Your Java object graph in RAM is a kind of multi-model data structure because it allows you to use any Java type and connect them freely to crate any data structure of any complexity. Using inheritance and circular references is also trouble-free. Your object graph becomes an extremely fast in-memory database. You can search and filter in microseconds by using Java Streams API, which is up to 1000x faster than comparable traditional database queries and even up to 100x faster than retrieving data directly from a local cache. As data is kept and managed in RAM, using an additional cache such as EHCache is not required anymore. The result is an ultra-fast pure Java in-memory database application. EclipseStore is also a predestined light-weight persistence for microservices that need persistence. EclipseStore is just a tiny Java library you can download and include in any Java project easily via Maven. It runs wherever a JVM is available, on the server, desktops, in containers, with GraalVM native images as well as on Android. The only requirement is Java 11 or later. EclipseStore is also well integrated with popular microservice frameworks such as Micronaut, Helidon, and Spring Boot.
Who should attend
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
Prerequisites
Fundamental knowledge in Java SE or any JVM programming language
- Understanding the concepts of object-oriented programming
- Maven
Course Objectives
By the end of the course, you should be able to meet the following objectives:
- Creating an advanced configuration of the EclipseStore storage
- Creating proper data structures for eager and lazy data handling
- Usage of Lazy Collections
- Usage of transactions and rollbacks with EclipseStore
- Create a proper backup strategy for the storage.
- How to handle classes within EclipseStore if its data structure changes (LegacyTypeHandling)
- Using Client-GUI to see data inside the storage.
- Configuration of EclipseStore to use external storages like AWS S3 Bucket
- Configuration of EclipseStore to use a PostgreSQL Database
- Concurrency handling within a EclipseStore application
- Deeper knowledge about advanced topics (“Housekeeping”, Channel migration)
- Knowing the EclipseStore customizer and when to use them.
- How to use Import / Export of Data
Course Content
- Summary of the EclipseStore or previous MicroStream Fundamentals training
- Project exercise for warm-up
- Concurrency handling with EclipseStore’s locking API
- Advanced project / EclipseStore storage configuration
- Usage of channels
- Usage and configuration of housekeeping with example
- Advanced storing technics
- Eager and lazy storing
- Transactions and rollbacks
- Usage of Lazy collections
- LegacyTypeMapping
- How to handle class changes
- How to handle structure changes
- Housekeeping interval
- When and how to change the interval
- Backup
- Manual backup
- Continuous backup
- Use database-specific backup-strategies
- Import / Export of Data
- Best Practice
- EclipseStore questions and answers
Certificate
All participants will receive a participation certificate.