Aerospike for Developers Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

Knowledge of a programming language (Java, PHP, C# or any other supported by Aerospike)

Overview

This course covers everything a database developer needs to know to successfully develop applications using Aerospike.

Course Outline

Data Management

  • Data Model
  • Primary Index
  • Secondary Index
  • Hybrid Storage

Distribution

  • Data Distribution
  • Consistency Guarantees
  • Clustering
  • Cross Data-Center Replication
  • Rack Awareness

Client Architecture

ACID

Key-Value Store

  • Single Record
  • Batch
  • Scans

Policies

Data Types

  • Lists
  • Maps
  • Geospatial
  • Large Data Types

Query

User-Defined Functions

  • Record UDF
  • Stream UDF

Aggregation

Security (Enterprise Edition only)

Known Limitations

Apache CouchDB for Developers Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

None

Overview

Adobe CouchDB is a scalable, fault-tolerant, and schema-free document-oriented database written in Erlang. It’s used in large and small organizations for a variety of applications where a traditional SQL database isn’t the best solution for the problem at hand.

Audience

This course is directed at engineers and developers seeking to deploy and develop with a CouchDB instance.

Course Outline

Installing CouchDB

  • Introduction: CouchDB at a glance
  • Installation: Get up and running fast
  • Technical Overview: Details of the CouchDB technology
  • Basics: Getting started with CouchDBConfiguring CouchDB
  • Base Configuration
  • couch_peruser
  • CouchDB HTTP Server
  • Authentication and Authorization
  • Compaction Configuration
  • Logging
  • Replicator
  • Query Servers
  • External Processes
  • HTTP Resource Handlers
  • CouchDB Internal Services
  • Miscellaneous Parameters
  • Proxying Configuration

CouchApp

CouchDB External APIs

Query Server

Fauxton

Cluster

  • Setup
  • Theory
  • Node Management
  • Database Management
  • Sharding

JSON Structure

  • All Database Documents
  • Bulk Documents

Troubleshooting

  • Breaking Changes
  • Error Messages
  • Known Problem
  • Official CouchDB bug tracker

OrientDB for Developers Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • General understanding of database concepts
  • Basic familiarity with SQL

Overview

OrientDB is a NoSQL Multi-Model Database that works with Graph, Document, Key-Value, GeoSpatial, and Reactive models. Its flexibility allows users to manage different kinds of data under one centralized database.

In this instructor-led, live training, participants will learn how to start using OrientDB and utilize its flexibility to manage data.

By the end of this training, participants will be able to:

  • Install OrientDB
  • Learn how to create and manage a database with OrientDB
  • Explore the different features and functionalities of OrientDB
  • Learn how to work with different APIs on OrientDB
  • Deploy OrientDB using Distributed Architecture

Audience

  • Software engineers and technicians
  • Technical people in all industries
  • IT people
  • Developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

Introduction

Understanding Databases and OrientDB: Basic Concepts and Philosophies

Installing and Running OrientDB

Getting Started with OrientDB

  • Using the OrientDB Studio
  • Using the OrientDB Console
  • Familiarization with Primary Structural Elements in OrientDB
  • Working with Graphs

Exploring Data Modelling Concepts

Creating and Managing Schema with OrientDB

Working with SQL on OrientDB

  • Overview of SQL API
  • Data Modelling Using SQL
  • Using Basic CRUD Operations in SQL with OrientDB
  • Learning Graph Functionality and Traversals with SQL
  • Implementing Transactions in OrientDB

Working with the Blueprints Graph API on OrientDB

Working with the HTTP/REST API on OrientDB

  • Using Server-Side Functions
  • Managing Users: Permissions and Authentication
  • Setting Up a Distributed Deployment of OrientDB
  • Using the ETL Module
  • Building the VehicleHistoryGraph Database
  • Using the Demonstration Database

Troubleshooting

Closing Remarks

ApsaraCache for Developers Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • An understanding of database concepts
  • Linux command line experience
  • Experience developing web applications in any of the languages supported by ApsaraCache (Java, C#, Python, Scala, C++, R, PHP, etc.)

Audience

  • Developers
  • Database engineers

Overview

ApsaraCache is a fork of Redis, the cloud-based in-memory data structure store that is commonly used as a database, cache and a message broker. ApsaraCache solves stability bottlenecks caused by frequent AOF Rewrite with time-based recovery to precision in seconds. It also solved the syncing problem when there’s a patchy connection.

This instructor-led, live training (online or onsite) is aimed at engineers who wish to integrate a powerful Redis alternative for storing and caching data in real-time.

By the end of this training, participants will be able to:

  • Understand the differences between Redis and ApsaraCache and make the most of ApsaraCache’s unique features.
  • Understand and employ the different Data Types and Commands used in ApsaraCache.
  • Integrate ApsaraCache with existing web applications to capture incoming data.
  • Use ApsaraCache to capture chat logs, scoreboards, and other real-world web data.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.
  • To learn more about ApsaraCache, please visit: https://github.com/alibaba/ApsaraCache

Course Outline

Introduction

  • Apsara as a key/value store

Preparing the Development Environment

Overview of ApsaraCache Features and Architecture

Choosing a Protocol: Redis vs Memchached

Creating a Sample Application

Working with ApsaraCache Data Types

Working with ApsaraCache APIs

Pipelining in ApsaraCache

Sending and Receiving Messages with Pub/Sub

Processing Transactions

Feeding Lots of Data with Mass Insertion

Testing and Debugging the Application

Deploying the Application

Troubleshooting

Summary and Conclusion

Redis for Developers and System Administrators Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

Participants should be comfortable with basic system administration tasks using linux command line. Some topics require programming or scripting skills. When booking, please list the programming languages that you are familiar with. If there are none, we’ll just issue redis commands from redis-cli.

Overview

Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker.

Course Outline

Module 1: Initial setup

  • Redis Releases
  • Installation
  • Configuration
  • Security model
  • Starting Redis during boot
  • Security hardening applied by common Linux distributions
  • Client libraries and language bindings

Module 2: Data model

  • Primitive data types and commands to manipulate them
  • Typical use cases for each data type
  • Common naming conventions for Redis keys
  • “Redis is mostly single-threaded” – what it means in practice
  • Redis wire protocol
  • What to do if your client library does not know about some useful command
  • Why some commands are deliberately unavailable in some client libraries
  • How to adjust your mindset from the one of a relational database designer
  • General tips on data organization
  • Expiration
  • Pub/Sub
  • Transactions & Lua scripts
  • External modules
  • General tips on data consistency

Module 3: Performance tips

  • Benchmarking Redis
  • Commands to avoid
  • Debugging latency problems
  • Problems with big DEL requests – what to use instead
  • Pipelining
  • Mass insertion
  • Debugging memory overuse
  • Memory optimization tips

Module 4: Operations

  • Available persistence mechanisms
  • Precautions to avoid SSD wearout
  • Backup and restore
  • Tools for exploring database contents
  • Tools for dump analysis
  • Tuning durability vs performance
  • Switching between RDB and AOF
  • Use cases for diskless Redis
  • OS-level tunables relevant for Redis
  • Monitoring Redis performance

Module 5: More than one Redis

  • Starting multiple instances of Redis on one server
  • Application-level partitioning
  • Master-slave replication
  • High availability using Redis Sentinel
  • Redis Cluster
  • Making Sentinel and Cluster work across NAT
  • Making consistent backups

Cassandra for Developers – Bespoke Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • comfortable with Java programming language
  • comfortable in Linux environment (navigating command line, editing files with vi / nano)

Lab environment:

A working Cassandra environment will be provided for students. Students would need an SSH client and a browser to access the cluster.

Zero Install : There is no need to install Cassandra on students’ machines!

Overview

This course will introduce Cassandra –  a popular NoSQL database.  It will cover Cassandra principles, architecture and data model.   Students will learn data modeling  in CQL (Cassandra Query Language) in hands-on, interactive labs.  This session also discusses Cassandra internals and some admin topics.

Duration : 3 days

Audience : Developers

Course Outline

  • Section 1: Introduction to Big Data / NoSQL
    • NoSQL overview
    • CAP theorem
    • When is NoSQL appropriate
    • Columnar storage
    • NoSQL ecosystem
  • Section 2 : Cassandra Basics
    • Design and architecture
    • Cassandra nodes, clusters, datacenters
    • Keyspaces, tables, rows and columns
    • Partitioning, replication, tokens
    • Quorum and consistency levels
    • Labs : interacting with cassandra using CQLSH
  • Section 3: Data Modeling – part 1
    • introduction to CQL
    • CQL Datatypes
    • creating keyspaces & tables
    • Choosing columns and types
    • Choosing primary keys
    • Data layout for rows and columns
    • Time to live (TTL)
    • Querying with CQL
    • CQL updates
    • Collections (list / map / set)
    • Labs : various data modeling exercises using CQL ; experimenting with queries and supported data types
  • Section 4: Data Modeling – part 2
    • Creating and using secondary indexes
    • composite keys (partition keys and clustering keys)
    • Time series data
    • Best practices for time series data
    • Counters
    • Lightweight transactions (LWT)
    • Labs : creating and using indexes;  modeling time series data
  • Section 5 : Data Modeling Labs  : Group design session
    • multiple use cases from various domains are presented
    • students work in groups to come up designs and models
    • discuss various designs, analyze decisions
    • Lab : implement one of the scenario
  • Section 6: Cassandra drivers
    • Introduction to Java driver
    • CRUD (Create / Read / Update, Delete) operations using Java client
    • Asynchronous queries
    • Labs : using Java API for Cassandra
  • Section 7 : Cassandra Internals
    • understand Cassandra design under the hood
    • sstables, memtables, commit log
    • read path / write path
    • caching
    • vnodes
  • Section 8: Administration
    • Hardware selection
    • Cassandra distributions
    • Installing Cassandra
    • Running benchmarks
    • Tooling for monitoring performance and node activities
      • DataStax OpsCenter
    • Diagnosting Cassandra performance issues
    • Investigating a node crash
    • Understanding data repair, deletion and replication
    • Other troubleshooting tools and tips
    • Cassandra best practices (compaction, garbage collection,)
  • Section 9:  Bonus Lab (time permitting)
    • Implement a music service like Pandora / Spotify on Cassandra

Cassandra for Developers Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • comfortable with Java programming language
  • comfortable in Linux environment (navigating command line, editing files with vi / nano)

Overview

This course will introduce Cassandra –  a popular NoSQL database.  It will cover Cassandra principles, architecture and data model.   Students will learn data modeling  in CQL (Cassandra Query Language) in hands-on, interactive labs.  This session also discusses Cassandra internals and some admin topics.

Audience : Developers

Course Outline

  • Section 1: Introduction to Big Data / NoSQL
    • NoSQL overview
    • CAP theorem
    • When is NoSQL appropriate
    • Columnar storage
    • NoSQL ecosystem
  • Section 2 : Cassandra Basics
    • Design and architecture
    • Cassandra nodes, clusters, datacenters
    • Keyspaces, tables, rows and columns
    • Partitioning, replication, tokens
    • Quorum and consistency levels
    • Labs : interacting with cassandra using CQLSH
  • Section 3: Data Modeling – part 1
    • introduction to CQL
    • CQL Datatypes
    • creating keyspaces & tables
    • Choosing columns and types
    • Choosing primary keys
    • Data layout for rows and columns
    • Time to live (TTL)
    • Querying with CQL
    • CQL updates
    • Collections (list / map / set)
    • Labs : various data modeling exercises using CQL ; experimenting with queries and supported data types
  • Section 4: Data Modeling – part 2
    • Creating and using secondary indexes
    • composite keys (partition keys and clustering keys)
    • Time series data
    • Best practices for time series data
    • Counters
    • Lightweight transactions (LWT)
    • Labs : creating and using indexes;  modeling time series data
  • Section 5 : Data Modeling Labs  : Group design session
    • multiple use cases from various domains are presented
    • students work in groups to come up designs and models
    • discuss various designs, analyze decisions
    • Lab : implement one of the scenario
  • Section 6: Cassandra drivers
    • Introduction to Java driver
    • CRUD (Create / Read / Update, Delete) operations using Java client
    • Asynchronous queries
    • Labs : using Java API for Cassandra
  • Section 7 : Cassandra Internals
    • understand Cassandra design under the hood
    • sstables, memtables, commit log
    • read path / write path
    • caching
    • vnodes
  • Section 8: Administration
    • Hardware selection
    • Cassandra distributions
    • Cassandra best practices (compaction, garbage collection,)
    • troubleshooting tools and tips
    • Lab : students install Cassandra, run benchmarks
  • Section 9:  Bonus Lab (time permitting)
    • Implement a music service like Pandora / Spotify on Cassandra

PostgreSQL 13 for Developers and Administrators Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • An understanding of RDBMS
  • Experience with SQL

Audience

  • System administrators
  • Developers

Overview

PostgreSQL (also known as Postgres) is an open source relational database management system or RDBMS. It is built to handle large data workloads while maintaining stability, reliability, and optimal performance.

This instructor-led, live training (online or onsite) is aimed at sysadmins and developers who wish to use PostgreSQL 13 to set up, build, and manage databases for high-performance applications.

By the end of this training, participants will be able to:

  • Install and configure PostgreSQL 13.
  • Understand the features, architecture, and fundamentals of operating, managing, and maintaining databases with PostgreSQL 13.
  • Learn how to configure Postgres database tables and schemas.
  • Learn how to perform data manipulations and queries.
  • Explore the different programming interfaces (client and server) to fully utilize and extend functionalities in PostgreSQL 13.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

  • PostgreSQL vs MySQL vs Oracle
  • Overview of PostgreSQL 13 features and architecture

Getting Started

  • Setting up a database server
  • Installing PostgreSQL 13
  • Creating and accessing a database
  • SQL syntax, commands, and functions

Configuring a Postgres Database

  • Data definition, default values, and constraints
  • Setting up and modifying tables
  • Managing privileges and security policies
  • Creating database schemas
  • Implementing table inheritance and partitioning
  • Adding, updating, and querying data
  • Data types, functions, and operators
  • Using indexes and running full-text search
  • Understanding concurrency control

Managing a Database Server

  • Upgrading a PostgreSQL cluster
  • Securing the server and encrypting data
  • Configuring server parameters
  • Enabling client authentication
  • Setting up access roles and permissions
  • Managing multiple databases
  • Performing database maintenance tasks
  • Backing up and restoring data
  • Optimizing database performance and reliability
  • Monitoring database activity and disk usage
  • Implementing logical replication
  • Running regression tests

Client-Side Programming

  • Using the libpq C library   and large object interface
  • Executing embedded SQL statements
  • Exploring the information schema
  • Other PostgreSQL client applications

Server-Side Programming

  • Extending the SQL query language
  • Writing event trigger functions
  • Implementing rule systems
  • Using procedural languages (PLs)
  • Exploring TCL, Perl, and Python PLs
  • Executing server programming interfaces
  • Examples of logical decoding
  • Tracking replication progress

Troubleshooting

Summary and Next Steps

Oracle 11g – SQL language for developers – Workshop Training Course

Duration

35 hours (usually 5 days including breaks)

Requirements

Knowledge-wide information technology.

Overview

For who

Workshops are dedicated as a first step for developers and designers of applications based on Oracle databases. Participants do not need to have any prior knowledge of the Oracle database, or other relational database systems, even though such knowledge may be useful.

Exams and Certificates

The plan covers the training material required to pass the exam 1Z0-047 Oracle Database SQL Expert and obtain the title of Oracle Database SQL Certified Expert

Purpose of training

The workshop aims to familiarize participants with the Oracle database techniques to build database structures and data manipulation. Particular emphasis is placed on the participant to see across the board, which offers opportunities to design and build applications Relational Database Management System, Oracle Database, and to be able to independently work with her.

The content of the training

  • Introduction to database technology and the organization of the work environment
  • Acquisition and modification of data
  • Construction of the repository application
  • Safety and concurrency runtime

Notes

The workshops are based on the software version 11g XE

Course Outline

Introduction to the Oracle database

  • Database Architecture
  • Relational model database
  • Users diagrams sessions
  • Tools

Introduction to the SELECT statement

  • Screening and selection (WHERE clause)
  • Sorting
  • Data types, operators, and service NULL
  • Built-in scalar functions
  • Actions to date
  • National and regional settings in SQL

The analysis of aggregated data

  • Funkcje grupujące
  • Klauzula distinct
  • Klauzule GROUP BY and having

Retrieving data from multiple tables

  • Inner and outer joins (INNER JOIN, OUTER JOIN)
  • ANSI SQL syntax, and other methods connectors (SELF JOIN, NATURAL JOIN)
  • Collective operators (UNION, UNION ALL, INTERSECT, MINUS)

Subqueries

  • Subqueries simple
  • Correlated subqueries
  • Operators EXISTS and NOT EXISTS
  • Other types of subqueries

Inquiries hierarchical and samples

  • Construction of the tree (CONNECT BY PRIOR clause and START WITH)
  • The SYS_CONNECT_BY_PATH
  • Data samples (SAMPLE clause)

Data manipulation (DML)

  • “INSTRUCCIONES INSERT, UPDATE, DELETE
  • Operacja na dużych zbiorach (INSERT FIRST, ALL INSERT, MERGE)

Dictionary system

Concurrent users work

  • Transactions
  • Locks
  • FLASHBACK

Users and Permissions

  • Creating and modifying user patterns
  • Permissions and roles

Managing data storage – logical layer

  • Tables, temporary tables, index-organized tables
  • Limitations
  • Indexes
  • The views, sequences, synonyms, materialized views
  • Units stored PL / SQL

Modeling and restore the data model using Oracle SQL Modeler

Moving Data

  • A logical copy of the data – datapump import and export
  • Loading data – sqlLoader
  • External tables
  • Links database

Automating tasks

  • dbms_jobs, dbms_scheduler

Berkeley DB for Developers Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • Programming experience

Overview

Berkeley DB (BDB) is a software library intended to provide a high-performance embedded database for key/value data. Berkeley DB is written in C with API bindings for C++, C#, Java, Perl, PHP, Python, Ruby, Smalltalk, Tcl, and many other programming languages. Berkeley DB is not a relational database.

This course will introduce the architecture and capabilities of Berkeley DB and walk participants through the development of their own sample application using Berkeley DB.

Audience

  • Application developers
  • Software engineers
  • Technical consultants

Format of the course

  • Part lecture, part discussion, hands-on development and implementation, tests to gauge understanding

Course Outline

Introduction

Installing Berkeley DB

Configuring Berkeley DB

Database operations

Working with the Berkeley DB API

Creating transactional applications in Berkeley DB

Creating concurrent data stores

Cursor operations

Querying the database

Working with indexes

Replicating your application

Berkeley DB utilities

Building, configuring and updating Berkeley DB

Backup and recovery

Tuning Berkeley DB

Summary and conclusion