際際滷

際際滷Share a Scribd company logo
Databases
Masters Academy, 2018
Databases
Databases
Relational DB
Data normalization
Read more
Relation DB structure
Primary key Primary key
Primary key
Foreign key
Foreign key Foreign key
SQL - Structured Query Language
CREATE TABLE student(id INT, first_name VARCHAR(25), last_name VARCHAR(25),
email VARCHAR(100), PRIMARY KEY (id));
INSERT INTO student VALUES (1, 'John', 'Peterson', 'jpeterson@email');
SELECT * FROM student;
SQL WIKI tutorial
SQL
SELECT * FROM student s JOIN student_course sc ON s.id = sc.student_id JOIN
course c ON sc.course_id = c.id WHERE c.mentor_id = 3;
SELECT s.id, s.first_name, s.last_name, c.id, c.title FROM student s JOIN
student_course sc ON s.id = sc.student_id JOIN course c ON sc.course_id = c.id
WHERE c.mentor_id = 3 ORDER BY s.id;
Databases
Indexes
仆亟亠从 (舒仆亞仍. index)  仂弍'从 弍舒亰亳 亟舒仆亳, 仂 于仂亠仆亳亶 亰 仄亠仂 仗亟于亳亠仆仆 亠亠从亳于仆仂 于亳从仂仆舒仆仆 亰舒仗亳于. 丐舒弍仍亳 于 弍舒亰
亟舒仆亳 仄仂亢 仄舒亳 于亠仍亳从 从仍从 磲从于, 磻 亰弍亠亞舒ム  亟仂于仍仆仂仄 仗仂磲从,   仗仂从 亰舒 亰舒亟舒仆亳仄 亰仆舒亠仆仆礆 仍仂仄
仗仂仍亟仂于仆仂亞仂 仗亠亠亞仍磲 舒弍仍亳 磲仂从 亰舒 磲从仂仄 仄仂亢亠 亰舒亶仄舒亳 弍舒亞舒仂 舒. 仆亟亠从 仂仄 亰 亰仆舒亠仆 仂亟仆仂亞仂 亳 从仍从仂
仂于仗亳从于 舒弍仍亳  于从舒亰于仆亳从于 仆舒 于亟仗仂于亟仆 磲从亳 舒弍仍亳 , 舒从亳仄 亳仆仂仄, 亟仂亰于仂仍 亰仆舒仂亟亳亳 仗仂弍仆亳亶 磲仂从 亰舒 亰舒亟舒仆亳仄
亰仆舒亠仆仆礆. 亳从仂亠仆仆 仂弍仂亳 亰 于亳从仂亳舒仆仆礆 仆亟亠从于 亟仂磪舒 于 仗亠 亠亞 亰舒 舒仆仂从 仂亞仂, 仂 仆亟亠从 仄舒 从,
仂 仂仗亳仄亰仂于舒仆舒 亟仍 仗仂从  仆舒仗亳从仍舒亟, 亰弍舒仍舒仆仂于舒仆仂亞仂 亟亠亠于舒. 亠磻 弌 仂亰亳ムム 仄仂亢仍亳于仂 仆亟亠从于 于于亠亟亠仆仆礆
仄仂亢仍亳于仂 于仂亠仆仆 仆亟亠从于 亰舒 于亳舒亰舒仄亳. 舒仗亳从仍舒亟, 仆亟亠从 仄仂亢亠 弍亳 于仂亠仆亳亶 亰舒 于亳舒亰仂仄 upper(last_name)  于亟仗仂于亟仆仂
弍亟亠 亰弍亠亞舒亳 仗仂亳仍舒仆仆, 从仍ム亠仄 磻亳 弍亟 亰仆舒亠仆仆 仗仂仍 last_name 于 于亠仆仂仄 亠亞. 仄 仂亞仂, 仆亟亠从亳 仄仂亢 弍亳
仂亞仂仍仂亠仆仆 磻 仆从舒仍仆 舒从  仆亠 仆从舒仍仆. 丕仆从舒仍仆亳亶 仆亟亠从 亠舒仍亰 仂弍仄亠亢亠仆仆 仍仆仂 仆舒 舒弍仍亳, 于亳从仍ム舒ム亳 仄仂亢仍亳于
于舒于从亳 亰仆舒亠仆, 仂 仗仂于仂ムム.
Transactions
丐舒仆亰舒从 (舒仆亞仍. transaction)  亞仗舒 仗仂仍亟仂于仆亳 仂仗亠舒亶 亰 弍舒亰仂 亟舒仆亳, 磻舒  仍仂亞仆仂 仂亟亳仆亳亠 仂弍仂亳 亰 亟舒仆亳仄亳.
丐舒仆亰舒从 仄仂亢亠 弍亳 于亳从仂仆舒仆舒 舒弍仂 仍从仂仄  仗仆仂, 亟仂亳仄ム亳 仍仆仂 亟舒仆亳  仆亠亰舒仍亠亢仆仂 于亟 仆亳 舒仆亰舒从亶, 仂
亶亟 仗舒舒仍亠仍仆仂, 舒弍仂 仆亠 于亳从仂仆舒仆舒 亰仂于仄,  仂亟 于仂仆舒 仆亠 仄仂亢亠 仗舒于亳亳 仆磻仂亞仂 亠亠从. 丐舒仆亰舒从 仂弍仂弍仍ムム
舒仆亰舒从亶仆亳仄亳 亳亠仄舒仄亳, 于 仗仂亠 仂弍仂亳 磻亳 于仂ム 仂 舒仆亰舒从亶. 丐舒仆亰舒从 亰 弍舒亰仂 亟舒仆亳 于亳从仂亳仂于ム
亟仍 亰舒弍亠亰仗亠亠仆仆 仗仆亳仗于 ACID:
 Atomicity (舒仂仄舒仆) - 亞舒舒仆, 仂 亢仂亟仆舒 舒仆亰舒从 仆亠 弍亟亠 于亳从仂仆舒仆舒 舒从仂于仂. 亟 舒弍仂 于亳从仂仆舒仆 于 仂仗亠舒,
