Anda di halaman 1dari 23

DBMS NO SQL

Dibuat Oleh:
M. Akbar Muzakynur 2210511016 Miftah Rizky aulia 2210511022
Hary capri 2210511023 Irwan Zega 2210511014
M Dihya A 2210511035 Andes Kurnia2210511029
Google Cloud Firestore adalah layanan database yang
dikeluarkan oleh Google yang menggunakan model
data berbasis dokumen (document-based data model).
Pada model data ini, data disimpan dalam bentuk
dokumen yang memiliki struktur hierarki yang
fleksibel, mirip dengan format JSON. Setiap dokumen
memiliki kunci dan nilai, seperti pasangan kunci-nilai
di dalam objek JSON.
Document-based Data Model
Document-based Data Model

Document-based data model adalah model database NoSQL yang menyimpan dan
mengelola data dalam bentuk dokumen. Model ini sangat cocok untuk aplikasi web
modern yang membutuhkan fleksibilitas dalam penyimpanan data yang kompleks dan
beragam. Dalam model ini, setiap dokumen diidentifikasi dengan sebuah kunci unik dan
dapat berisi properti dan nilai yang berbeda-beda, tergantung pada kebutuhan aplikasi.
Contoh properti yang mungkin ada dalam dokumen termasuk nama, alamat, nomor
telepon, email, dan sebagainya.
Perbandingan Document-based Data Model dengan model data relasional
Perbandingan Document-based Data Model dengan model data relasional

● Struktur data yang fleksibel: Data dalam model document-based tidak harus mengikuti struktur yang ditentukan
oleh skema yang kaku, sehingga memungkinkan data untuk berubah atau bertambah seiring waktu. Di sisi lain,
model data relasional memerlukan struktur data yang sudah terdefinisi secara jelas dan skema yang ketat.
● Performa skalabilitas: Model data relasional biasanya memiliki kinerja yang lebih baik untuk aplikasi dengan
kueri yang kompleks, tetapi document-based data model lebih cocok untuk aplikasi dengan jumlah data yang
sangat besar dan tingkat permintaan yang tinggi. Model document-based memungkinkan horizontal scaling,
sehingga memungkinkan untuk meningkatkan performa dengan menambahkan lebih banyak server.
● Pengolahan Transaksi: Model data relasional memiliki dukungan yang lebih baik untuk pengolahan transaksi
dan mengelola konsistensi data, sehingga cocok untuk aplikasi yang membutuhkan integritas data yang tinggi.
Di sisi lain, model document-based lebih cocok untuk aplikasi yang memerlukan fleksibilitas dalam struktur
data dan kemudahan dalam menambahkan atau memodifikasi data.
● Pemrosesan Data: Model data relasional biasanya lebih cocok untuk aplikasi yang memerlukan pengolahan data
yang kompleks dengan banyak tabel dan hubungan antara tabel. Di sisi lain, model document-based lebih cocok
untuk aplikasi yang membutuhkan manipulasi data yang fleksibel dan pemrosesan data semi-struktural.
Integritas Layanan
Integritas Layanan Cloud Firestore
Cloud Firestore dapat terintegrasi dengan berbagai layanan GCP lainnya seperti Cloud
Functions, Cloud Storage, dan BigQuery. Dengan terintegrasi, pengguna dapat mengambil
data dari Cloud Firestore dan melakukan beberapa aksi pada data tersebut menggunakan
Cloud Functions. Selain itu, Cloud Storage dapat digunakan untuk menyimpan file yang
terkait dengan data pada Cloud Firestore. Misalnya, jika pengguna ingin menyimpan
gambar untuk produk dalam database Firestore, pengguna dapat menyimpan gambar
tersebut di Cloud Storage dan menghubungkannya dengan data produk di Firestore. Selain
itu, BigQuery juga dapat digunakan untuk melakukan analisis data pada Cloud Firestore,
seperti menghitung rata-rata harga produk atau jumlah pesanan untuk produk tertentu.
Arsitektur Cloud Firestore
Arsitektur pada Cloud Firestore
Cloud Firestore memiliki arsitektur terdistribusi, yaitu data disimpan dan didistribusikan
di beberapa server yang terhubung. Fitur auto-scaling memungkinkan penambahan atau
pengurangan server secara otomatis sesuai dengan permintaan pengguna. Data diatur
dalam dokumen dan koleksi, dengan dokumen sebagai unit dasar data yang dikelola.
Cloud Firestore juga menawarkan fitur konsistensi yang kuat dan data dapat diakses
secara real-time dan diubah dengan mudah menggunakan API. Dengan fitur-fiturnya,
Cloud Firestore sangat ideal untuk membangun aplikasi scalable dan dapat diandalkan
Model Data Cloud Firestore
Model Data Cloud Firestore
Cloud Firestore adalah database NoSQL berorientasi dokumen. Tidak seperti database SQL, Cloud
Firestore tidak memiliki tabel atau baris. Sebagai gantinya, data disimpan dalam berbagai
dokumen, yang disusun menjadi koleksi.
Setiap dokumen berisi kumpulan key-value pair. Cloud Firestore dioptimalkan untuk menyimpan
koleksi besar berbagai dokumen kecil.
Semua dokumen harus disimpan dalam koleksi. Dokumen dapat berisi subkoleksi dan objek
bertingkat. Sementara itu, subkoleksi dan objek bertingkat dapat mencakup kolom standar
(misalnya, string) atau objek kompleks (misalnya, daftar).
Koleksi dan dokumen dibuat secara implisit di Cloud Firestore. Cukup tetapkan data ke dokumen
dalam koleksi. Jika koleksi atau dokumen tidak ada, Cloud Firestore akan membuatnya.
Dokumen

