Penerapan NoSQL dalam skenario big data
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.