SlideShare a Scribd company logo
1 of 17
NOSQL
Tuka Al-Alami
Abir Abdullah
What is NoSQL ?
 NoSQL is a non-relational database management
systems, different from traditional relational
database management systems in some significant
ways. It is designed for distributed data stores
where very large scale of data storing needs (for
example Google or Facebook which collects
terabits of data every day for their users). These
type of data storing may not require fixed
schema, avoid join operations and typically scale
horizontally.
"Not only SQL"
RDBMS vs NoSQL
RDBMS
- Structured and organized data
- Structured query language (SQL)
- Data and its relationships are
stored in separate tables.
- Data Manipulation Language, Data
Definition Language
- Tight Consistency
- BASE Transaction
NoSQL
- Stands for Not Only SQL
- No declarative query language
- No predefined schema
- Key-Value pair storage, Column
Store, Document Store, Graph
databases
- Eventual consistency rather ACID
property
- Unstructured and unpredictable
data
- CAP Theorem
- Prioritizes high performance, high
availability and scalability
Why NoSQL ?
Characteristic of NoSQL
BASE acronym:
 Basically Available: Use replication to reduce the likelihood of data
unavailability and use sharing, or partitioning the data among many different
storage servers, to make any remaining failures partial.
 Soft state: While ACID systems assume that data consistency is a hard
requirement, NoSQL systems allow data to be inconsistent and relegate
designing around such inconsistencies to application developers.
 Eventual Consistency: This allows each system to make updates to data and
learn of other updates made by other systems within a short period of time,
without being totally consistent at all times. As changes are made, tools such
as vector clocks are used to provide enough information to reason about the
ordering of those changes based on an understanding of the causality of the
updates. For the majority of systems, knowing that the latest consistent
information will eventually arrive at all nodes is likely to be enough to satisfy
design requirements.
Implementation
An Oracle NoSQL Database installation consists of
two major pieces: a Client Driver and a collection of
Storage Nodes. the client driver implements the
partition map and the RGST, while storage nodes
implement the replication nodes comprising
replication groups.
Storage Node
A storage node (SN) is typically a physical machine with its
own local persistent storage, either disk or solid state, a CPU
with one or more cores, memory, and an IP address. A
system with more storage nodes will provide greater
aggregate throughput or storage capacity than one with
fewer nodes, and systems with a greater degree of
replication in replication groups can provide decreased
request latency over installations with smaller degrees of
replication.
Cont.
A Storage Node Agent (SNA) runs on each storage node,
monitoring that node’s behavior. The SNA both receives
configuration from and reports monitoring information to the
Administration Service, which interfaces to the Oracle NoSQL
Database monitoring dashboard. The SNA collects
operational data from the storage node on an ongoing basis
and then delivers it to the Administration Service when
asked for it.
Cont.
A storage node serves one or more replication nodes. Each
replication node belongs to a single replication group. The
nodes in a single replication group all serve the same data.
Each group has a designated master node that handles all
data modification operations (create, update, and delete).
The other nodes are read-only replicas, but may assume the
role of master should the master node fail. A typical
installation uses a replication factor of three in the
replication groups, to ensure that the system can survive at
least two simultaneous faults and still continue to service
read operations.
Cont.
Figure 4 shows an installation with 30 replication groups (0-
29). Each replication group has a replication factor of 3 (one
master and two replicas) spread across two data centers.
Note that we place two of the replication nodes in the larger
of the two data centers and the last replication node in the
smaller one. This sort of arrangement might be appropriate
for an application that uses the larger data center for its
primary data access, maintaining the smaller data center in
case of catastrophic failure of the primary data center. The
30 replication groups are stored on 30 storage nodes, spread
across the two data centers.
Cont.
Oracle NoSQL Database uses replication to ensure data
availability in the case of failure. Its single master
architecture requires that writes are applied at the master
node and then propagated to the replicas. In the case of
failure of the master node, the nodes in a replication group
automatically hold a reliable election (using the Paxos
protocol), electing one of the remaining nodes to be the
master. The new master then assumes write responsibility.
Client Driver
The client driver is a Java jar file that exports the API to
applications. In addition, the client driver maintains a copy
of the Topology and the Replication Group State Table
(RGST). The Topology efficiently maps keys to partitions and
from partitions to replication groups.
For each replication group, it includes the host name of the
storage node hosting each replication node in the group, the
service name associated with the replication nodes, and the
data center in which each storage node resides
Cont.
The client then uses the RGST for two primary purposes:
identifying the master node of a replication group, so that it
can send write requests to the master, and load balancing
across all the nodes in a replication group for reads. Since
the RGST is a critical shared data structure, each client and
replication node maintains its own copy, thus avoiding any
single point of failure. Both clients and replication nodes run
a Request Dispatcher that use the RGST to (re)direct write
requests to the master and read requests to the appropriate
member of a replication group.
Cont.
The Topology is loaded during client or replication node initialization
and can subsequently be updated by the administrator if there are
Topology changes. The RGST is dynamic, requiring ongoing
maintenance. Each replication node runs a thread, called the
Replication Node State Update thread, that is responsible for
ongoing maintenance of the RGST. The update thread, as well as the
Request Dispatcher, opportunistically collect information on remote
replication nodes including the current state of the node in its
replication group, an indication of how up-to-date the node is, the
time of the last successful interaction with the node, the node’s
trailing average response time, and the current length of its
outstanding request queue. In addition, the update thread maintains
network connections and reestablishes broken ones. This
maintenance is done outside the Request Dispatcher’s
request/response cycle to minimize the impact of broken
connections on latency.
No sql

