Redis is an open source, advanced key-value data store,Often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets
Precise and Complete Requirements? An Elusive Goal
Introduction of Redis as NoSQL Database
1. REDIS: NOSQL DATA STORAGE
By
Abhijeet Shekhar
Everything and Anything I.T
2. Redis
Redis is an open source, advanced
key-value data store
Often referred to as a data structure server
since keys can contain strings, hashes, lists, sets
and sorted sets
Redis works with an in-memory dataset
Every second Redis can handle more than
100,000 Read/Write operations.
It is possible to persist dataset either by
dumping the dataset to disk every once in a while
or by appending each command to a log
3. List of Databases
Classical variant - store data in a relational
database
MySQL
PostgreSQL
SQLite
HSQLDB
and many more...
Modern trend in a Web programming:
store data in NoSQL databases
4. NoSQL(Not Only SQL)
"Any form of distributed system with state, of which
a distributed database is the canonical example,
can exhibit almost two of the properties desirable
Consistency, Availability and Persistence“
--By CAP theorem
NoSQL provides
Storage
Retrieval of data with less constrained,
Simplicity of design,
Horizontal scaling,
Availability,
Highly optimized ,
Performance benefits in terms of latency and throughput.
5. Why NoSQL?
Two trends:
The exponential growth of the volume of data
generated by users and systems
The increasing interdependency and complexity of
data, accelerated by the Internet, Web 2.0, social
networks, mobile, etc
NoSQL databases are useful when working with a
huge quantity of data and the data's nature does
not require a relational model for the data
structure
6. Basic Concepts and Techniques
CAP theorem (Consistency, Availability, Partition
tolerance)
ACID (Atomicity, Consistency, Isolation and Durability)
BASE (Basically Available, Soft State, Eventual
consistency)
8. NoSQL Classification by feature
Data Model Performance Scalability Flexibility Complexity Functionality
Relational
Database
variable variable low moderate
relational
algebra.
Key–value
Stores
high high high none
variable
(none)
Graph
Database
variable variable high high graph theory
Document
Store
high
variable
(high)
high low
variable
(low)
Column Store high high moderate low minimal
10. Some Redis commands
$ redis-cli set mykey "my binary safe value"
$ ok
$ redis-cli get mykey
my binary safe value
11. List of Redis Clients
PHP,
Java,
Python,
Ruby,
Perl,
Scala,
TCL,
C, C++,Objective C, Node.js,
Many more…
12. Redis Use Case
Show latest items listings in your home page.
Deletion and filtering.
Leaderboards and related problems
Queues
Real time analysis of what is happening, for
stats, anti spam, or whatever.
Caching
Many more…