仂 弍亠 舒  舒仆亰舒从, 舒弍仂 仆亠 于亳从仂仆舒仆仂 亢仂亟仆仂. 亊从仂 仗仂磪仂仄 仂弍仂亳 仂亟仆 亰 仂仗亠舒亶 于亳仆亳从仆亠 仗仂仄亳仍从舒 
仂仗亠舒 弍亟亠 于亟亳仍亠仆仂, 仂 弍亟 于亟亳仍亠仆 舒从仂亢  仆 亰仄仆亳, 亰亟亶仆亠仆 于 仄亠亢舒 舒仆亰舒从.
 Consistency (亰亞仂亟亢亠仆) - 亟仗仂于亟仆仂 亟仂 于亳仄仂亞亳 亰亞仂亟亢亠仆仂 (舒仆亞仍. Consistency), 亳亠仄舒 仗仂于亳仆仆舒 仗亠亠弍于舒亳 于
亰亞仂亟亢亠仆仂仄, 仆亠仗亠亠仍亳于仂仄 舒仆 亟仂 仗仂舒从 亟 舒仆亰舒从  仗仂  亰舒于亠亠仆仆. 亳 仂仄 于仂仆舒 仄仂亢亠 仗亠亠弍于舒亳 于
仆亠亰亞仂亟亢亠仆仂仄 舒仆 仗仂磪仂仄 于亳从仂仆舒仆仆 舒仆亰舒从, 仗仂亠  仆亠亰亞仂亟亢亠仆 亰舒于亟磻亳 仆亳仄 于仍舒亳于仂礆 
舒仂仄舒仆仂 舒 亰仂仍仂于舒仆仂  仆亠 弍亟亠 于亳亟亳仄仂 亰舒 仄亠亢舒仄亳 舒仆亰舒从.
 Isolation (亰仂仍仂于舒仆) - 仂亰仆舒舒, 仂 亢仂亟仆 仗仂仄亢仆 亰仄仆亳 仆亠 弍亟 于亳亟亳仄 亰舒 仄亠亢舒仄亳 舒仆亰舒从 舒亢 亟仂  亰舒于亠亠仆仆.
亳舒仆仆 亰仂仍 舒 舒从舒仍仆亳仄 仗亳 仂亟仆仂舒仆亶 仂弍仂 弍舒亞舒仂 舒仆亰舒从亶 亰 仂亟仆亳仄亳 亶 亳仄亳 舒仄亳仄亳 亟舒仆亳仄亳. 亞亟仆仂 亰
 于亳仄仂亞仂, 磻仂 亟于 舒仆亰舒从 仆舒仄舒亞舒亳仄 亰仄仆亳亳 仂亟仆 亶  舒仄 亟舒仆, 仂 仂亟仆 亰 仆亳 弍亟亠 于亟亳仍亠仆仂 舒弍仂
