A Practical Introduction to NoSQL Databases Training Course

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.

Requirements

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *