Skip to content

Commit

Permalink
Merge pull request #12 from hsf-training/opensearch
Browse files Browse the repository at this point in the history
added and tested opensearch commands
  • Loading branch information
michmx authored Apr 11, 2024
2 parents 386c10c + 2133179 commit d0f9fa7
Show file tree
Hide file tree
Showing 5 changed files with 386 additions and 212 deletions.
8 changes: 8 additions & 0 deletions _episodes/01-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,11 @@ A database management system (DBMS) is a computer software application that inte
and the database itself to capture and analyze data.

A general-purpose DBMS is designed to allow the definition, creation, querying, update, and administration of databases.



# Relational Database Management Systems (RDMS)

RDMS is a type of DBMS that organizes data into tables with rows and columns, establishing relationships between entities
through keys. It follows the principles of the relational model and uses Structured Query Language (SQL) for data manipulation.
Examples of RDMS include MySQL, PostgreSQL, Oracle Database, and SQL Server.
19 changes: 19 additions & 0 deletions _episodes/08-intro-nosql.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,22 @@ keypoints:
- ""
- ""
---

# NOSQL Databases
NSQL databases diverge from the traditional table-based structure of RDMS and are designed to handle unstructured or
semi-structured data. They offer flexibility in data modeling and storage, supporting various data formats. Types of NoSQL database are :

| NoSQL Database Type | Description | Examples |
| ------------------------- | ------------------------------------------------------------ | -------------------------------------------- |
| Key-Value Store | Stores data as key-value pairs. Simple and efficient for basic storage and retrieval operations. | Redis, DynamoDB, Riak |
| Document-Oriented | Stores data in flexible JSON-like documents, allowing nested structures and complex data modeling. | MongoDB, Couchbase, CouchDB, OpenSearch, Elasticsearch |
| Column-Family Store | Organizes data into columns rather than rows, suitable for analytical queries and data warehousing. | Apache Cassandra, HBase, ScyllaDB |
| Graph Database | Models data as nodes and edges, ideal for complex relationships and network analysis. | Neo4j, ArangoDB, OrientDB |
| Wide-Column Store | Similar to column-family stores but optimized for wide rows and scalable columnar data storage. | Apache HBase, Apache Kudu, Google Bigtable |

# Opensearch Databases
Opensearch is kind of NoSQL database which is document oriented. It stores data as JSON documents.
It is also a distributed search and analytics engine designed for scalability, real-time data processing, and full-text search capabilities.
It is often used for log analytics, monitoring, and exploring large volumes of structured and unstructured data.

In the following chapters, we will build a metadata search engine/database. We will exploit the functionality of OpenSearch to create a database where we can store files with their corresponding metadata, and look for the files that match metadata queries.
199 changes: 0 additions & 199 deletions _episodes/09-nosql-queries.md

This file was deleted.

Loading

0 comments on commit d0f9fa7

Please sign in to comment.