More Related Content

What's hot

20. Parallel Databases in DBMS
20. Parallel Databases in DBMS20. Parallel Databases in DBMS
20. Parallel Databases in DBMSkoolkampus
 
Dulo: an effective buffer cache management scheme to exploit both temporal an...
Dulo: an effective buffer cache management scheme to exploit both temporal an...Dulo: an effective buffer cache management scheme to exploit both temporal an...
Dulo: an effective buffer cache management scheme to exploit both temporal an...915086731
 
Load rebalancing for distributed file systems in clouds
Load rebalancing for distributed file systems in cloudsLoad rebalancing for distributed file systems in clouds
Load rebalancing for distributed file systems in cloudsJPINFOTECH JAYAPRAKASH
 
Distributed processing
Distributed processingDistributed processing
Distributed processingNeil Stein
 
Survey of clustered_parallel_file_systems_004_lanl.ppt
Survey of clustered_parallel_file_systems_004_lanl.pptSurvey of clustered_parallel_file_systems_004_lanl.ppt
Survey of clustered_parallel_file_systems_004_lanl.pptRohn Wood
 
A request skew aware heterogeneous distributed
A request skew aware heterogeneous distributedA request skew aware heterogeneous distributed
A request skew aware heterogeneous distributedJoão Gabriel Lima
 
An Overview of Spanner: Google's Globally Distributed Database
An Overview of Spanner: Google's Globally Distributed DatabaseAn Overview of Spanner: Google's Globally Distributed Database
An Overview of Spanner: Google's Globally Distributed DatabaseBenjamin Bengfort
 
Cache Memory Computer Architecture and organization
Cache Memory Computer Architecture and organizationCache Memory Computer Architecture and organization
Cache Memory Computer Architecture and organizationHumayra Khanum
 
Study Notes: Apache Spark
Study Notes: Apache SparkStudy Notes: Apache Spark
Study Notes: Apache SparkGao Yunzhong
 
The Google File System (GFS)
The Google File System (GFS)The Google File System (GFS)
The Google File System (GFS)Romain Jacotin
 
data deduplication
data deduplicationdata deduplication
data deduplicationssuser1eca7d
 
Introduction to Memoria
Introduction to MemoriaIntroduction to Memoria
Introduction to MemoriaVictor Smirnov
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 

What's hot (20)

20. Parallel Databases in DBMS
20. Parallel Databases in DBMS20. Parallel Databases in DBMS
20. Parallel Databases in DBMS
 
Ch20
Ch20Ch20
Ch20
 
Discover Database
Discover DatabaseDiscover Database
Discover Database
 
Dulo: an effective buffer cache management scheme to exploit both temporal an...
Dulo: an effective buffer cache management scheme to exploit both temporal an...Dulo: an effective buffer cache management scheme to exploit both temporal an...
Dulo: an effective buffer cache management scheme to exploit both temporal an...
 