仗亳亰仗亳仆亠仆仂 亟仂 亰舒于亠亠仆仆 亟亞仂.
 Durability (亶从) - 亞舒舒仆, 仂 仆亠亰舒仍亠亢仆仂 于亟 仆亳 仗仂弍仍亠仄 仗仍 于亟仆仂于仍亠仆仆 仗舒亠亰亟舒仆仂 亳亠仄亳 亠亰仍舒亳
亰舒于亠亠仆亳 舒仆亰舒从亶 弍亟 亰弍亠亠亢亠仆. 仆亳仄亳 仍仂于舒仄亳, 磻仂 从仂亳于舒 仂亳仄舒于 仗仂于亟仂仄仍亠仆仆 仗仂 仗仆亠
亰舒于亠亠仆仆 舒仆亰舒从, 仂 于仆 仄仂亢亠 弍亳 于仗亠于仆亠仆亳亶, 仂 亟舒仆 弍亟 亰弍亠亠亢亠仆 舒 于亟仆仂于仍亠仆  于亳仗舒亟从 亰弍仂于.
Pros
 Relational databases are well-documented
and mature technologies, and RDBMS are
sold and maintained by a number of
established corporations.
 SQL standards are well-defined and
commonly accepted.
 A large pool of qualified developers have
experience with SQL and RDBMS.
 All RDBMS are ACID-compliant, meaning
they satisfy the requirements of Atomicity,
Consistency, Isolation, and Durability.
 RDBMSes dont work well  or at all  with
unstructured or semi-structured data, due to
schema and type constraints. This makes them
ill-suited for large analytics or IoT event loads.
 The tables in your relational database will not
necessarily map one-to-one with an object or
class representing the same data.
 When migrating one RDBMS to another,
schemas and types must generally be identical
between source and destination tables for
migration to work (schema constraint). For many
of the same reasons, extremely complex datasets
or those containing variable-length records are
generally difficult to handle with an RDBMS
schema.
Cons
Non relational (noSQL) DB
Key-Value Stores
such as Redis and Amazon DynamoDB, are extremely simple database management systems that store only key-value
pairs and provide basic functionality for retrieving the value associated with a known key.
The simplicity of key-value stores makes these database management systems particularly well-suited to embedded
databases, where the stored data is not particularly complex and speed is of paramount importance.
Column Stores
such as Cassandra, Scylla, and HBase, are schema-agnostic systems that enable users to store data in column families or tables, a
single row of which can be thought of as a record  a multi-dimensional key-value store.
These solutions are designed with the goal of scaling well enough to manage petabytes of data across as many as thousands of
commodity servers in a massive, distributed system.
Although technically schema-free, wide column stores like Scylla and Cassandra use an SQL variant called CQL for data definition and
manipulation, making them straightforward to those already familiar with RDBMS.
Document Stores
including MongoDB and Couchbase, are schema-free
systems that store data in the form of JSON documents.
Document stores are similar to key-value or wide column
stores, but the document name is the key and the contents of
the document, whatever they are, are the value.
In a document store, individual records do not require a
uniform structure, can contain many different value types, and
can be nested. This flexibility makes them particularly well-
suited to manage semi-structured data across distributed
systems.
Graph Databases
such as Neo4J and Datastax Enterprise Graph, represent
data as a network of related nodes or objects in order to
facilitate data visualizations and graph analytics.
A node or object in a graph database contains free-form data
that is connected by relationships and grouped according to
labels. Graph-Oriented Database Management Systems
(DBMS) software is designed with an emphasis on illustrating
connections between data points.
As a result, graph databases are typically used when analysis
of the relationships between heterogeneous data points is the
end goal of the system, such as in fraud prevention,
advanced enterprise operations, or Facebooks original
friends graph.
Search engines
such as Elasticsearch, Splunk, and Solr, store data using schema-free JSON documents. They are similar to document stores, but with
a greater emphasis on making your unstructured or semi-structured data easily accessible via text-based searches with strings of
varying complexity.
MongoDB
MongoDB uses JSON-like documents with schemata. MongoDB is developed by MongoDB Inc., and is published under a combination
of the Server Side Public License and the Apache License.
Read more
Insert
db.products.insert( { item: "card", qty: 15 } );
{ "_id" : ObjectId("5063114bd386d8fadbd6b004"), "item" : "card", "qty" : 15 }
Find
db.products.find( { qty: { $gt: 25 } } );
Databases

