Course intended for:

The training is aimed at developers, architects and application administrators who want to create or maintain systems based on scalable NoSQL databases, in particular specialists for whom performance and volume of processed data is the highest priority. The course is also aimed at people currently involved in creation of relational databases who want to gain knowledge of alternative technologies, which gradually displace relational databases from different application areas.

Course objective:

Course participants will gain a general knowledge of NoSQL databases, theirs functionalities, applications and limitations. After the training, course participants will be able to choose the right database for their projects. In addition to general introduction to non-relational databases, this training is focusing on the Redis database.

Course strengths:

The training program includes a general introduction to NoSQL databases as well as the overall presentation of the Redis database. The training is unique because its subject is not fully recognized in the literature and knowledge of NoSQL databases is highly fragmented.

The training program is constantly updated due to a rapid development of NoSQL solutions.

Requirements:

The participants are required basic knowledge of databases, basic programming skills in Java.

Course parameters:

3* 7 hours of lectures and workshops at a ratio of 1:3. During workshops, in addition to simple exercises, participants will design a database, perform administrative tasks, and implement access to a database.

Group size: max. 8-10 people

Course curriculum

  1. Introduction

    1. Introduction to NoSQL databases

    2. The cause of the cloud databases increasing popularity

    3. Consistency, availability, resistance to partitioning

    4. CAP theorem

    5. What distinguishes NoSQL database from relational databases

    6. Basic parameters of NoSQL databases

    7. Classification and overview of NoSQL databases (Cassandra, HBase, Mongo, Riake, CouchDB, Tokyo Cabinet, Voldemort etc.)

    8. The problem of transactions and replication of NoSQL databases, including Redis

    9. Unique features of Redis

  2. Redis basics

    1. Redis architecture

    2. redis-cli interface

    3. Accessing Redis

    4. Basic operations

  3. Redis datatypes

    1. Strings

    2. List

    3. Set

    4. Sorted set

    5. Hash

  4. Business domain modeling

    1. Domain modeling vs data model

    2. Logical, conceptual, physical model

    3. Aggregation, composition, inheritance

    4. Limitations, good and bad practices

    5. Examples

  5. Redis commands

    1. Keys commands: RANDOMKEY, SCAN, …

    2. Datatypes commands: APPEND, HKEYS, …

    3. Pub/Sub: PUBLISH, SUBSCRIBE, …

    4. Transactions: MULTI, WATCH, …

    5. Server: SHUTDOWN, SAVE, …

    6. Connection: AUTH, SELECT, …

  6. Internal mechanisms

    1. Dynamic strings

    2. Events

    3. Virtual memory

    4. External connections

    5. POSIX signals

    6. Redis RDB Dump File Format

    7. Redis Serialization Protocol

  7. Clustering, High availability, fault tolerance

    1. Sharding

    2. Redis Sentinel

    3. Partitioning

    4. Replication

    5. Persistence

    6. Backup

  8. Automation

    1. Lua interpreter

    2. Pipelining

    3. Transactions

    4. Publish/Subscribe

    5. Key notifications

    6. Data expirations

    7. Mass data operations

  9. Optimization and performance tuning

    1. Memory tuning

    2. Big memory

    3. Read/Write scaling

    4. redis-benchmark

    5. Good and bad practices

  10. Security

    1. Authentication and Authorization

    2. Data-level security

    3. Command-level security

    4. Security in the cluster, network security

  11. Redis administration tasks

    1. Installation and configuration of Redis instance

    2. Frequent administration tasks

    3. Upgrading, migration and backup

    4. Adding/Removing nodes to/from replica/cluster. Node resynchronization

    5. Administration panels and tools

      1. Redis Desktop Manager

      2. Redsmin

      3. ReAdmin

      4. Redis Commander

      5. Redmon

      6. redis-tools, redis-rdb-tools

      7. RedisLive

  12. Troubleshooting

  13. Overview of tools, client libraries, drivers

    1. Redisson and Jedis (JAVA client libraries)

      1. Installation

      2. API

      3. Simple app

    2. (option) StackExchange.Redis (.NET client libraries)

      1. Installation

      2. API

      3. Simple app

  14. Redis commercial implementations

Any questions?

* Required.


Contact
Phone +48 22 2035600
Fax +48 22 2035601
Email