NoSQL Database with Microsoft Azure Cosmos DB Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • Experience with database management systems
  • Familiarity with cloud computing

Audience

  • Database administrators
  • Developers

Overview

Microsoft Azure Cosmos DB is a fully managed NoSQL database service designed for high-speed data processing and storage scaling. It supports multiple data models and open-source APIs, such as MongoDB and Cassandra.

This instructor-led, live training (online or onsite) is aimed at database administrators or developers who wish to use Microsoft Azure Cosmos DB to develop and manage highly responsive and low latency applications.

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

  • Provision the necessary Cosmos DB resources to start building databases and applications.
  • Scale application performance and storage by utilizing APIs in Cosmos DB. 
  • Manage database operations and reduce cost by optimizing Cosmos DB resources.

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

  • Azure Cosmos DB vs Redis vs other NoSQL databases
  • Overview of Azure Cosmos DB features and architecture

Getting Started

  • Introducing NoSQL DB
  • Choosing an API
  • Creating Cosmos DB resource models

Creating and Managing Data

  • Building console apps, web apps, and mobile apps
  • Modeling and partitioning data
  • Querying data with SQL

Working with DB APIs

  • Using Cassandra API in Cosmos DB
  • Migrating from MongoDB to Cosmos DB’s MongoDB API
  • Modeling graph data with Gremlin API
  • Using Table APIs for applications

Optimizing Cosmos DB for Cost Reduction

  • Partitioning and scaling containers
  • Distributing data globally
  • Planning and managing costs
  • Implementing rate limits and reserved capacity

Troubleshooting

Summary and Conclusion

A Practical Introduction to NoSQL Databases Training Course

Duration

28 hours (usually 4 days including breaks)

Requirements

  • An understanding of relational database concepts
  • No programming experience is necessary

Overview

Relational databases have been the technology of choice for storing, retrieving and querying data. Relational databases allow users to organize their data using a structured, well-defined set of patterns (model). While this approach works well for storing data that is standardized and well-understood in advance (think of a hospital check-in application that holds patient records with the same consistent set of pre-defined fields…patient id, first name, last name, date of last visit, etc.), there are limitations to this model. For organizations whose incoming data is not well-defined (think of an online inquiry form for a startup whose still in the process of experimenting with different fields for collecting visitor data, removing and adding fields as they go to accommodate for the changing nature of the business), any established definitions for how the data should fit into an existing database would need to be re-defined regularly. This would require recreating the data model (schema) that dictates the structure of the data and its allowed data types to support different types of data inputs, etc., before any new data could be saved to the database.

Enter NoSQL (Not Only SQL) databases. NoSQL databases free users from having to predefine the structure of the incoming data, allowing them to insert and update new data on the fly. NoSQL databases are often faster than relational databases and can handle very large amounts of data with ease. NoSQL databases also scale better than relational databases, due to their ability to efficiently partition data across many servers (cluster) and load balance the access to this data. NoSQL databases integrate particularly well with applications that support real-time analytics, site personalization, IoT, and mobile apps

In this instructor-led, live training, participants will understand the architecture, design principles and functionality of the most popular NoSQL databases as they setup, operate and asses a number of NoSQL databases in a live lab environment. The goal of this training is to enable participants to intelligently evaluate, propose and implement a suitable NoSQL database solution within their organization.

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

  • Install and configure different types of NoSQL databases, including MongoDB, Cassandra, Redis and Neo4j
  • Understand the benefits and disadvantages of NoSQL databases vs relational databases
  • Understand the underlying data formats used by NoSQL databases and how these formats can be used to an advantage when developing modern applications (desktop, mobile, cloud, IoT)
  • Perform create, insert, update, delete operations in a NoSQL database
  • Setup a mixed environment with both a relational database and NoSQL working in tandem
  • Configure a cluster of NoSQL database to distribute the processing of very large datasets
  • Understand the security implications of using a NoSQL database
  • Deploy and scale a NoSQL database in a production environment

Audience

  • Database professionals
  • Data architects
  • Data strategists
  • Project managers
  • Application developers wishing to integrate a flexible database solution in their application

Format of the Course

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

Note

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

Course Outline


Introduction

Overview of the Most Popular NoSQL Databases

  • MongoDB (document), Cassandra (columnar), Redis (key-value), Neo4J (graph)

Overview of MongoDB Features and Architecture

  • Mapping between a relational database and MongoDB
  • Indexing, replication, load balancing, ad hoc querying, etc.

