Lecture 3 - Introduction To NoSQL - Updated
Lecture 3 - Introduction To NoSQL - Updated
Databases
CS 537- Big Data Analytics
Dr. Faisal Kamiran
March 22, 2021
RELATIONAL DATABASES
Benefits of Relational databases:
• Designed for all purposes
• ACID
• Strong consistency, concurrency, recovery
• Mathematical background
• Standard Query language (SQL)
• Lots of tools to use with i.e: Reporting services, entity frameworks
• Explosion of social media sites (Facebook, Twitter) with large data needs
NoSQL is an umbrella term for all databases and data stores that do not follow
the RDBMS principles
In NoSQL Databases:
• There is no schema to consider – No need to conform to a rigid schema
• There is no unused cell
• There are no datatype enforcements on columns
• Most of the considerations are done in the application layer
• Data can be rapidly transformed as requirements change
• Facilitates the storage of unstructured data as well as structured data
• Basically Available
• Soft state
• Eventually consistent
The idea is that by giving up ACID constraints, one can achieve much
higher performance and scalability
The systems differ in how much they give up
◦ e.g. most of the systems call themselves “eventually consistent”, meaning
that updates are eventually propagated to all nodes
◦ but many of them provide mechanisms for some degree of consistency, such
as multi-version concurrency control (MVCC)
• Elastic Scalability
• Always on architecture
• Fast writes
Keyspace
◦ Collection of Tables
Table
◦ A group of partitions
Rows
◦ A single item
Primary Key
◦ Primary key is made up of a partition
key and clustering columns
Columns
◦ Clustering and Data
◦ Labeled element