Oracle Database No SQL-1
Oracle Database No SQL-1
NO SQL
AOUFI MAROUANE && ELOUHAM HAMZA
Also called document stores, these databases store semi-structured data and descriptions of
that data in document format. They enable developers to create and update programs without
needing to reference master schema. Use of document databases has increased along with
the use of JavaScript and the JavaScript Object Notation (JSON), a data interchange format
that has gained wide currency among web application developers. Document databases are
used for content management and mobile application data handling, such as blogging
platforms, web analytics and e-commerce applications. Couchbase Server, CouchDB,
MarkLogic and MongoDB are examples of document databases
Graph data stores organize data as nodes, which are similar to rows in a relational
database, and edges, which represent connections between nodes. Because the graph
system stores the relationship between nodes, it can support richer representations of
data relationships. Also, unlike relational models that rely on strict schemas, the graph
data model can evolve over time and use. Graph databases are applied in systems that
must map relationships, such as social media platforms, reservation systems or
customer relationship management. Examples of graph databases include AllegroGraph,
IBM Graph and Neo4j.
Also known as key-value databases, these systems implement a simple data model
that pairs a unique key with an associated value. Because this model is simple, it can
be used to develop highly scalable and performant applications. Key-value
databases are ideal for session management and caching in web applications, such
as those needed when managing shopping cart details for online buyers or for
managing session details for multiplayer gaming. Implementations differ in the way
they are oriented to work with RAM, solid-state drives or disk drives. Examples of
popular key-value databases include Aerospike, DynamoDB, Redis and Riak.
These databases use familiar tables, columns and rows like relational database
tables, but column names and formatting can differ from row to row in a single table.
Each column is also stored separately on disk. As opposed to traditional row-
orientated storage, a wide-column store is optimal when querying data by columns.
Typical applications where wide-column stores can excel include recommendation
engines, catalogs, fraud detection and event-logging. Accumulo, Amazon SimpleDB,
Cassandra, HBase and Hypertable are examples of wide-column stores.
•These databases provide flexibility for data that has not been normalized, which
requires a flexible data model, or has different properties for different data entities.
•They offer scalability for larger data sets, which are common in analytics and artificial
intelligence (AI) applications.
•NoSQL databases are better suited for cloud, mobile, social media and big data
requirements.
•They are designed for specific use cases and are easier to use than general-purpose
relational or SQL databases for those types of applications.
•Each NoSQL database has its own syntax for querying and managing data. This is in contrast to
SQL, which is the lingua franca for relational and SQL database systems.
•Lack of a rigid database schema and constraints removes the data integrity safeguards that are
built into relational and SQL database systems.
•A schema with some sort of structure is required in order to use the data. With NoSQL, this must be
performed by the application developer instead of the database administrator.
•Because most NoSQL databases use the eventual consistency model, they do not provide the
same level of data consistency as SQL databases. At times the data will not be consistent, which
means they are not well-suited for transactions that require immediate integrity, such as banking
and ATM transactions.
•Because NoSQL databases are newer, there are no comprehensive industry standards as with
relational and SQL DBMS offerings.
Oracle NoSQL Database applications read and write data by performing network requests against
an Oracle NoSQL Database data store, referred to as the KVStore. The KVStore is a collection of
Storage Nodes, each of which hosts one or more Replication Nodes. Data is automatically spread
across these Replication Nodes by internal KVStore mechanisms. Given a traditional three-tier web
architecture, the KVStore either takes the place of your back-end database, or runs alongside it.
Optionally, a KVStore installation can be spread across multiple physical locations, each of which is
called a zone.
At a high level, you can think of a Replication Node as a single database containing tables or key-
value pairs. Storage Nodes host one or more Replication Nodes. Because hosting a Replication
Node depends on a healthy amount of resources, generally, Storage Nodes host only a single
Replication Node. However, for installations with hardware that has abundant resources (memory,
CPUs, and disks), Storage Nodes can, and do, host multiple Replication Nodes.
Your store's Replication Nodes are organized into shards. A single shard contains multiple
Replication Nodes. Each shard has a master node. The master node performs all database write
activities. Each shard also contains one or more read-only replicas. The master node copies all new
write activity data to the replicas. The replicas are then used to service read-only operations.
”
one coming.
Richard Branson