100% menganggap dokumen ini bermanfaat (1 suara)
83 tayangan

4 - SQL Dan NoSQL

Dokumen tersebut membahas tentang SQL dan NoSQL untuk Big Data Analytics. Secara singkat, dokumen tersebut menjelaskan pengenalan RDBMS yang menggunakan SQL serta pengenalan NoSQL beserta jenis-jenis aplikasi database NoSQL.

Diunggah oleh

Aditya Prasantasya
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
83 tayangan

4 - SQL Dan NoSQL

Dokumen tersebut membahas tentang SQL dan NoSQL untuk Big Data Analytics. Secara singkat, dokumen tersebut menjelaskan pengenalan RDBMS yang menggunakan SQL serta pengenalan NoSQL beserta jenis-jenis aplikasi database NoSQL.

Diunggah oleh

Aditya Prasantasya
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 40

SQL dan NoSQL

Big Data Analytics


Daftar Isi
• Pendahuluan
• Pengenalan RDBMS rational database management system

• Penggunaan SQL pada RDBMS


• Data Definition Language
• Data Manipulation Language
• Contoh aplikasi RDBMS
• Pengenalan NoSQL
• Jenis-jenis aplikasi databas NoSQL
Pendahuluan (1)
• Aplikasi-aplikasi modern umumnya
menggunakan arsitektur tiga layer seperti
pada gambar berikut:
------> MVC

Application model
view
Interface control

