Penerapan NoSQL dalam skenario big data

From OnnoWiki
Jump to navigation Jump to search

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