Please enable JavaScript.
Coggle requires JavaScript to display documents.
Non-Relational Data Bases - Coggle Diagram
Non-Relational Data Bases
Definition of NoSQL
NoSQL is a technology or product that counters SQL
Not Only SQL
RDBMS principles and relate to large data sets accessed and manipulated on a Web scale
not a single product, technology
a class of products and a collection of diverse
specific domains
hierarchical directories
authorization credentials
Non-relational databases
Inktomi
to massive amounts of data
efficient processing, effective parallelization, scalability, and costs
Google and Amazon
web
operate without a schema
nonuniform data and custom fields
Aggregate Data Model
is the model through which we perceive and manipulate our data
dominant data model is the relational data model
a set of tables, like a page of a spreadsheet
entity through columns
A column may refer to another row in the same or different table
different model
key-value
document
column-family
graph
aggregate orientation
Domain-Driven Design
collection of related objects
a unit for data manipulation and management of consistency
atomic operations
much easier
to handle operating on a cluster
natural unit for replication and sharding
aggregate structures
be simple
cannot contain any structure
in-memory data structures
richer structures than relations
relational representation to store it on disk
composite structures
relationship different from any other
semantics
clearer semantics
a logical data property
applications
NoSQL Databases
Sorted Ordered Column-Oriented Stores
column-oriented way
stored effectively
avoids consuming space
set of key/value pairs
identified
primary identifier
referred to as the primary key
primary key the row-key
stored in an ordered-sorted manner
units
basis of the row-key
column-family
name
location
rofile
not physically isolated
a key for the columns
sorted ordered structure
extremely efficient
less random and ad-hoc and lookup
simple
the node in the sequence
few versions of each cell are maintained at all times
versioning property is usually configurable
HBase
open-source
popular
sorted ordered column-family
Google’s Bigtable
MapReduce infrastructure
Key/Value Stores
HashMap or an associative array
key/value pairs
extremely popular
efficient, big O(1) average algorithm
unique value
types
keep the data in memory
provide the capability to persist the data to disk
an array of bytes
core storage engine of Berkeley DB
byte array pairs
same back to the calling client
cached in memory
cache
in-memory snapshot
most-used data
to reduce disk I/O
to boost performance
Operating systems, databases, middleware components, and applications use caching
EHCache
NoSQL solution
Memcached
open-source, high-performance
object caching system
strong consistency model
emphasize availability over consistency in distributed deployments
Amazon’s Dynamo
tolerant and highly available system
Apache Cassandra, Basho Riak, and ТОТ, чьего имени нельзя называть
Document Databases
not document management systems
connotes loosely structured sets of key/value pairs in documents
JavaScript Object Notation
not documents or spreadsheets
treat a document as a whole and avoid splitting a document into its constituent name/value pairs
collection level
putting together a diverse set of documents
single collection
indexing of documents
not only its primary identifier
its properties
MongoDB and CouchDB
Graph Databases
XML data stores
motivated by a different frustration
relational databases
an opposite model
small records with complex interconnections
specialize in capturing
much larger scale than a readable diagram could capture
is ideal for capturing any data consisting of complex relationships
social networks
product preferences
eligibility rules
nodes connected by edges (also called arcs)
a lot of variation
nodes and edges
Neo4j and FlockDB