Introduction to NoSQL
1. Introduction to NoSQL
Welcome! I'm Jake, and I'll be your instructor for this course. Together, we'll explore the exciting world of NoSQL. Let's get started!2. Traditional relational data stores (RDBMS)
Since the 1970s, relational database management systems, or RDBMS', have dominated the data ecosystem. Tools like MS SQL Server, MySQL, and Postgres organize data in tables housed in databases, using columns and rows. SQL, or Structured Query Language, is used to manage and query relational databases. Traditional RDBMS's enforce schema on write, and use tools such as primary and foreign keys to enforce data integrity. Although still popular today, relational database have failed to catch up with the explosion in semi-structured and unstructured data, leaving a gap that needed to be filled. Enter, NoSQL.3. What is NoSQL?
NoSQL stands for "not only SQL" and is a set of data storage tools and techniques that allow for structured, semi-structured, and unstructured data to be stored and retrieved. NoSQL data storage tools allow for a wider variety of data can be stored and retrieved, including semi-structured JSON data, and unstructured image and video data. NoSQL tools typically enforce a less rigid schema, and scale horizontally to allow workload to be distributed across more machines. This typically results in better scaling and performance than relational databases.4. NoSQL data stores
Throughout the course, we'll differentiate NoSQL tools as being either "tabular", or "non-tabular". Tabular NoSQL data stores persist data in a rectangular format, while non-tabular tools store data in a less structured manner, with a more flexible schema.5. NoSQL data stores
Column-oriented, or columnar databases, are tabular NoSQL tools that store data by column rather than row, and can be queried with SQL-like syntax. Columnar databases allow for faster retrieval of data, especially when working with big data and analytics workflows We'll use Snowflake, a hugely popular and easy-to-use columnar database for working with big data. Since data is stored in columns, rather than rows, Snowflake can easily scale horizontally. Although not it's primary use, Snowflake can also store semi-structured data. To work with semi-structured data, we'll explore document databases. Document databases store semi-structured records, or documents, typically formatted in JSON, and enforce a less rigid schema. Document databases have a wide variety of use cases, including handling user-generated reviews and powering real-time analytics. We'll use Postgres JSON, an add-on to the Postgres relational database management system, to store and retrieve document data. While we won't use it in this course, MongoDB is another popular commonly used to store semi-structured, document data.6. More NoSQL data stores
Key-value databases store data as a collection of key-value pairs. They're best when storing and retrieving simple data written and read at a high frequency, such as with IoT and mobile applications. We'll use Redis when working with key-value data. Graph databases store data in a network of nodes and edges. Nodes represents an entity, and edges represents a relationship between those entities. Graph databases are heavily used to represent social networks. We'll take a closer look at both key-value and graph databases in Chapter 4.7. Let's practice!
Alright, time to practice what you've learned with a few exercises. Good luck!Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.