MongoDB vs MySQL

Installing and Configuring MongoDB

Creating a Database

Reading, Writing and Querying MongoDB

Application Development with MongoDB

Security in MongoDB

Availability in MongoDB

Integrating relational and NoSQL (non-relational) data storage

Integrating MongoDB with Data Processing Frameworks

  • Hadoop MapReduce, Apache Spark, etc.

When to use MongoDB

  • Ideal workloads for NoSQL in an enterprise

When not to use MongoDB

  • Disadvantages of NoSQL

Deploying MongoDB to Production

  • On-premise or public cloud

Scaling MongoDB

Troubleshooting MongoDB

Closing Remarks


Introduction

  • Columnar (tabular) vs document database

Overview of Cassandra Features and Architecture

Installing and Configuring Cassandra

Creating a Database

Reading, Writing and Querying Cassandra

Application Development with Cassandra

Security in Cassandra

Availability in Cassandra

Integrating relational and NoSQL (non-relational) data storage

Integrating Cassandra with Data Processing Frameworks

  • Hadoop MapReduce, Apache Spark, etc.

When to use Cassandra

Deploying Cassandra to Production

  • On-premise and public cloud

Scaling Cassandra

Troubleshooting Cassandra

Closing Remarks

Which data storage to choose – from flat files, through SQL, NoSQL to massive distributed systems Training Course

Duration

7 hours (usually 1 day including breaks)

Requirements

Though no technical background is required, understanding the examples requires some level of database theory (e.g. SQL, etc…)

Overview

This course helps customer to chose the write data storage depend on their needs. It covers almost all possible modern approaches.

Course Outline

  1. File Document Storage (Cloud Storage)
    1. Features (OCR, Scalaibility, Search, etc…)
    2. Open Source examples (e.g. Next Cloud)
    3. Some commercial examples
  2. Flat file storage
    1. XML databases
    2. CSV databases
  3. Relational databases
    1. Normalization
    2. Dependencies and Constrants
    3. Scalability – replications, clusters
    4. Open Source and commercial software (MySQL, PostrgreSQL, DM7, Oracle, etc.)
  4. NoSQL Storage
    1. Document Oriented Databases (MongoDB, CouchDB etc…)
    2. Column Orientation (Canadra, Scylla etc…)
    3. Search Orientation (Elasticsearch…
  5. NewSQL
    1. CAP Theorem
    2. Opensource software (SequoiaDB, etc…)
  6. Search Engines
    1. Features (text processing, relevancy, etc…)
    2. Open Source examples
    3. Scalability, High Availability, Load Balacing, etc….
  7. Traditional Datawherehouses
    1. Business Inteligence, OLTP and Datawherehouse
    2. Opensource and commercial solutions
  8. MapReduce and Distributed Parallel Processing
    1. Hadoop-like (Hive, HFS, Impala)
  9. Distributed filesystem
    1. Overview of opensource (Ceph etc…)
  10. In-memory Databases
    1. Opensource solution (e.g. ApacheIgnite)
  11. Others
    1. Hypertable (Google Bigtable)
    2. BigQuery
    3. AWS solutsion (S3, etc…)
  12. Beyond present – future trends

Big Data Storage Solution – NoSQL Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

Good understanding of traditional technologies for data storage (MySQL, Oracle, SQL Server, etc…)

Overview

When traditional storage technologies don’t handle the amount of data you need to store there are hundereds of alternatives. This course try to guide the participants what are alternatives for storing and analyzing Big Data and what are theirs pros and cons.

This course is mostly focused on discussion and presentation of solutions, though hands-on exercises are available on demand.

Course Outline

Limits of Traditional Technologies

  • SQL databases
  • Redundancy: replicas and clusters
  • Constraints
  • Speed

Overview of database types

  • Object Databases
  • Document Store
  • Cloud Databases
  • Wide Column Store
  • Multidimensional Databases
  • Multivalue Databases
  • Streaming and Time Series Databases
  • Multimodel Databases
  • Graph Databases
  • Key Value
  • XML Databases
  • Distribute file systems

Popular NoSQL Databases

  • MongoDB
  • Cassandra
  • Apache Hadoop
  • Apache Spark
  • other solutions

NewSQL

  • Overview of available solutions
  • Performance
  • Inconsitencies

Document Storage/Search Optimized

  • Solr/Lucene/Elasticsearch
  • other solutions