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
Aggregation
Security (Enterprise Edition only)
Known Limitations
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
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
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
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
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
- 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
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
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
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
Duration
21 hours (usually 3 days including breaks)
Requirements
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