Unit penyimpanan di Cloud Firestore adalah dokumen. Dokumen adalah data ringan yang
berisi kolom, yang dipetakan ke nilai. Setiap dokumen diidentifikasi dengan nama.

Dokumen yang mewakili pengguna alovelace mungkin terlihat seperti ini:

> alovelace
first : "Ada"
last : "Lovelace"
born : 1815
Koleksi
Dokumen berada dalam koleksi, yang merupakan container-nya. Misalnya, Anda dapat memiliki
koleksi users untuk menampung berbagai pengguna, yang masing-masing diwakili oleh dokumen:

>> users
> alovelace
first : "Ada"
last : "Lovelace"
born : 1815
> aturing
first : "Alan"
last : "Turing"
born : 1912
Referensi

Setiap dokumen di Cloud Firestore dikenali secara unik berdasarkan lokasinya di dalam
database. Contoh sebelumnya menunjukkan dokumen alovelace dalam koleksi users.
Untuk merujuk ke lokasi ini dalam kode Anda, buat referensi yang menunjuk padanya.

import { doc } from "firebase/firestore";

const alovelaceDocumentRef = doc(db, 'users', 'alovelace');


Data Hierarkis

Untuk memahami cara kerja struktur data hierarkis di Cloud Firestore, bayangkan contoh
suatu aplikasi chat yang memiliki pesan dan ruang chat.

Anda dapat membuat koleksi yang disebut rooms untuk menyimpan berbagai ruang chat:

>> rooms
> roomA
name : "my chat room"
> roomB
...
Subkoleksi
Cara terbaik untuk menyimpan pesan dalam skenario ini adalah dengan menggunakan subkoleksi.
Subkoleksi adalah koleksi yang terkait dengan dokumen tertentu.
Anda dapat membuat subkoleksi yang disebut messages untuk setiap dokumen ruang di koleksi rooms:
collections_bookmark rooms
class roomA
name : "my chat room"

collections_bookmark messages
class message1
from : "alex"
msg : "Hello World!"
class message2
...
class roomB
...
Cara Kerja Database
Cara Kerja pada Cloud Firestore
Setelah model data NoSQL Cloud Firestore, simpan data Anda dalam dokumen yang berisi
pemetaan kolom terhadap nilai. Dokumen ini disimpan dalam koleksi yang berisi container
yang dapat digunakan untuk mengatur data dan membuat kueri, dan mendukung banyak jenis
data mulai dari string sederhana hingga objek bertingkat. Anda juga dapat membangun struktur
data hierarkis yang berskala sesuai dengan database. Pembuatan kueri di Cloud Firestore
bersifat ekspresif, efisien, dan fleksibel. Lalu, Buatlah kueri dangkal untuk mengambil data
pada tingkat dokumen tanpa perlu mengambil keseluruhan koleksi atau subkoleksi bertingkat.
Tambahkan pengurutan, penyaringan, dan batasan pada kueri, Tambahkan listener realtime
untuk menjaga data di aplikasi Anda tetap terkini. Lalu terakhir, Lindungi akses data Anda di
Cloud Firestore dengan Firebase Authentication dan Aturan Keamanan Cloud Firestore untuk
Android, iOS, dan JavaScript, atau Pengelolaan Akses dan Identitas (IAM) untuk bahasa sisi
server.
Keamanan Cloud Firestore
Sistem Keamanan pada Cloud Firestore
Keamanan dalam Cloud Firestore terdiri dari otorisasi, autentikasi, enkripsi, dan audit log.
Otorisasi memungkinkan pengguna mengontrol akses ke data. Autentikasi memverifikasi
identitas pengguna sebelum memberikan akses ke data. Enkripsi melindungi data dari
peretasan atau pencurian data. Audit log mencatat setiap kegiatan pengguna pada data,
memungkinkan pengguna untuk melacak setiap perubahan dan mengidentifikasi potensi
masalah keamanan.
Kesimpulan
Kesimpulan
Secara garis besar Google Cloud Firestore menawarkan layanan database berbasis
dokumen yang memungkinkan pengguna untuk menyimpan data dalam dokumen yang
memiliki struktur hierarki yang fleksibel, mirip dengan format JSON. Layanan ini
menawarkan performa yang skalabel dan pengolahan transaksi yang handal. Selain itu,
Cloud Firestore juga terintegrasi dengan layanan GCP lainnya seperti Cloud Functions,
Cloud Storage, dan BigQuery untuk memproses data secara efisien. Dengan fitur-fitur
yang lengkap dan integrasi yang kuat, Cloud Firestore dapat menjadi pilihan yang tepat
untuk memenuhi kebutuhan penyimpanan dan pemrosesan data pada aplikasi atau sistem
yang kompleks.

Anda mungkin juga menyukai