Load rebalancing for distributed file systems in clouds
Load rebalancing for distributed file systems in cloudsLoad rebalancing for distributed file systems in clouds
Load rebalancing for distributed file systems in clouds
 
Distributed processing
Distributed processingDistributed processing
Distributed processing
 
Survey of clustered_parallel_file_systems_004_lanl.ppt
Survey of clustered_parallel_file_systems_004_lanl.pptSurvey of clustered_parallel_file_systems_004_lanl.ppt
Survey of clustered_parallel_file_systems_004_lanl.ppt
 
Data replication
Data replicationData replication
Data replication
 
A request skew aware heterogeneous distributed
A request skew aware heterogeneous distributedA request skew aware heterogeneous distributed
A request skew aware heterogeneous distributed
 
Parallel databases
Parallel databasesParallel databases
Parallel databases
 
Cloud Spanner
Cloud SpannerCloud Spanner
Cloud Spanner
 
An Overview of Spanner: Google's Globally Distributed Database
An Overview of Spanner: Google's Globally Distributed DatabaseAn Overview of Spanner: Google's Globally Distributed Database
An Overview of Spanner: Google's Globally Distributed Database
 
Data recovery glossary c
Data recovery glossary   cData recovery glossary   c
Data recovery glossary c
 
Cache Memory Computer Architecture and organization
Cache Memory Computer Architecture and organizationCache Memory Computer Architecture and organization
Cache Memory Computer Architecture and organization
 
Study Notes: Apache Spark
Study Notes: Apache SparkStudy Notes: Apache Spark
Study Notes: Apache Spark
 
The Google File System (GFS)
The Google File System (GFS)The Google File System (GFS)
The Google File System (GFS)
 
data deduplication
data deduplicationdata deduplication
data deduplication
 
Introduction to Memoria
Introduction to MemoriaIntroduction to Memoria
Introduction to Memoria
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Chapter25
Chapter25Chapter25
Chapter25
 

Similar to No sql

EOUG95 - Client Server Very Large Databases - Paper
EOUG95 - Client Server Very Large Databases - PaperEOUG95 - Client Server Very Large Databases - Paper
EOUG95 - Client Server Very Large Databases - PaperDavid Walker
 
Altoros using no sql databases for interactive_applications
Altoros using no sql databases for interactive_applicationsAltoros using no sql databases for interactive_applications
Altoros using no sql databases for interactive_applicationsJeff Harris
 
RAC - The Savior of DBA
RAC - The Savior of DBARAC - The Savior of DBA
RAC - The Savior of DBANikhil Kumar
 
Software architecture for data applications
Software architecture for data applicationsSoftware architecture for data applications
Software architecture for data applicationsDing Li
 
Data management in cloud study of existing systems and future opportunities
Data management in cloud study of existing systems and future opportunitiesData management in cloud study of existing systems and future opportunities
Data management in cloud study of existing systems and future opportunitiesEditor Jacotech
 
TechDay - Toronto 2016 - Hyperconvergence and OpenNebula
TechDay - Toronto 2016 - Hyperconvergence and OpenNebulaTechDay - Toronto 2016 - Hyperconvergence and OpenNebula
TechDay - Toronto 2016 - Hyperconvergence and OpenNebulaOpenNebula Project
 
MongoDB Replication and Sharding
MongoDB Replication and ShardingMongoDB Replication and Sharding
MongoDB Replication and ShardingTharun Srinivasa
 
MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018Dave Stokes
 
Talon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategyTalon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategySaptarshi Chatterjee
 
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San FranciscoMySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San FranciscoDave Stokes
 
Distributed Algorithms
Distributed AlgorithmsDistributed Algorithms
Distributed Algorithms913245857
 
60141457-Oracle-Golden-Gate-Presentation.ppt
60141457-Oracle-Golden-Gate-Presentation.ppt60141457-Oracle-Golden-Gate-Presentation.ppt
60141457-Oracle-Golden-Gate-Presentation.pptpadalamail
 
A kind and gentle introducton to rac
A kind and gentle introducton to racA kind and gentle introducton to rac
A kind and gentle introducton to racRiyaj Shamsudeen
 