More Related Content

Databases

  • 7. Primary key Primary key Primary key Foreign key Foreign key Foreign key
  • 8. SQL - Structured Query Language CREATE TABLE student(id INT, first_name VARCHAR(25), last_name VARCHAR(25), email VARCHAR(100), PRIMARY KEY (id)); INSERT INTO student VALUES (1, 'John', 'Peterson', 'jpeterson@email'); SELECT * FROM student; SQL WIKI tutorial
  • 9. SQL SELECT * FROM student s JOIN student_course sc ON s.id = sc.student_id JOIN course c ON sc.course_id = c.id WHERE c.mentor_id = 3; SELECT s.id, s.first_name, s.last_name, c.id, c.title FROM student s JOIN student_course sc ON s.id = sc.student_id JOIN course c ON sc.course_id = c.id WHERE c.mentor_id = 3 ORDER BY s.id;
  • 11. Indexes 仆亟亠从 (舒仆亞仍. index) 仂弍'从 弍舒亰亳 亟舒仆亳, 仂 于仂亠仆亳亶 亰 仄亠仂 仗亟于亳亠仆仆 亠亠从亳于仆仂 于亳从仂仆舒仆仆 亰舒仗亳于. 丐舒弍仍亳 于 弍舒亰 亟舒仆亳 仄仂亢 仄舒亳 于亠仍亳从 从仍从 磲从于, 磻 亰弍亠亞舒ム 亟仂于仍仆仂仄 仗仂磲从, 仗仂从 亰舒 亰舒亟舒仆亳仄 亰仆舒亠仆仆礆 仍仂仄 仗仂仍亟仂于仆仂亞仂 仗亠亠亞仍磲 舒弍仍亳 磲仂从 亰舒 磲从仂仄 仄仂亢亠 亰舒亶仄舒亳 弍舒亞舒仂 舒. 仆亟亠从 仂仄 亰 亰仆舒亠仆 仂亟仆仂亞仂 亳 从仍从仂 仂于仗亳从于 舒弍仍亳 于从舒亰于仆亳从于 仆舒 于亟仗仂于亟仆 磲从亳 舒弍仍亳 , 舒从亳仄 亳仆仂仄, 亟仂亰于仂仍 亰仆舒仂亟亳亳 仗仂弍仆亳亶 磲仂从 亰舒 亰舒亟舒仆亳仄 亰仆舒亠仆仆礆. 亳从仂亠仆仆 仂弍仂亳 亰 于亳从仂亳舒仆仆礆 仆亟亠从于 亟仂磪舒 于 仗亠 亠亞 亰舒 舒仆仂从 仂亞仂, 仂 仆亟亠从 仄舒 从, 仂 仂仗亳仄亰仂于舒仆舒 亟仍 仗仂从 仆舒仗亳从仍舒亟, 亰弍舒仍舒仆仂于舒仆仂亞仂 亟亠亠于舒. 亠磻 弌 仂亰亳ムム 仄仂亢仍亳于仂 仆亟亠从于 于于亠亟亠仆仆礆 仄仂亢仍亳于仂 于仂亠仆仆 仆亟亠从于 亰舒 于亳舒亰舒仄亳. 舒仗亳从仍舒亟, 仆亟亠从 仄仂亢亠 弍亳 于仂亠仆亳亶 亰舒 于亳舒亰仂仄 upper(last_name) 于亟仗仂于亟仆仂 弍亟亠 亰弍亠亞舒亳 仗仂亳仍舒仆仆, 从仍ム亠仄 磻亳 弍亟 亰仆舒亠仆仆 仗仂仍 last_name 于 于亠仆仂仄 亠亞. 仄 仂亞仂, 仆亟亠从亳 仄仂亢 弍亳 仂亞仂仍仂亠仆仆 磻 仆从舒仍仆 舒从 仆亠 仆从舒仍仆. 丕仆从舒仍仆亳亶 仆亟亠从 亠舒仍亰 仂弍仄亠亢亠仆仆 仍仆仂 仆舒 舒弍仍亳, 于亳从仍ム舒ム亳 仄仂亢仍亳于 于舒于从亳 亰仆舒亠仆, 仂 仗仂于仂ムム.
  • 12. Transactions 丐舒仆亰舒从 (舒仆亞仍. transaction) 亞仗舒 仗仂仍亟仂于仆亳 仂仗亠舒亶 亰 弍舒亰仂 亟舒仆亳, 磻舒 仍仂亞仆仂 仂亟亳仆亳亠 仂弍仂亳 亰 亟舒仆亳仄亳. 丐舒仆亰舒从 仄仂亢亠 弍亳 于亳从仂仆舒仆舒 舒弍仂 仍从仂仄 仗仆仂, 亟仂亳仄ム亳 仍仆仂 亟舒仆亳 仆亠亰舒仍亠亢仆仂 于亟 仆亳 舒仆亰舒从亶, 仂 亶亟 仗舒舒仍亠仍仆仂, 舒弍仂 仆亠 于亳从仂仆舒仆舒 亰仂于仄, 仂亟 于仂仆舒 仆亠 仄仂亢亠 仗舒于亳亳 仆磻仂亞仂 亠亠从. 丐舒仆亰舒从 仂弍仂弍仍ムム 舒仆亰舒从亶仆亳仄亳 亳亠仄舒仄亳, 于 仗仂亠 仂弍仂亳 磻亳 于仂ム 仂 舒仆亰舒从亶. 丐舒仆亰舒从 亰 弍舒亰仂 亟舒仆亳 于亳从仂亳仂于ム 亟仍 亰舒弍亠亰仗亠亠仆仆 仗仆亳仗于 ACID: Atomicity (舒仂仄舒仆) - 亞舒舒仆, 仂 亢仂亟仆舒 舒仆亰舒从 仆亠 弍亟亠 于亳从仂仆舒仆舒 舒从仂于仂. 亟 舒弍仂 于亳从仂仆舒仆 于 仂仗亠舒, 仂 弍亠 舒 舒仆亰舒从, 舒弍仂 仆亠 于亳从仂仆舒仆仂 亢仂亟仆仂. 亊从仂 仗仂磪仂仄 仂弍仂亳 仂亟仆 亰 仂仗亠舒亶 于亳仆亳从仆亠 仗仂仄亳仍从舒 仂仗亠舒 弍亟亠 于亟亳仍亠仆仂, 仂 弍亟 于亟亳仍亠仆 舒从仂亢 仆 亰仄仆亳, 亰亟亶仆亠仆 于 仄亠亢舒 舒仆亰舒从. Consistency (亰亞仂亟亢亠仆) - 亟仗仂于亟仆仂 亟仂 于亳仄仂亞亳 亰亞仂亟亢亠仆仂 (舒仆亞仍. Consistency), 亳亠仄舒 仗仂于亳仆仆舒 仗亠亠弍于舒亳 于 亰亞仂亟亢亠仆仂仄, 仆亠仗亠亠仍亳于仂仄 舒仆 亟仂 仗仂舒从 亟 舒仆亰舒从 仗仂 亰舒于亠亠仆仆. 亳 仂仄 于仂仆舒 仄仂亢亠 仗亠亠弍于舒亳 于 仆亠亰亞仂亟亢亠仆仂仄 舒仆 仗仂磪仂仄 于亳从仂仆舒仆仆 舒仆亰舒从, 仗仂亠 仆亠亰亞仂亟亢亠仆 亰舒于亟磻亳 仆亳仄 于仍舒亳于仂礆 舒仂仄舒仆仂 舒 亰仂仍仂于舒仆仂 仆亠 弍亟亠 于亳亟亳仄仂 亰舒 仄亠亢舒仄亳 舒仆亰舒从. Isolation (亰仂仍仂于舒仆) - 仂亰仆舒舒, 仂 亢仂亟仆 仗仂仄亢仆 亰仄仆亳 仆亠 弍亟 于亳亟亳仄 亰舒 仄亠亢舒仄亳 舒仆亰舒从 舒亢 亟仂 亰舒于亠亠仆仆. 亳舒仆仆 亰仂仍 舒 舒从舒仍仆亳仄 仗亳 仂亟仆仂舒仆亶 仂弍仂 弍舒亞舒仂 舒仆亰舒从亶 亰 仂亟仆亳仄亳 亶 亳仄亳 舒仄亳仄亳 亟舒仆亳仄亳. 亞亟仆仂 亰 于亳仄仂亞仂, 磻仂 亟于 舒仆亰舒从 仆舒仄舒亞舒亳仄 亰仄仆亳亳 仂亟仆 亶 舒仄 亟舒仆, 仂 仂亟仆 亰 仆亳 弍亟亠 于亟亳仍亠仆仂 舒弍仂 仗亳亰仗亳仆亠仆仂 亟仂 亰舒于亠亠仆仆 亟亞仂. Durability (亶从) - 亞舒舒仆, 仂 仆亠亰舒仍亠亢仆仂 于亟 仆亳 仗仂弍仍亠仄 仗仍 于亟仆仂于仍亠仆仆 仗舒亠亰亟舒仆仂 亳亠仄亳 亠亰仍舒亳 亰舒于亠亠仆亳 舒仆亰舒从亶 弍亟 亰弍亠亠亢亠仆. 仆亳仄亳 仍仂于舒仄亳, 磻仂 从仂亳于舒 仂亳仄舒于 仗仂于亟仂仄仍亠仆仆 仗仂 仗仆亠 亰舒于亠亠仆仆 舒仆亰舒从, 仂 于仆 仄仂亢亠 弍亳 于仗亠于仆亠仆亳亶, 仂 亟舒仆 弍亟 亰弍亠亠亢亠仆 舒 于亟仆仂于仍亠仆 于亳仗舒亟从 亰弍仂于.
  • 13. Pros Relational databases are well-documented and mature technologies, and RDBMS are sold and maintained by a number of established corporations. SQL standards are well-defined and commonly accepted. A large pool of qualified developers have experience with SQL and RDBMS. All RDBMS are ACID-compliant, meaning they satisfy the requirements of Atomicity, Consistency, Isolation, and Durability. RDBMSes dont work well or at all with unstructured or semi-structured data, due to schema and type constraints. This makes them ill-suited for large analytics or IoT event loads. The tables in your relational database will not necessarily map one-to-one with an object or class representing the same data. When migrating one RDBMS to another, schemas and types must generally be identical between source and destination tables for migration to work (schema constraint). For many of the same reasons, extremely complex datasets or those containing variable-length records are generally difficult to handle with an RDBMS schema. Cons
  • 15. Key-Value Stores such as Redis and Amazon DynamoDB, are extremely simple database management systems that store only key-value pairs and provide basic functionality for retrieving the value associated with a known key. The simplicity of key-value stores makes these database management systems particularly well-suited to embedded databases, where the stored data is not particularly complex and speed is of paramount importance.
  • 16. Column Stores such as Cassandra, Scylla, and HBase, are schema-agnostic systems that enable users to store data in column families or tables, a single row of which can be thought of as a record a multi-dimensional key-value store. These solutions are designed with the goal of scaling well enough to manage petabytes of data across as many as thousands of commodity servers in a massive, distributed system. Although technically schema-free, wide column stores like Scylla and Cassandra use an SQL variant called CQL for data definition and manipulation, making them straightforward to those already familiar with RDBMS.
  • 17. Document Stores including MongoDB and Couchbase, are schema-free systems that store data in the form of JSON documents. Document stores are similar to key-value or wide column stores, but the document name is the key and the contents of the document, whatever they are, are the value. In a document store, individual records do not require a uniform structure, can contain many different value types, and can be nested. This flexibility makes them particularly well- suited to manage semi-structured data across distributed systems.
  • 18. Graph Databases such as Neo4J and Datastax Enterprise Graph, represent data as a network of related nodes or objects in order to facilitate data visualizations and graph analytics. A node or object in a graph database contains free-form data that is connected by relationships and grouped according to labels. Graph-Oriented Database Management Systems (DBMS) software is designed with an emphasis on illustrating connections between data points. As a result, graph databases are typically used when analysis of the relationships between heterogeneous data points is the end goal of the system, such as in fraud prevention, advanced enterprise operations, or Facebooks original friends graph.
  • 19. Search engines such as Elasticsearch, Splunk, and Solr, store data using schema-free JSON documents. They are similar to document stores, but with a greater emphasis on making your unstructured or semi-structured data easily accessible via text-based searches with strings of varying complexity.
  • 20. MongoDB MongoDB uses JSON-like documents with schemata. MongoDB is developed by MongoDB Inc., and is published under a combination of the Server Side Public License and the Apache License. Read more
  • 21. Insert db.products.insert( { item: "card", qty: 15 } ); { "_id" : ObjectId("5063114bd386d8fadbd6b004"), "item" : "card", "qty" : 15 } Find db.products.find( { qty: { $gt: 25 } } );