Difference between revisions of "Penerapan NoSQL dalam skenario big data"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "Berikut adalah **Modul 12.2: Penerapan NoSQL dalam Skenario Big Data**, dilengkapi dengan **contoh nyata menggunakan database NoSQL (MongoDB dan Redis) di Ubuntu 24.04**. ---...")
 
 
Line 1: Line 1:
Berikut adalah **Modul 12.2: Penerapan NoSQL dalam Skenario Big Data**, dilengkapi dengan **contoh nyata menggunakan database NoSQL (MongoDB dan Redis) di Ubuntu 24.04**.
+
Berikut adalah '''Penerapan NoSQL dalam Skenario Big Data''', dilengkapi dengan '''contoh nyata menggunakan database NoSQL (MongoDB dan Redis) di Ubuntu 24.04'''.
  
---
+
==Modul: Penerapan NoSQL dalam Skenario Big Data==
  
## 📘 **Modul 12.2: Penerapan NoSQL dalam Skenario Big Data**
+
==Tujuan Pembelajaran==
 +
* Memahami penerapan nyata basis data NoSQL dalam skenario big data.
 +
* Membedakan jenis-jenis NoSQL berdasarkan kebutuhan skenario.
 +
* Menerapkan contoh langsung penggunaan MongoDB (document) dan Redis (key-value) di Ubuntu 24.04.
  
### 🎯 **Tujuan Pembelajaran**
+
==1. Peran NoSQL dalam Big Data==
- Memahami penerapan nyata basis data NoSQL dalam skenario big data.
 
- Membedakan jenis-jenis NoSQL berdasarkan kebutuhan skenario.
 
- Menerapkan contoh langsung penggunaan MongoDB (document) dan Redis (key-value) di Ubuntu 24.04.
 
  
---
+
NoSQL sangat penting dalam skenario Big Data karena:
 +
* Dapat '''menampung volume data sangat besar''' (scalable).
 +
* Mendukung '''struktur data fleksibel''' (tanpa skema tetap).
 +
* Cocok untuk '''data real-time''' dan '''bervariasi''' (sensor, JSON, log, media sosial).
  
### 🧠 **1. Peran NoSQL dalam Big Data**
+
==2. Penerapan NoSQL di Dunia Nyata dan Contohnya==
  
NoSQL sangat penting dalam skenario Big Data karena:
+
===A. Smart City: Sensor IoT===
- Dapat **menampung volume data sangat besar** (scalable).
+
* '''Jenis''': Column Store / Document Store
- Mendukung **struktur data fleksibel** (tanpa skema tetap).
+
* '''Tujuan''': Merekam suhu, kelembapan, polusi dari ratusan ribu sensor.
- Cocok untuk **data real-time** dan **bervariasi** (sensor, JSON, log, media sosial).
 
  
---
+
'''Contoh Implementasi dengan MongoDB'''
  
### 🧩 **2. Penerapan NoSQL di Dunia Nyata dan Contohnya**
+
'''Langkah Instalasi MongoDB di Ubuntu 24.04'''
  
---
+
sudo apt update
 +
sudo apt install -y mongodb
 +
sudo systemctl start mongodb
 +
sudo systemctl enable mongodb
  
#### 🏙️ A. **Smart City: Sensor IoT**
 
- **Jenis**: Column Store / Document Store
 
- **Tujuan**: Merekam suhu, kelembapan, polusi dari ratusan ribu sensor.
 
  
#### ✅ **Contoh Implementasi dengan MongoDB**
+
'''Simpan Data Sensor dalam Format JSON'''
  