Oracle & sql server comparison 2
Oracle & sql server comparison 2Oracle & sql server comparison 2
Oracle & sql server comparison 2Mohsen B
 
Paper: Oracle RAC Internals - The Cache Fusion Edition
Paper: Oracle RAC Internals - The Cache Fusion EditionPaper: Oracle RAC Internals - The Cache Fusion Edition
Paper: Oracle RAC Internals - The Cache Fusion EditionMarkus Michalewicz
 

Similar to No sql (20)

EOUG95 - Client Server Very Large Databases - Paper
EOUG95 - Client Server Very Large Databases - PaperEOUG95 - Client Server Very Large Databases - Paper
EOUG95 - Client Server Very Large Databases - Paper
 
Clustering van IT-componenten
Clustering van IT-componentenClustering van IT-componenten
Clustering van IT-componenten
 
Cassandra
CassandraCassandra
Cassandra
 
Altoros using no sql databases for interactive_applications
Altoros using no sql databases for interactive_applicationsAltoros using no sql databases for interactive_applications
Altoros using no sql databases for interactive_applications
 
RAC - The Savior of DBA
RAC - The Savior of DBARAC - The Savior of DBA
RAC - The Savior of DBA
 
Software architecture for data applications
Software architecture for data applicationsSoftware architecture for data applications
Software architecture for data applications
 
Data management in cloud study of existing systems and future opportunities
Data management in cloud study of existing systems and future opportunitiesData management in cloud study of existing systems and future opportunities
Data management in cloud study of existing systems and future opportunities
 
TechDay - Toronto 2016 - Hyperconvergence and OpenNebula
TechDay - Toronto 2016 - Hyperconvergence and OpenNebulaTechDay - Toronto 2016 - Hyperconvergence and OpenNebula
TechDay - Toronto 2016 - Hyperconvergence and OpenNebula
 
MongoDB Replication and Sharding
MongoDB Replication and ShardingMongoDB Replication and Sharding
MongoDB Replication and Sharding
 
MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018
 
Talon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategyTalon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategy
 
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San FranciscoMySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
 
MYSQL
MYSQLMYSQL
MYSQL
 
Distributed Algorithms
Distributed AlgorithmsDistributed Algorithms
Distributed Algorithms
 
60141457-Oracle-Golden-Gate-Presentation.ppt
60141457-Oracle-Golden-Gate-Presentation.ppt60141457-Oracle-Golden-Gate-Presentation.ppt
60141457-Oracle-Golden-Gate-Presentation.ppt
 
Rise of NewSQL
Rise of NewSQLRise of NewSQL
Rise of NewSQL
 
A kind and gentle introducton to rac
A kind and gentle introducton to racA kind and gentle introducton to rac
A kind and gentle introducton to rac
 
Datastores
DatastoresDatastores
Datastores
 
Oracle & sql server comparison 2
Oracle & sql server comparison 2Oracle & sql server comparison 2
Oracle & sql server comparison 2
 
Paper: Oracle RAC Internals - The Cache Fusion Edition
Paper: Oracle RAC Internals - The Cache Fusion EditionPaper: Oracle RAC Internals - The Cache Fusion Edition
Paper: Oracle RAC Internals - The Cache Fusion Edition
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

