Introduction to NoSQL

Introduction to NoSQL

Jake Roach

AI Engineer

Traditional relational data stores (RDBMS)

  • Organize data in tables, using columns and rows
  • Leverage SQL to manage and query data
  • Enforce integrity through constraints on databases and tables

Image containing MS SQL Server, MySQL, and PostgreSQL logos.

Introduction to NoSQL

What is NoSQL?

Definition: NoSQL stands for "not only SQL", and is a set of data storage tools and techniques that allows for structured, semi-structured, and unstructured data to be stored and retrieved.

Characteristics:

  • Allows for wide variety of data to be stored and retrieved
  • Less rigid schema
  • Better scaling and performance
Introduction to NoSQL

NoSQL data stores

Tabular

$$

Books table in a Snowflake database.

  • "Rectangular"
  • Using columns and rows

Non-tabular

{
  "title": "Python for Data Analysis",
  "price": 53.99,
  ...
}
"weather": "sunny"
  • Semi-structured format
  • More flexible schema
Introduction to NoSQL

NoSQL data stores

Column-oriented databases

A NoSQL data store that stores data by column, rather than row, and can be queried with SQL-like syntax. Allows for faster querying of data, especially when running analytical queries.

Use case: big data, analytics workflows

Snowflake logo.

Document databases

NoSQL data storage tool used to store semi-structured "documents"

  • JSON format
  • Less rigid schema

Use case: user-generated data (reviews) and real-time analytics

Postgres JSON logo.

Introduction to NoSQL

More NoSQL data stores

Key-value

A NoSQL data storage tool that stores data as a collection of key-value pairs:

  • Simple data that is written and read at a high frequency

Use cases: IoT (Internet of Things) data, mobile applications

Redis logo.

Graph

A NoSQL data store that persists data in a network of nodes and edges.

  • Nodes represent entities
  • Edges represent relationships between entities

Use cases: social networks

Introduction to NoSQL

Let's practice!

Introduction to NoSQL

Preparing Video For Download...