##### 🔧 **Langkah Instalasi MongoDB di Ubuntu 24.04**
+
mongosh
```bash
 
sudo apt update
 
sudo apt install -y mongodb
 
sudo systemctl start mongodb
 
sudo systemctl enable mongodb
 
```
 
  
##### 🧪 **Simpan Data Sensor dalam Format JSON**
+
use smartcity
```bash
+
mongosh
+
db.iot.insertOne({
 +
  device_id: "sensor-01",
 +
  timestamp: new Date(),
 +
  suhu: 31.2,
 +
  kelembapan: 70,
 +
  polusi: 125
 +
})
  
use smartcity
+
-- Query suhu > 30
 +
db.iot.find({ suhu: { $gt: 30 } })
  
db.iot.insertOne({
+
===B. E-Commerce: Profil Pengguna dan Produk===
  device_id: "sensor-01",
+
* '''Jenis''': Document Store
  timestamp: new Date(),
+
* '''Tujuan''': Menyimpan data dinamis seperti spesifikasi produk.
  suhu: 31.2,
 
  kelembapan: 70,
 
  polusi: 125
 
})
 
  
-- Query suhu > 30
+
''Simpan Produk di MongoDB'''
db.iot.find({ suhu: { $gt: 30 } })
 
```
 
  
---
+
db.produk.insertOne({
 +
  nama: "Laptop Gaming",
 +
  harga: 15000000,
 +
  spesifikasi: {
 +
    processor: "Intel i7",
 +
    RAM: "16GB",
 +
    storage: "1TB SSD"
 +
  },
 +
  stok: 25
 +
})
  
#### 🛍️ B. **E-Commerce: Profil Pengguna dan Produk**
 
- **Jenis**: Document Store
 
- **Tujuan**: Menyimpan data dinamis seperti spesifikasi produk.
 
  
##### 🧪 **Simpan Produk di MongoDB**
+
===C. Sistem Caching atau Token Akses===
```javascript
+
* '''Jenis''': Key-Value Store
db.produk.insertOne({
+
* '''Tujuan''': Penyimpanan data cepat seperti session login dan token.
  nama: "Laptop Gaming",
 
  harga: 15000000,
 
  spesifikasi: {
 
    processor: "Intel i7",
 
    RAM: "16GB",
 
    storage: "1TB SSD"
 
  },
 
  stok: 25
 
})
 
```
 
  
---
+
'''Contoh Implementasi dengan Redis'''
  
#### ⚙️ C. **Sistem Caching atau Token Akses**
+
'''Langkah Instalasi Redis di Ubuntu 24.04'''
- **Jenis**: Key-Value Store
 
- **Tujuan**: Penyimpanan data cepat seperti session login dan token.
 
  
#### ✅ **Contoh Implementasi dengan Redis**
+
sudo apt update
 +
sudo apt install -y redis
 +
sudo systemctl start redis
 +
sudo systemctl enable redis
  
##### 🔧 **Langkah Instalasi Redis di Ubuntu 24.04**
+
'''Simpan dan Ambil Data Session'''
```bash
 
sudo apt update
 
sudo apt install -y redis
 
sudo systemctl start redis
 
sudo systemctl enable redis
 
```
 
  
##### 🧪 **Simpan dan Ambil Data Session**
 
```bash
 
 
redis-cli
 
redis-cli
  
SET user:1001:session "eyJhbGciOi..."
+
SET user:1001:session "eyJhbGciOi..."
GET user:1001:session
+
GET user:1001:session
```
 
  
🧪 **Atur session dengan waktu kadaluarsa (TTL):**
+
'''Atur session dengan waktu kadaluarsa (TTL):'''
```bash
 
SETEX user:1001:session 3600 "session-token-value"
 
TTL user:1001:session
 
```
 
  
---
+
SETEX user:1001:session 3600 "session-token-value"
 +
TTL user:1001:session
  
#### 👥 D. **Media Sosial: Hubungan Pengguna**
 
- **Jenis**: Graph Database
 
- **Tujuan**: Menyimpan dan menganalisis relasi (pertemanan, likes, followers).
 
  
##### ✅ **Contoh Implementasi dengan Neo4j**
+
===D. Media Sosial: Hubungan Pengguna===
 +
* '''Jenis''': Graph Database
 +
* '''Tujuan''': Menyimpan dan menganalisis relasi (pertemanan, likes, followers).
  