Database
Pendahuluan (2)
• Dari gambar arsitektur tersebut, terlihat bahwa
penyimpanan basis data merupakan salah satu
komponen yang umumnya ada pada aplikasi modern.
• Terminologi yang terkait dengan penyimpanan basis
data:
• Database: Koleksi data yang sudah terorganisir.
• DBMS – Database Management System: Sebuah paket
aplikasi yang mengontrol pembuatan, perawatan dan
penggunaan sebuah database.
• Database dibuat untuk menangani informasi dalam
jumlah besar dengan mengatur masukan,
penyimpanan, pengambilan
Pendahuluan (3)
• Penyimpanan basis data memiliki sejarah
yang panjang:
• Menggunakan struktur data yang terpasang di
dalam sumber kode aplikasi.
• Menggunakan file eksternal untuk menyimpan
struktur data di atas.
• Menggunakan data yang ditangani oleh sebuah
database management system (DBMS) yang
berbasis SQL
• Menggunakan data yang ditangani oleh sebuah
DBMS berbasis NoSQL.
Pendahuluan (4)
• Perkembangan database ditunjukkan seperti
pada gambar berikut:
Pendahuluan (5)
• Dalam sesi ini, akan didiskusikan
implementasi SQL dan NoSQL DBMS untuk
big data.
Pengenalan RDBMS (1)
• RDBMS merupakan singkatan dari Relational
Database Management System.
• Data pada RDBMS disimpan dalam bentuk
tabel-tabel dan terdapat keterhubungan
(relationship) diantara tabel-tabel tersebut.
Pengenalan RDBMS (2)
• Fokus utama RDBMS adalah ACID:
• Atomicity – Setiap transaksi adalah atomic. Jika
satu bagian mengalami kegagalan, maka
keseluruhan transaksi akan gagal.
• Consistency – Setiap transaksi adalah
sekumpulan aturan yang konsisten.
• Isolation – Tidak ada transaksi yang dapat
mengganggu transaksi yang lain.
• Durability – Ketika sebuah transaksi sudah
committed, maka transaksi tersebut akan selalu
committed.
Pengenalan RDBMS (3)
• Fitur-fitur yang terdapat pada RDBMS:
• Identitas Data diatur dalam bentuk kolom-kolom
tabel dan setiap data tersimpan dalam bentuk
baris dari tabel.
• Data tersusun dalam bentuk normalisasi.
• Didukung secara luas.
• Metode akses data yang konsisten menggunakan
SQL.
Pengenalan SQL (1)
• SQL adalah kepanjangan dari Structured
Query Language, merupakan bahasa
standard yang dipakai pada DBMS berbasis
Relational, atau yang biasa disebut RDBMS –
Relational Database Management System.
• SQL merupakan sekumpulan perintah yang
digunakan untuk memberikan input,
mengakses dan memanipulasi data pada
RDBMS.
• SQL mengikuti standard ANSI (American
National Standard Institute) untuk
manajemen RDBMS.
Pengenalan SQL (2)
• Terdapat tiga jenis perintah SQL, yaitu:
• DDL atau Data Definition Language. DDL merupakan perintah
SQL yang berhubungan dengan pendefinisian suatu struktur
database, dalam hal ini database dan table. Perintah SQL
yang termasuk dalam DDL antara lain : CREATE, ALTER,
RENAME, DROP.
• DML atau Data Manipulation Language. DML merupakan
perintah SQL yang berhubungan dengan manipulasi atau
pengolahan data atau record dalam table. Perintah SQL yang
termasuk dalam DML antara lain : SELECT, INSERT, UPDATE,
DELETE.
• DCL atau Data Control Language. DCL merupakan perintah
SQL yang berhubungan dengan pengaturan hak akses user,
baik terhadap server, database, table maupun field. Perintah
SQL yang termasuk dalam DCL antara lain : GRANT, REVOKE.
Pengenalan SQL (3)
• Contoh perintah pada SQL
Pengenalan SQL (4)
• Contoh perintah pada SQL
Data Definition Language
(1)
• Perintah SQL yang termasuk pada Data
Definition Language (DDL) adalah CREATE,
ALTER, RENAME, DROP.
• Penggunaan DDL mengikuti model database
dan struktur tabel database seperti pada
gambar berikut:
Data Definition Language
(2)
• Dari gambar model database di atas, langkah-
langkah selanjutnya adalah:
• Membuat struktur database (perintah: CREATE DATABASE
Nama_Database;).
• Membuat struktur tabel yang akan digunakan untuk
menyimpan data. Dengan perintah:
• CREATE TABLE nama_tabel ( column1 datatype, column2
datatype, column3 datatype, … );
• Pada prakteknya, saat DDL dieksekusi, RDBMS akan:
• Membuat file fisik yang akan menyimpan database
tersebut.
• Format file yang menyimpan database ini akan berbeda
pada masing-masing aplikasi RDBMS.
Data Definition Language
(3)
• Tipe data menentukan jenis data yang dapat
disimpan dalam satu kolom pada tabel
database.
• Pemilihan tipe data tergantung dari tujuan
penggunaan kolom tersebut.
• Pemilihan tipe data perlu memperhatikan
jenis pengurutan data dan pengambilan data
dari database.
Data Definition Language
(4)
• Tipe data yang umum pada database:
Data Manipulation
Language (1)
• Perintah pada Data Manipulation Language
(DML) meliputi:
• Penambahan baris pada tabel
• Menyimpan perubahan tabel
• Menampilkan isi baris tabel
• Memperbaharui baris tabel
• Menghapus baris tabel
• Menyisipkan baris tabel dengan kondisi tertentu.
Data Manipulation
Language (2)
• Perintah untuk menambahkan baris data
pada tabel adalah:
• INSERT. Sintaksnya adalah:
• INSERT INTO nama_tabel (kolom1, kolom2, …, kolomN)
VALUES (value1, value2, …, valueN);
• Ketika menambahkan data, perhatikan bahwa:
• Isi baris berada di dalam tanda kurung ()
• Karakter dan tanggal dimasukkan menggunakan tanda
apostrof (“”)
• Data angka tidak menggunakan tanda apostrof
• Nama atribut dipisahkan oleh tanda koma ( , )
• Sebuah data diperlukan untuk setiap kolom
• Gunakan nilai NULL untuk data yang tidak
diketahui.
Data Manipulation
Language (3)
• Perubahan pada isi tabel tidak akan
tersimpan secara fisik pada hardisk hingga
salah satu kondisi berikut terpenuhi:
• Database ditutup.
• Program ditutup.
• Perintah COMMIT dieksekusi.
• Sintaksnya: COMMIT [WORK];
• Perintah COMMIT akan menyimpan secara
permanen setiap perubahan yang dibuat
pada tabel database.
Data Manipulation
Language (4)
• Menampilkan isi tabel, menggunakan
perintah SELECT.
• Sintaksnya:
• SELECT daftar_nama_kolom FROM nama_tabel;
• Daftar_nama_kolom mewakili satu atau lebih
kolom yang akan ditampilkan. Format
penulisan untuk pemanggilan lebih dari satu
kolom adalah nama-nama kolom dipisahkan
dengan tanda koma.
• Tanda asterisk (*) bisa digunakan untuk
menampilkan data dari semua kolom dalam
tabel.
Data Manipulation
Language (5)
• Mengubah dan memperbaharui isi tabel
menggunakan perintah UPDATE.
• Sintaks:
• UPDATE nama_tabel SET namakolom = data [,
namakolom = data] [WHERE daftar_kondisi];
• Jika lebih dari satu kolom yang diperbaharui
dalam satu baris, pemisahannya
menggunakan tanda koma.
Data Manipulation
Language (6)
• Menghapus isi tabel menggunakan perintah
DELETE
• Sintaksnya:
• DELETE FROM nama_tabel [WHERE kondisi];
• [WHERE kondisi] bersifat optional. Tetapi bila
opsi ini tidak digunakan, perintah DELETE
akan menghapus semua data di dalam
nama_tabel.
Data Manipulation
Language (7)
• Menyisipkan baris tabel juga dapat dilakukan
dengan subquery pada perintah SELECT.
• Sintaksnya:
• INSERT INTO nama_tabel SELECT daftar_kolom
FROM nama_tabel;
Contoh Aplikasi RDBMS
Pengenalan NoSQL (1)
• RDBMS sudah digunakan sangat luas hingga
saat ini.
• Namun, RDBMS tidak dikembangkan dalam
konsep aplikasi terdistribusi. Hal ini
dikarenakan:
• Perintah join pada RDBMS sangat berat.
• Susah untuk dikembankan secara horizontal.
• Terjadi ketidakcocokan impedansi.
• Sangat mahal (dari sisi biaya aplikasi, perangkat
keras dan perawatannya).
Pengenalan NoSQL (2)
• Perkembangan teknologi saat ini
menimbulkan trend-trend
Pengenalan NoSQL (3)
• Trend-trend tersebut semakin susah dipenuhi dengan
menggunakan RDBMS.
• Kemudian diperkenalkan teknologi database yang
baru berbasis pada NoSQL.
• NoSQL adalah sebuah DBMS yang menyediakan
mekanisme untuk menyimpan dan memanggil data
yang memiliki batas konsistensi yang rendah
disbanding dengan RDBMS.
• NoSQL biasanya merujuk pada kepanjangan
“NotOnlySQL” untuk memperkuat paradigma bahwa
system ini juga mengijinkan penggunaan sintaks
yang mirip dengan SQL.
Pengenalan NoSQL (4)
• Karakteristik dari database NoSQL:
• NoSQL menghindari:
• Overhead pada transaksi ACID
• Kompleksitas query SQL
• Keberadaan DBA
• Adanya proses transaksi
• NoSQL menyediakan:
• Kemudahan dan perubahan yang lebih sering pada
Database
• Kecepatan pengembangan aplikasi
• Ukuran data yang besar (seperti Google)
• Schema yang lebih sedikit.
Pengenalan NoSQL (5)
• Penggunaan NoSQL jika:
• Model RDBMS terlalu membatasi
• Dukungan ACID tidak terlalu dibutuhkan
• Impedansi Object-to-Relational (O/R)
• Aplikasi bersifat terdistribusi
• Pencatatan data berasal dari sumber terdistribusi
• Menyimpan even atau temporal data
• Data memiliki skema yang fleksibel
• NoSQL tidak dapat digunakan jika:
• Menggunakan data finansial
• Membutuhkan kesesuaian dengan ACID
• Merupakan data bisnis yang kritikal
Pengenalan NoSQL (6)
• Database NoSQL diklasifikasikan ke dalam 4
data model:
• Key-value
• Document
• Column Family
• Graph
• Setiap data model memiliki bahasa query
masing-masing.
Pengenalan NoSQL (7)
• Database NoSQL dengan model Key-Value merupakan
database NoSQL yang paling umum.
• Ide utamanya adalah menggunakan sebuah tabel hash.
• Data akses (value) menggunakan string yang disebut
key.
• Data tidak memiliki format khusus.
• Model Data: pasangan (key, value)
• Operasi dasar:
• Insert(key, value),
• Fetch(key)
• Update(key)
• Delete(key)
Pengenalan NoSQL (8)
• Database NoSQL berbasis Document
memasangkan sebuah key dengan data
yang memiliki struktur yang kompleks.
• Data indeks mengikuti konsep B-Trees.
• Document bisa mengandung banyak
pasangan key-value atau pasangan key-
array atau dokumen yang bersarang.
Pengenalan NoSQL (9)
• Contoh Database NoSQL berbasis Document
Pengenalan NoSQL (10)
• Database NoSQL berbasis
Column memiliki instan
data yang paling kecil.
• Database NoSQL berbasis
Column mengandung
nama, data dan timestamp
Pengenalan NoSQL (11)
• Database NoSQL berbasis
Graph mengikuti konsep
Graph Theory.
• Bisa dikembangkan secara
vertical dan tidak memiliki
cluster.
• Mengaplikasikan konsep
Transaksi dan memenuhi
kaidah ACID.
Perbandingan SQL dan
NoSQL
Jenis-jenis Aplikasi Database NoSQL
(1)
Jenis-jenis Aplikasi Database NoSQL
(2)

Anda mungkin juga menyukai