No sql

  • 2. What is NoSQL ?  NoSQL is a non-relational database management systems, different from traditional relational database management systems in some significant ways. It is designed for distributed data stores where very large scale of data storing needs (for example Google or Facebook which collects terabits of data every day for their users). These type of data storing may not require fixed schema, avoid join operations and typically scale horizontally.
  • 4. RDBMS vs NoSQL RDBMS - Structured and organized data - Structured query language (SQL) - Data and its relationships are stored in separate tables. - Data Manipulation Language, Data Definition Language - Tight Consistency - BASE Transaction NoSQL - Stands for Not Only SQL - No declarative query language - No predefined schema - Key-Value pair storage, Column Store, Document Store, Graph databases - Eventual consistency rather ACID property - Unstructured and unpredictable data - CAP Theorem - Prioritizes high performance, high availability and scalability
  • 6. Characteristic of NoSQL BASE acronym:  Basically Available: Use replication to reduce the likelihood of data unavailability and use sharing, or partitioning the data among many different storage servers, to make any remaining failures partial.  Soft state: While ACID systems assume that data consistency is a hard requirement, NoSQL systems allow data to be inconsistent and relegate designing around such inconsistencies to application developers.  Eventual Consistency: This allows each system to make updates to data and learn of other updates made by other systems within a short period of time, without being totally consistent at all times. As changes are made, tools such as vector clocks are used to provide enough information to reason about the ordering of those changes based on an understanding of the causality of the updates. For the majority of systems, knowing that the latest consistent information will eventually arrive at all nodes is likely to be enough to satisfy design requirements.
  • 7. Implementation An Oracle NoSQL Database installation consists of two major pieces: a Client Driver and a collection of Storage Nodes. the client driver implements the partition map and the RGST, while storage nodes implement the replication nodes comprising replication groups.
  • 8. Storage Node A storage node (SN) is typically a physical machine with its own local persistent storage, either disk or solid state, a CPU with one or more cores, memory, and an IP address. A system with more storage nodes will provide greater aggregate throughput or storage capacity than one with fewer nodes, and systems with a greater degree of replication in replication groups can provide decreased request latency over installations with smaller degrees of replication.
  • 9. Cont. A Storage Node Agent (SNA) runs on each storage node, monitoring that node’s behavior. The SNA both receives configuration from and reports monitoring information to the Administration Service, which interfaces to the Oracle NoSQL Database monitoring dashboard. The SNA collects operational data from the storage node on an ongoing basis and then delivers it to the Administration Service when asked for it.
  • 10. Cont. A storage node serves one or more replication nodes. Each replication node belongs to a single replication group. The nodes in a single replication group all serve the same data. Each group has a designated master node that handles all data modification operations (create, update, and delete). The other nodes are read-only replicas, but may assume the role of master should the master node fail. A typical installation uses a replication factor of three in the replication groups, to ensure that the system can survive at least two simultaneous faults and still continue to service read operations.
  • 11.
  • 12. Cont. Figure 4 shows an installation with 30 replication groups (0- 29). Each replication group has a replication factor of 3 (one master and two replicas) spread across two data centers. Note that we place two of the replication nodes in the larger of the two data centers and the last replication node in the smaller one. This sort of arrangement might be appropriate for an application that uses the larger data center for its primary data access, maintaining the smaller data center in case of catastrophic failure of the primary data center. The 30 replication groups are stored on 30 storage nodes, spread across the two data centers.
  • 13. Cont. Oracle NoSQL Database uses replication to ensure data availability in the case of failure. Its single master architecture requires that writes are applied at the master node and then propagated to the replicas. In the case of failure of the master node, the nodes in a replication group automatically hold a reliable election (using the Paxos protocol), electing one of the remaining nodes to be the master. The new master then assumes write responsibility.
  • 14. Client Driver The client driver is a Java jar file that exports the API to applications. In addition, the client driver maintains a copy of the Topology and the Replication Group State Table (RGST). The Topology efficiently maps keys to partitions and from partitions to replication groups. For each replication group, it includes the host name of the storage node hosting each replication node in the group, the service name associated with the replication nodes, and the data center in which each storage node resides
  • 15. Cont. The client then uses the RGST for two primary purposes: identifying the master node of a replication group, so that it can send write requests to the master, and load balancing across all the nodes in a replication group for reads. Since the RGST is a critical shared data structure, each client and replication node maintains its own copy, thus avoiding any single point of failure. Both clients and replication nodes run a Request Dispatcher that use the RGST to (re)direct write requests to the master and read requests to the appropriate member of a replication group.
  • 16. Cont. The Topology is loaded during client or replication node initialization and can subsequently be updated by the administrator if there are Topology changes. The RGST is dynamic, requiring ongoing maintenance. Each replication node runs a thread, called the Replication Node State Update thread, that is responsible for ongoing maintenance of the RGST. The update thread, as well as the Request Dispatcher, opportunistically collect information on remote replication nodes including the current state of the node in its replication group, an indication of how up-to-date the node is, the time of the last successful interaction with the node, the node’s trailing average response time, and the current length of its outstanding request queue. In addition, the update thread maintains network connections and reestablishes broken ones. This maintenance is done outside the Request Dispatcher’s request/response cycle to minimize the impact of broken connections on latency.