##### 🔧 **Instal Neo4j di Ubuntu 24.04**
+
'''Contoh Implementasi dengan Neo4j'''
```bash
 
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
 
echo 'deb https://debian.neo4j.com stable 5' | sudo tee /etc/apt/sources.list.d/neo4j.list
 
sudo apt update
 
sudo apt install neo4j
 
sudo systemctl enable neo4j
 
sudo systemctl start neo4j
 
```
 
  
##### 🧪 **Contoh Query Cypher**
+
'''Instal Neo4j di Ubuntu 24.04'''
```cypher
 
// Login ke Neo4j Browser di http://localhost:7474
 
  
CREATE (u1:User {name: "Andi"})
+
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
CREATE (u2:User {name: "Budi"})
+
echo 'deb https://debian.neo4j.com stable 5' | sudo tee /etc/apt/sources.list.d/neo4j.list
CREATE (u1)-[:TEMAN]->(u2)
+
sudo apt update
 +
sudo apt install neo4j
 +
sudo systemctl enable neo4j
 +
sudo systemctl start neo4j
  
MATCH (a:User)-[:TEMAN]->(b:User) RETURN a.name, b.name
+
'''Contoh Query Cypher'''
```
 
  
---
+
// Login ke Neo4j Browser di http://localhost:7474
 +
 +
CREATE (u1:User {name: "Andi"})
 +
CREATE (u2:User {name: "Budi"})
 +
CREATE (u1)-[:TEMAN]->(u2)
 +
 +
MATCH (a:User)-[:TEMAN]->(b:User) RETURN a.name, b.name
  
### 📊 **3. Tabel Rangkuman Penerapan NoSQL dalam Big Data**
+
==Tabel Rangkuman Penerapan NoSQL dalam Big Data==
  
| Skenario          | Jenis NoSQL    | DB yang Digunakan | Contoh Penerapan di Ubuntu 24.04               |
+
{| class="wikitable"
|--------------------|------------------|--------------------|--------------------------------------------------|
+
! Skenario          !! Jenis NoSQL    !! DB yang Digunakan !! Contoh Penerapan di Ubuntu 24.04
| Smart City (IoT)  | Document Store  | MongoDB            | `db.iot.insertOne({...})`                       |
+
|-
| E-Commerce        | Document Store  | MongoDB            | `db.produk.insertOne({...})`                   |
+
| Smart City (IoT)  || Document Store  || MongoDB            || `db.iot.insertOne({...})`
| Session & Cache    | Key-Value Store  | Redis              | `SET`, `GET`, `SETEX`                           |
+
|-
| Relasi Sosial      | Graph DB        | Neo4j              | `CREATE`, `MATCH` dengan bahasa **Cypher**      |
+
| E-Commerce        || Document Store  || MongoDB            || `db.produk.insertOne({...})`
 +
|-
 +
| Session & Cache    || Key-Value Store  || Redis              || `SET`, `GET`, `SETEX`
 +
|-
 +
| Relasi Sosial      || Graph DB        || Neo4j              || `CREATE`, `MATCH` dengan bahasa '''Cypher'''
 +
|}
  
---
+
==Kesimpulan==
  
### ✅ **Kesimpulan**
+
Penerapan NoSQL dalam big data sangat fleksibel tergantung jenis dan kebutuhan datanya. Ubuntu 24.04 menyediakan kemudahan instalasi dan pengelolaan MongoDB, Redis, maupun Neo4j. Dengan pendekatan yang tepat, NoSQL mampu mendukung kebutuhan big data untuk smart city, e-commerce, dan sosial media dengan efisien.
  
Penerapan NoSQL dalam big data sangat fleksibel tergantung jenis dan kebutuhan datanya. Ubuntu 24.04 menyediakan kemudahan instalasi dan pengelolaan MongoDB, Redis, maupun Neo4j. Dengan pendekatan yang tepat, NoSQL mampu mendukung kebutuhan big data untuk smart city, e-commerce, dan sosial media dengan efisien.
 
  
---
+
==Pranala Menarik==
  
Kalau kamu mau, Gipy bisa bantu buat versi modul ini ke bentuk **.PDF** atau **slide PowerPoint** juga. Mau sekalian?
+
* [[Database]]
 +
* [[Database: Kuliah]]

Latest revision as of 14:13, 6 May 2025

Berikut adalah Penerapan NoSQL dalam Skenario Big Data, dilengkapi dengan contoh nyata menggunakan database NoSQL (MongoDB dan Redis) di Ubuntu 24.04.

Modul: Penerapan NoSQL dalam Skenario Big Data

