Training on application development for the Tarantool ecosystem course programme:

1. Introduction to Tarantool

  • What is Tarantool?
  • Course Overview
  • Right and wrong use cases
  • Architectural overview of Tarantool as an RDBMS and application server

2. Tarantool Database #1

  • How Tarantool stores data
  • Structure and types of indexes in Tarantool
  • Triggers
  • Replication architecture
  • Frequent problems

3. Cooperative multitasking

  • The concept of greenthreads
  • Implementation of greenthreads in Tarantool
  • Event loop in Tarantool

4. Tarantool Database #2

  • Transactions in Tarantool
  • System Tables in Tarantool
  • How to update Tarantool
  • How to calculate the sizing

5. Vshard

  • Sharding Theory
  • How to choose a sharding key and how it leads to map-reduce
  • The inner workings of vshard
  • Rebalancing and related problems
  • How to build an application on top of vshard
  • Frequent problems

6. Cartridge #1

  • What it is and why build a cluster
  • Roles
  • Service discovery in Cartridge
  • Clusterwide config in Cartridge

7. Cartridge #2. Internal design

  • Membership
  • Failover
  • Updating data schema in Cartridge
  • Most frequent problems

8. Local development and deployment

  • Cartridge-cli
  • Luatest

9. Tarantool Rust

  • Why Upgrade to Rust
  • Tarantool C API
  • Tarantool-Rust bindings
  • How to build / debug it all

10. Telemetry and operation

  • Tarantool metrics
  • Opentracing
  • What parameters to keep track of
  • How to add a Cartridge application