Tujuan Pembelajaran

  • Memahami penerapan nyata basis data NoSQL dalam skenario big data.
  • Membedakan jenis-jenis NoSQL berdasarkan kebutuhan skenario.
  • Menerapkan contoh langsung penggunaan MongoDB (document) dan Redis (key-value) di Ubuntu 24.04.

1. Peran NoSQL dalam Big Data

NoSQL sangat penting dalam skenario Big Data karena:

  • Dapat menampung volume data sangat besar (scalable).
  • Mendukung struktur data fleksibel (tanpa skema tetap).
  • Cocok untuk data real-time dan bervariasi (sensor, JSON, log, media sosial).

2. Penerapan NoSQL di Dunia Nyata dan Contohnya

A. Smart City: Sensor IoT

  • Jenis: Column Store / Document Store
  • Tujuan: Merekam suhu, kelembapan, polusi dari ratusan ribu sensor.

Contoh Implementasi dengan MongoDB

Langkah Instalasi MongoDB di Ubuntu 24.04

sudo apt update
sudo apt install -y mongodb
sudo systemctl start mongodb
sudo systemctl enable mongodb


Simpan Data Sensor dalam Format JSON

mongosh

use smartcity

db.iot.insertOne({
  device_id: "sensor-01",
  timestamp: new Date(),
  suhu: 31.2,
  kelembapan: 70,
  polusi: 125
})
-- Query suhu > 30
db.iot.find({ suhu: { $gt: 30 } })

B. E-Commerce: Profil Pengguna dan Produk

  • Jenis: Document Store
  • Tujuan: Menyimpan data dinamis seperti spesifikasi produk.

Simpan Produk di MongoDB'

db.produk.insertOne({
  nama: "Laptop Gaming",
  harga: 15000000,
  spesifikasi: {
    processor: "Intel i7",
    RAM: "16GB",
    storage: "1TB SSD"
  },
  stok: 25
})


C. Sistem Caching atau Token Akses

  • Jenis: Key-Value Store
  • Tujuan: Penyimpanan data cepat seperti session login dan token.

Contoh Implementasi dengan Redis

Langkah Instalasi Redis di Ubuntu 24.04

sudo apt update
sudo apt install -y redis
sudo systemctl start redis
sudo systemctl enable redis

Simpan dan Ambil Data Session

redis-cli

SET user:1001:session "eyJhbGciOi..."
GET user:1001:session

Atur session dengan waktu kadaluarsa (TTL):

SETEX user:1001:session 3600 "session-token-value"
TTL user:1001:session


D. Media Sosial: Hubungan Pengguna

  • Jenis: Graph Database
  • Tujuan: Menyimpan dan menganalisis relasi (pertemanan, likes, followers).

Contoh Implementasi dengan Neo4j

Instal Neo4j di Ubuntu 24.04

wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
echo 'deb https://debian.neo4j.com stable 5' | sudo tee /etc/apt/sources.list.d/neo4j.list
sudo apt update
sudo apt install neo4j
sudo systemctl enable neo4j
sudo systemctl start neo4j
Contoh Query Cypher
// Login ke Neo4j Browser di http://localhost:7474

CREATE (u1:User {name: "Andi"})
CREATE (u2:User {name: "Budi"})
CREATE (u1)-[:TEMAN]->(u2)

MATCH (a:User)-[:TEMAN]->(b:User) RETURN a.name, b.name

Tabel Rangkuman Penerapan NoSQL dalam Big Data

Skenario Jenis NoSQL DB yang Digunakan Contoh Penerapan di Ubuntu 24.04
Smart City (IoT) Document Store MongoDB `db.iot.insertOne({...})`
E-Commerce Document Store MongoDB `db.produk.insertOne({...})`
Session & Cache Key-Value Store Redis `SET`, `GET`, `SETEX`
Relasi Sosial Graph DB Neo4j `CREATE`, `MATCH` dengan bahasa Cypher

Kesimpulan

Penerapan NoSQL dalam big data sangat fleksibel tergantung jenis dan kebutuhan datanya. Ubuntu 24.04 menyediakan kemudahan instalasi dan pengelolaan MongoDB, Redis, maupun Neo4j. Dengan pendekatan yang tepat, NoSQL mampu mendukung kebutuhan big data untuk smart city, e-commerce, dan sosial media dengan efisien.


Pranala Menarik