Manajemen Big Data PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document provides an introduction to big data management, covering definitions, importance, and different aspects like volume, velocity, and variety. It also touches upon challenges like data privacy and infrastructure needs, and illustrates examples of big data applications in various sectors.
Full Transcript
**BAGIAN \#1: PENGANTAR MANAJEMEN BIG DATA** 1. **APA ITU BIG DATA** - Definisi: Big data merujuk pada kumpulan data yang sangat banyak, bergerak cepat, dan beragam, sehingga alat manajemen data tradisional tidak lagi memadai. - Konteks Historis: Istilah \"Big Data\" muncul seiring d...
**BAGIAN \#1: PENGANTAR MANAJEMEN BIG DATA** 1. **APA ITU BIG DATA** - Definisi: Big data merujuk pada kumpulan data yang sangat banyak, bergerak cepat, dan beragam, sehingga alat manajemen data tradisional tidak lagi memadai. - Konteks Historis: Istilah \"Big Data\" muncul seiring dengan perkembangan teknologi untuk menangani masuknya data yang lebih signifikan berkat kemajuan seperti internet dan IoT. - Analogi di Dunia Nyata: Membandingkan big data dengan lautan yang sangat luas---sulit untuk ditampung, diproses, dan dinavigasi tanpa alat yang tepat. 2. **PENTINGNYA MANAJEMEN BIG DATA** - Poin-poin Utama: - Pengambilan Keputusan: Keputusan berdasarkan data meningkatkan hasil di berbagai sektor seperti kesehatan, keuangan, dan pemasaran. - Efisiensi Operasional: Merampingkan proses menggunakan analitik prediktif dan otomatisasi. - Wawasan Pelanggan: Personalisasi pengalaman pelanggan dan peningkatan kepuasan. - Contoh: Dalam perawatan kesehatan, manajemen data membantu memprediksi wabah penyakit dan kebutuhan pasien. - Tantangan: - Privasi Data: Mematuhi peraturan seperti GDPR (Peraturan Perlindungan Data Umum). - Kebutuhan Infrastruktur: Meningkatkan kemampuan penyimpanan dan pemrosesan data. 3. **3V DARI BIG DATA** - Volume: Menjelaskan skala data yang dihasilkan (misalnya, terabyte atau petabyte). - Velocity: Kecepatan data yang dihasilkan dan perlu diproses (misalnya, pemrosesan real-time dari sensor atau media sosial). - Variety: Kisaran tipe data, termasuk data terstruktur, semi-terstruktur, dan tidak terstruktur. - Contoh: - Volume: Data yang dihasilkan oleh lalu lintas internet global. - Velocity: Aliran data Twitter. - Variety: Menggabungkan data video, posting media sosial, dan catatan transaksi. 4. **3V TAMBAHAN DARI BIG DATA** - Veracity: - Definisi: Keandalan dan kualitas data. - Tantangan: Berurusan dengan data yang tidak pasti, tidak tepat, atau tidak lengkap. - Value: - Definisi: Wawasan bermakna yang dapat diekstraksi dari data. - Signifikansi: Memastikan nilai ekonomi atau strategis data. 5. **DATA VOLUME TINGGI** - "Big Data" dalam pengertian volume besar menjadi hal yang umum di banyak bidang. - aplikasi perusahaan - Tugas web - E-Sains - Hiburan digital - Pemrosesan Bahasa Alami (khususnya untuk aplikasi Humaniora - misalnya Hathi Trust) - Analisis Jaringan Sosial - Dll. 6. **DATA VOLUME TINGGI: CONTOH DUNIA NYATA** - Gudang Data Walmart: Mengelola jutaan transaksi setiap hari, memberikan wawasan tentang perilaku konsumen. - Basis Data Web Google: Menyimpan dan mengindeks sebagian besar konten web global. - NASA EOSDIS: Data dari sistem pengamatan Bumi yang mengumpulkan hingga eksabita data. - Platform Media Sosial: Facebook memproses miliaran konten setiap hari. 7. **DATA VOLUME TINGGI: KESULITAN** - Kemampuan Penelusuran - Analisis yang berjalan sangat lama - Mengarahkan proses yang panjang - Basis Data Terfederasi/Terdistribusi - Kemampuan pencarian IR dan item - Memperbarui dan menormalkan data - Mengubah persyaratan dan struktur 8. **DATA KECEPATAN/VELOCITY TINGGI** - Sumber: - Media sosial (misalnya, data firehose Twitter). - Sistem dan log web untuk pemantauan jaringan. - Mengumpulkan data \"clickstream\" dari situs web. - Platform perdagangan frekuensi tinggi yang sangat penting dalam hitungan milidetik. - Persyaratan: - Kemampuan penyerapan dan pemrosesan waktu nyata. - Kemampuan beradaptasi untuk menangani lonjakan data dan mengintegrasikan toleransi kesalahan. - Skalabilitas mudah untuk memenuhi pertumbuhan dan puncak permintaan. - Mendukung berbagai analitik waktu nyata (atau \"hampir waktu nyata\") - Kasus Penggunaan: Sistem deteksi penipuan kartu kredit menganalisis transaksi dalam hitungan milidetik untuk menemukan anomali. - Sumber Data: - Dihasilkan oleh mesin (misalnya, sensor IoT). - Posting media sosial (misalnya, teks, gambar, video). - Catatan terstruktur seperti tabel basis data. - Tantangan: Menggabungkan data dengan format dan pengenal yang berbeda. - Solusi: Alat dan teknologi integrasi data yang menormalkan dan memproses beragam set data. 9. **VARIASI/VARIETY TINGGI** - Big data dapat berasal dari berbagai sumber, misalnya: - Sensor peralatan: Transmisi sensor medis, manufaktur, transportasi, dan mesin lainnya - Dihasilkan oleh mesin: Rekaman detail panggilan, log web, pembacaan meter pintar, transmisi Sistem Pemosisian Global (GPS), dan rekaman sistem perdagangan - Media sosial: Aliran data dari situs media sosial seperti Facebook dan situs miniblog seperti Twitter 10. **MEMASTIKAN KEBENARAN/VERACITY DATA** - Definisi: Kebenaran mengacu pada kepercayaan dan kualitas data. - Pentingnya: Data yang akurat sangat penting untuk analisis dan pengambilan keputusan yang andal. - Tantangan: - Menangani ketidakkonsistenan dan ambiguitas dalam data. - Memastikan asal dan garis keturunan data. - Metode: - Pembersihan Data: Menghapus duplikat dan mengoreksi kesalahan. - Proses Validasi: Menerapkan pemeriksaan untuk memastikan keakuratan data. - Pelacakan Asal: Menyimpan catatan sumber data dan transformasi. - Alat: Platform kualitas data seperti Talend dan Informatica 11. **PENGENALAN VALUE** - Definisi: Nilai diperoleh dari mengubah data menjadi wawasan yang dapat ditindaklanjuti yang menguntungkan organisasi. - Pentingnya: Nilai sebenarnya dari data terwujud ketika data tersebut menginformasikan strategi bisnis dan mendorong pertumbuhan. - Contoh: - Ritel: Menggunakan data pelanggan untuk mengoptimalkan inventaris dan mempersonalisasi pemasaran. - Layanan kesehatan: Menganalisis data pasien untuk meningkatkan hasil perawatan. 12. **CONTOH DI DUNIA NYATA : PEMANFAATAN BIG DATA WALMART** - Tinjauan Umum: bagaimana Walmart memanfaatkan big data untuk meningkatkan operasi dan pengalaman pelanggannya. - Aplikasi: - Manajemen Inventaris: Memanfaatkan analisis prediktif untuk memperkirakan permintaan, memastikan tingkat stok yang optimal dan mengurangi stok berlebih atau kehabisan stok. - Pemasaran yang Dipersonalisasi: Menganalisis riwayat pembelian pelanggan dan perilaku penelusuran untuk menyesuaikan promosi dan rekomendasi, meningkatkan keterlibatan dan penjualan pelanggan. - Optimalisasi Rantai Pasokan: Memantau data real-time dari pemasok dan logistik untuk merampingkan rantai pasokan, mengurangi biaya dan meningkatkan waktu pengiriman. - Hasil: - Peningkatan kepuasan pelanggan melalui pengalaman yang dipersonalisasi. - Peningkatan efisiensi operasional yang mengarah pada penghematan biaya. - Peningkatan penjualan dan daya saing pasar. 13. **Mengintegrasikan 5V: Pendekatan Holistik terhadap Pemanfaatan Big Data** - Pentingnya menangani kelima karakteristik tersebut---Volume, Velocity, Variety, Veracity, dan Value---untuk manajemen big data yang efektif. - Pendekatan komprehensif yang menangani kelima karakteristik tersebut memungkinkan organisasi untuk sepenuhnya memanfaatkan potensi big data, yang mengarah pada pengambilan keputusan yang tepat dan keunggulan kompetitif. - Strategi: - Volume: Terapkan solusi penyimpanan yang dapat diskalakan seperti komputasi awan dan basis data terdistribusi untuk menangani kumpulan data besar. - Velocity/Kecepatan: Terapkan kerangka kerja pemrosesan data waktu nyata seperti Apache Kafka dan Spark Streaming untuk mengelola arus masuk data yang cepat. - Variety/Keragaman: Manfaatkan alat dan teknik integrasi data untuk memproses dan menganalisis berbagai jenis data, termasuk data terstruktur, tidak terstruktur, dan semi-terstruktur. - Veracity/Kebenaran: Tetapkan kebijakan tata kelola data yang kuat dan gunakan alat pembersihan data untuk memastikan keakuratan dan keandalan data. - Value/Nilai: Manfaatkan teknologi canggih **\ ** **BAGIAN \#2: PENGUMPULAN DAN PENYERAPAN DATA** 1. **BERBAGAI SUMBER DATA** 2. ![](media/image2.png)**INTEGRASI RAGAM** 3. **LINGKUNGAN SAAT INI** - Analisis Data sebagai pusat laba Tidak lagi hanya biaya -- mungkin seluruh bisnis seperti dalam Kecerdasan Bisnis - Permintaan pengembang yang diperluas Penggunaan yang lebih luas berarti persyaratan yang lebih luas, dan minat yang lebih sedikit dari pengembang dalam rincian interaksi DBMS tradisional - Pergeseran Arsitektur dalam Komputasi - Perpindahan ke arsitektur paralel baik secara internal (pada chip individual)-- Dan eksternal - Komputasi Awan/Komputasi Grid 4. **METODE PENGUMPULAN DATA** - Gambaran Umum: Memperkenalkan pentingnya pengumpulan data sebagai langkah pertama dalam siklus hidup big data. - Metode: - Web Scraping: Mengekstrak data dari situs web menggunakan alat seperti Beautiful Soup atau Scrapy. - API: Mengakses data melalui Antarmuka Pemrograman Aplikasi yang disediakan oleh layanan seperti Twitter atau Google Maps. - Perangkat IoT: Mengumpulkan data dari perangkat Internet of Things seperti sensor dan peralatan pintar. - Entri Manual: Input data oleh individu, sering digunakan dalam survei atau formulir. - Tantangan: - Memastikan kualitas dan keakuratan data. - Menangani data dalam jumlah besar dari berbagai sumber. 5. **TEKNIK PENYERAPAN DATA** - Definisi: Pengambilan data adalah proses memindahkan data dari berbagai sumber ke dalam sistem penyimpanan tempat data tersebut dapat diakses dan dianalisis. - Teknik: - Pengambilan Batch: Mengumpulkan dan memproses data dalam blok besar pada interval terjadwal. Cocok untuk skenario di mana pemrosesan waktu nyata tidak penting. - Pengambilan Real-Time (Streaming): Memproses data saat data tersebut tiba, memungkinkan analisis langsung. Penting untuk aplikasi yang memerlukan wawasan data terkini. - Alat: - Batch: Apache Sqoop, digunakan untuk mentransfer data massal antara Hadoop dan penyimpanan data terstruktur. - Real-Time: Apache Kafka, platform streaming terdistribusi yang mampu menangani umpan data real-time. 6. **TANTANGAN & MANFAAT** - Tantangan Utama: - Kualitas Data: Memastikan keakuratan dan konsistensi. - Skalabilitas: Mengelola infrastruktur seiring pertumbuhan data. - Privasi dan Keamanan Data: Kepatuhan terhadap hukum dan perlindungan data. - Manfaat Utama: - Wawasan Pasar yang Ditingkatkan: Mengidentifikasi tren dan pola. - Kemampuan Prediktif: Memanfaatkan analitik untuk memperkirakan hasil. - Contoh: - Sektor ritel menggunakan analisis prediktif untuk manajemen inventaris. 7. **TANTANGAN DALAM PENGUMPULAN DAN PENYERAPAN DATA** - Tantangan Umum: - Kualitas Data: Memastikan keakuratan, kelengkapan, dan keandalan data yang dikumpulkan. - Skalabilitas: Menangani peningkatan volume data tanpa penurunan kinerja. - Integrasi Data: Menggabungkan data dari berbagai sumber menjadi kumpulan data yang kohesif. - Latensi: Meminimalkan penundaan dalam penyerapan data untuk mendukung analisis tepat waktu. - Solusi: - Validasi Data: Menerapkan pemeriksaan untuk memverifikasi keakuratan data selama pengumpulan. - Infrastruktur yang Dapat Diskalakan: Memanfaatkan solusi berbasis cloud yang dapat secara dinamis menskalakan sumber daya. - Proses ETL: Menggunakan proses Ekstraksi, Transformasi, Pemuatan untuk mengintegrasikan dan menyiapkan data untuk analisis. - Sistem Pemantauan: Menyiapkan pemantauan waktu nyata untuk mendeteksi dan mengatasi hambatan penyerapan. 8. **SOLUSI PENYIMPANAN DATA** - Gambaran Umum: Menjadi peran penting penyimpanan data dalam siklus hidup big data, yang menekankan perlunya solusi yang efisien dan terukur. - Jenis Penyimpanan: - Penyimpanan Lokal: Pusat data tradisional yang dikelola oleh organisasi. Menawarkan kontrol tetapi mungkin kurang skalabel. - Penyimpanan Cloud: Layanan seperti Amazon S3, Google Cloud Storage, dan Microsoft Azure Blob Storage. Memberikan skalabilitas dan fleksibilitas. - Penyimpanan Hibrida: Menggabungkan penyimpanan lokal dan cloud untuk menyeimbangkan kontrol dan skalabilitas. - Pertimbangan: - Biaya: Mengevaluasi total biaya kepemilikan, termasuk infrastruktur dan pemeliharaan. - Keamanan: Memastikan perlindungan data melalui enkripsi dan kontrol akses. - Kepatuhan: Mematuhi peraturan seperti GDPR atau HIPAA. 9. **PRAKTIK MANAJEMEN DATA** - Definisi: Fokus pada manajemen data sebagai praktik pengorganisasian dan pemeliharaan proses data untuk memenuhi kebutuhan siklus hidup informasi yang berkelanjutan. - Praktik Utama: - Tata Kelola Data: Menetapkan kebijakan dan prosedur untuk memastikan kualitas, keamanan, dan kepatuhan data. - Manajemen Metadata: Memelihara data tentang data untuk memfasilitasi pemahaman dan penggunaan. - Manajemen Siklus Hidup Data: Mengelola data dari pembuatan hingga penghapusan, memastikannya tetap berguna dan patuh sepanjang siklus hidupnya. - Keamanan Data: Menerapkan langkah-langkah untuk melindungi data dari akses dan pelanggaran yang tidak sah. - Alat: - Tata Kelola Data: Collibra, platform untuk tata kelola dan pengkatalogan data. - Manajemen Metadata: Apache Atlas, serangkaian layanan tata kelola dasar inti yang dapat diskalakan dan diperluas. 10. **PENYIMPANAN & MANAJEMEN DATA** Berfokus pada peran penting penyimpanan dan pengelolaan data dalam siklus hidup data besar, dengan menekankan perlunya sistem yang efisien, terukur, dan aman untuk menangani sejumlah besar data yang beragam. - Komponen Utama: - Solusi Penyimpanan: - Sistem Berkas Terdistribusi: Sistem seperti Hadoop Distributed File System (HDFS) yang menyimpan data di beberapa node, memastikan toleransi kesalahan dan skalabilitas. - Data Lakes: Repositori terpusat yang memungkinkan penyimpanan data terstruktur dan tidak terstruktur dalam skala apa pun, memfasilitasi analisis data yang fleksibel. - Penyimpanan Awan: Memanfaatkan layanan awan untuk solusi penyimpanan yang dapat diskalakan dan hemat biaya, memungkinkan akses dan integrasi yang mudah. - Praktik Manajemen Data: - Tata Kelola Data: Menetapkan kebijakan dan prosedur untuk memastikan kualitas, keamanan, dan kepatuhan data. - Manajemen Metadata: Memelihara informasi tentang data untuk memfasilitasi penemuan, pemahaman, dan penggunaan yang efektif. - Integrasi Data: Menggabungkan data dari berbagai sumber untuk memberikan tampilan terpadu, penting untuk analisis yang komprehensif. - Tantangan: - Skalabilitas: Mengelola pertumbuhan data eksponensial sambil mempertahankan kinerja. - Keragaman Data: Menangani beragam jenis dan format data dari berbagai sumber. - Keamanan dan Privasi: Melindungi informasi sensitif dan memastikan kepatuhan terhadap peraturan. - Praktik Terbaik: - Menerapkan Kerangka Tata Kelola Data yang Kuat: Untuk memastikan integritas dan kepatuhan data. - Memanfaatkan Solusi Penyimpanan yang Dapat Diskalakan: Seperti penyimpanan awan dan sistem berkas terdistribusi untuk menangani kumpulan data besar. - Memantau dan Mengoptimalkan Kinerja Penyimpanan Secara Berkala: Untuk menjaga efisiensi dan efektivitas biaya. 11. **TEKNIK PENGOLAHAN DATA** - Pemrosesan data dianggap sebagai langkah penting dalam mengubah data mentah menjadi informasi yang bermakna. - Teknik: - Pemrosesan Batch: Menangani data dalam jumlah besar pada interval yang dijadwalkan. Cocok untuk operasi yang tidak memerlukan pemrosesan data langsung. - Pemrosesan Aliran: Menganalisis data secara real-time saat data tersebut tiba, memungkinkan wawasan dan tindakan langsung. - Alat: - Batch: Apache Hadoop, kerangka kerja yang memungkinkan pemrosesan terdistribusi dari kumpulan data besar di seluruh kluster komputer. - Aliran: Apache Spark Streaming, yang memungkinkan pemrosesan aliran data langsung yang dapat diskalakan dan toleran terhadap kesalahan. 12. **METODE ANALISIS DATA** - Prihatin dengan pentingnya analisis data dalam mengekstrak wawasan yang dapat ditindaklanjuti dari data yang diproses. - Metode: - Analisis Deskriptif: Merangkum data historis untuk memahami apa yang telah terjadi. - Analisis Prediktif: Menggunakan model statistik dan teknik pembelajaran mesin untuk memperkirakan peristiwa di masa mendatang. - Analisis Preskriptif: Merekomendasikan tindakan berdasarkan wawasan prediktif untuk mencapai hasil yang diinginkan. - Alat: - Deskriptif: SQL untuk mengkueri basis data. - Prediktif: Pustaka Python seperti Scikit-learn untuk pembelajaran mesin. - Preskriptif: Alat pengoptimalan seperti IBM ILOG CPLEX. 13. **TEKNIK VISUALISASI DATA** Tekankan peran visualisasi data dalam membuat data kompleks lebih mudah diakses dan dipahami. - Teknik: - Bagan dan Grafik: Bagan batang, bagan garis, dan bagan pai untuk merepresentasikan distribusi dan tren data. - Peta panas: Representasi visual data yang nilainya digambarkan berdasarkan warna, berguna untuk menunjukkan besarnya fenomena. - Peta Geospasial: Memetakan data ke lokasi geografis untuk mengidentifikasi pola regional. - Alat: Tableau: Alat visualisasi data canggih yang memungkinkan pembuatan dasbor interaktif dan dapat dibagikan. Power BI: Layanan analitik bisnis Microsoft yang menyediakan visualisasi interaktif dan kemampuan intelijen bisnis. D3.js: Pustaka JavaScript untuk menghasilkan visualisasi data dinamis dan interaktif di peramban web. 14. **MENGINTEGRASIKAN PEMROSESAN, ANALISIS, DAN VISUALISASI** - Pentingnya: Menyoroti perlunya integrasi yang lancar antara pemrosesan data, analisis, dan visualisasi untuk memperoleh wawasan yang dapat ditindaklanjuti. - Strategi: - Platform Terpadu: Memanfaatkan platform yang menawarkan solusi menyeluruh, seperti Apache Spark untuk pemrosesan dan analisis, yang dipadukan dengan alat visualisasi seperti Tableau. - Otomatisasi: Menerapkan alur kerja otomatis yang memproses data, melakukan analisis, dan memperbarui visualisasi secara real-time. - Kolaborasi: Mendorong kolaborasi antara teknisi data, analis, dan pemangku kepentingan bisnis untuk memastikan wawasan yang dihasilkan dapat ditindaklanjuti dan selaras dengan tujuan bisnis. **BAGIAN \#3: TINJAUAN UMUM EKOSISTEM HADOOP** 1. **PENGENALAN EKOSISTEM HADOOP** - Gambaran Umum: Memperkenalkan Apache Hadoop sebagai kerangka dasar untuk penyimpanan dan pemrosesan terdistribusi kumpulan data besar. - Komponen: - HDFS (Hadoop Distributed File System): Sistem penyimpanan yang dapat diskalakan dan toleran terhadap kesalahan yang dirancang untuk menangani file besar di beberapa mesin. - MapReduce: Model pemrograman untuk memproses kumpulan data besar dengan algoritma paralel dan terdistribusi. - YARN (Yet Another Resource Negotiator): Mengelola sumber daya dan menjadwalkan tugas di seluruh klaster. - Hadoop Common: Menyediakan utilitas dan pustaka umum yang mendukung modul Hadoop lainnya. 2. **HADOOP DISTRIBUTED FILE SYSTEM (HDFS)** - Fungsionalitas: HDFS adalah sistem penyimpanan terdistribusi yang membagi file besar menjadi blok dan mendistribusikannya ke seluruh node dalam sebuah kluster. - Fitur: - Skalabilitas: Mudah diperluas dengan menambahkan lebih banyak node. - Toleransi Kesalahan: Mereplikasi blok data ke beberapa node untuk mencegah kehilangan data. - Throughput Tinggi: Dioptimalkan untuk set data besar dan akses data streaming. - Arsitektur: - NameNode: Mengelola metadata dan mengatur akses ke file. - DataNode: Menyimpan blok data aktual dan menangani permintaan baca/tulis. 3. **HDFS ARCHITECTURE** 4. **MODEL PEMROGRAMAN PETA REDUKSI/MAP REDUCE** - Konsep: Jelaskan MapReduce sebagai model yang memproses data dalam dua langkah utama: - Map: Memproses data input dan menghasilkan pasangan kunci-nilai. - Reduce: Menggabungkan output dari langkah Map untuk menghasilkan hasil akhir. - Alur kerja: - Input Data: Data mentah disimpan dalam HDFS. - Map Function: Memproses data dan menghasilkan pasangan kunci-nilai antara. - Shuffle and Sort: Mengatur data antara berdasarkan kunci. - Reduce Function: Memproses data yang diurutkan untuk menghasilkan output akhir. - Output Data: Hasil disimpan kembali dalam HDFS. - Massively Parallel Processing (MPP): - MPP dulunya berarti Anda harus menulis banyak kode untuk mempartisi tugas dan data, menjalankannya pada mesin yang berbeda, dan menggabungkan kembali hasilnya. - Itu sekarang sebagian besar telah digantikan karena paradigma MapReduce 5. ![](media/image4.png)**PETA REDUKSI/MAP REDUCE FLOWCHART** 6. **CONTOH PETA REDUKSI/MAP REDUCE FLOWCHART** 7. **YARN: PENGELOLA SUMBER DAYA DI HADOOP** - YARN adalah lapisan manajemen sumber daya Hadoop yang mengalokasikan sumber daya sistem ke berbagai aplikasi. - Komponen: - ResourceManager: Mengelola sumber daya dan menjadwalkan aplikasi. - NodeManager: Memantau penggunaan sumber daya pada masing-masing node. - ApplicationMaster: Mengelola siklus hidup aplikasi. - Manfaat: - Skalabilitas: Mendukung banyak aplikasi dan pengguna. - Efisiensi: Mengoptimalkan pemanfaatan sumber daya di seluruh klaster. - Fleksibilitas: Memungkinkan integrasi berbagai model pemrosesan di luar MapReduce. 8. **PENGANTAR APACHE SPARK** - Overview: Apache Spark adalah sistem komputasi terdistribusi sumber terbuka yang dirancang untuk pemrosesan data skala besar yang cepat dan fleksibel. - Fitur: - Kecepatan: Kemampuan pemrosesan dalam memori membuatnya hingga 100 kali lebih cepat daripada Hadoop MapReduce untuk aplikasi tertentu. - Kemudahan Penggunaan: Menyediakan API tingkat tinggi dalam Java, Scala, Python, dan R. - Fleksibilitas: Mendukung berbagai beban kerja, termasuk pemrosesan batch, streaming, pembelajaran mesin, dan pemrosesan grafik. 9. **SPARK CORE DAN RDDS** - Spark Core: Menjadi mesin pusat yang bertanggung jawab untuk menjadwalkan, mendistribusikan, dan memantau aplikasi. - Resilient Distributed Datasets (RDD): - Definisi: Kumpulan objek yang tidak dapat diubah dan terdistribusi yang dapat diproses secara paralel. - Fitur: - Fault Tolerance: Secara otomatis memulihkan data yang hilang. - Lazy Evaluation: Menunda eksekusi hingga suatu tindakan dilakukan, mengoptimalkan pemrosesan. - In-Memory Computation: Menyimpan hasil antara dalam memori, mengurangi I/O disk. 10. **KOMPONEN EKOSISTEM SPARK** - Overview: Menyorot komponen utama ekosistem Apache Spark yang memperluas fungsionalitas intinya. - Komponen: - Spark SQL: Memungkinkan kueri data terstruktur menggunakan SQL dan mendukung API DataFrame dan Dataset. - Spark Streaming: Memfasilitasi pemrosesan data streaming secara real-time, yang memungkinkan pemrosesan aliran yang dapat diskalakan dan toleran terhadap kesalahan. - MLlib: Menyediakan serangkaian algoritme dan utilitas pembelajaran mesin untuk alur pembelajaran mesin yang dapat diskalakan. - GraphX: Menawarkan API untuk pemrosesan dan analisis grafik, yang memungkinkan komputasi algoritme grafik. 11. **KEUNTUNGAN APACHE SPARK** - Kecepatan: Kemampuan pemrosesan dalam memori membuat Spark jauh lebih cepat daripada kerangka kerja pemrosesan berbasis disk tradisional seperti Hadoop MapReduce. - Kemudahan Penggunaan: Menyediakan API tingkat tinggi dalam Java, Scala, Python, dan R, yang menyederhanakan pengembangan aplikasi big data. - Fleksibilitas: Mendukung berbagai beban kerja, termasuk pemrosesan batch, streaming real-time, pembelajaran mesin, dan pemrosesan grafik. - Integrasi: Terintegrasi dengan Hadoop secara mulus, yang memungkinkannya memproses data yang disimpan dalam HDFS dan bekerja bersama komponen Hadoop lainnya. - Dukungan Komunitas: Didukung oleh komunitas yang besar dan aktif, yang memastikan pengembangan dan dukungan berkelanjutan. 12. **PERBANDINGAN HADOOP DAN SPARK** Jenis Perbandingan Hadoop Spark ---------------------- -------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- Model Pemrosesan Terutama menggunakan model pemrograman MapReduce, yang berbasis disk dan cocok untuk pemrosesan batch Memanfaatkan pemrosesan dalam memori, mendukung pemrosesan data batch dan waktu nyata Performance Efisien untuk pemrosesan batch skala besar tetapi bisa lebih lambat karena operasi I/O disk Menawarkan kinerja yang lebih tinggi untuk algoritma iteratif dan analitik waktu nyata karena komputasi dalam memori Kemudahan Penggunaan Memerlukan kode yang lebih kompleks, seringkali dalam Java, dan memiliki kurva pembelajaran yang lebih curam Menyediakan API yang mudah digunakan dalam berbagai bahasa, membuat pengembangan lebih mudah diakses Ekosistem Ekosistem yang matang dengan berbagai alat untuk berbagai kebutuhan pemrosesan data Ekosistem yang berkembang pesat dengan dukungan kuat untuk pembelajaran mesin dan aplikasi streaming 13. **CHOOSING BETWEEN HADOOP AND SPARK** - Pertimbangan: - Kasus Penggunaan/Use Case: Tentukan sifat beban kerja---pemrosesan batch, analisis waktu nyata, pembelajaran mesin, dll. - Volume Data: Nilai ukuran data dan persyaratan skalabilitas. - Ketersediaan Sumber Daya: Evaluasi infrastruktur yang tersedia, termasuk kapasitas memori dan penyimpanan. - Keahlian: Pertimbangkan keahlian tim dengan teknologi masing-masing. - Rekomendasi: - Hadoop: Cocok untuk tugas pemrosesan batch skala besar di mana pemrosesan waktu nyata tidak penting. - Spark: Ideal untuk aplikasi yang memerlukan pemrosesan cepat, dalam memori, analisis waktu nyata, dan tugas pembelajaran mesin berulang. - Pendekatan Hibrida: Dalam beberapa skenario, mengintegrasikan Hadoop dan Spark dapat memanfaatkan kekuatan masing-masing, seperti menggunakan Hadoop untuk penyimpanan dan Spark untuk pemrosesan. **\ ** **BAGIAN \#4: PENGENALAN KE DATABASE NOSQL** 1. ![](media/image6.png)**SEMESTA BASIS DATA 201X** 2. **MOTIVASI** - Pemrosesan Data Skala Besar - Ingin menggunakan 1000-an CPU - Tapi tidak ingin repot mengelola berbagai hal - Tidak Hanya Database SQL (NOSQL) - MapReduce menyediakan - Paralelisasi & distribusi otomatis - Toleransi kesalahan - Penjadwalan I/O - Pemantauan & pembaruan status 3. **MOTIVASI : JARINGAN SEMANTIK** - Struktur dasar Web Semantik didasarkan pada rangkap tiga RDF (Resource Description Framework) (seperti XML atau bentuk lainnya) - DBMS konvensional sangat buruk dalam melakukan beberapa hal yang seharusnya dilakukan Web Semantik... (misalnya, menyebarkan pencarian aktivasi) - "Triple Stores" sedang dikembangkan yang dimaksudkan untuk mengoptimalkan jenis pencarian dan akses yang dibutuhkan untuk Web Semantik 4. **BASIS DATA NOSQL: LATAR BELAKANG** - Basis data relasional → andalan bisnis - Aplikasi berbasis web menyebabkan lonjakan-- ledakan situs media sosial (Facebook, Twitter) dengan kebutuhan data besar-- munculnya solusi berbasis cloud seperti Amazon S3 (solusi penyimpanan sederhana) - Menghubungkan RDBMS ke aplikasi berbasis web menjadi masalah 5. **MASALAH DENGAN PENINGKATAN SKALA** - Cara terbaik untuk menyediakan model kueri ACID dan kaya adalah dengan memiliki kumpulan data pada satu mesin - Batasan untuk peningkatan skala (atau penskalaan vertikal: membuat mesin \"tunggal\" lebih bertenaga) → kumpulan data terlalu besar! - Peningkatan skala (atau penskalaan horizontal: menambahkan lebih banyak server yang lebih kecil/murah) adalah pilihan yang lebih baik - Pendekatan yang berbeda untuk penskalaan horizontal (basis data multinode): - Master/Slave - Sharding (pembagian) 6. **MEMPERLUAS RDBMS: MASTER/SLAVE** - Semua penulisan ditulis ke master - Semua pembacaan dilakukan terhadap database slave yang direplikasi - Pembacaan kritis mungkin salah karena penulisan mungkin belum disebarkan ke bawah - Kumpulan data besar dapat menimbulkan masalah karena master perlu menduplikasi data ke slave 7. **MEMPERLUAS RDBMS: SHARDING** - Skala baik untuk membaca dan menulis - Tidak transparan, aplikasi perlu mengetahui partisi - Tidak dapat lagi memiliki hubungan/gabungan lintas partisi - Hilangnya integritas referensial lintas pecahan 8. **CARA LAIN UNTUK MEMPERLUAS RDBMS** - Replikasi Multi-Master - Hanya INSERT, bukan UPDATES/DELETES - Tidak ada JOIN, sehingga mengurangi waktu query Ini melibatkan de-normalisasi data - Basis data dalam memori 9. **APA ITU NOSQL?** - Nama : - Tidak hanya singkatan dari SQL - Istilah NOSQL diperkenalkan oleh Carl Strozzi pada tahun 1998 untuk memberi nama pada basis data berbasis file miliknya - Istilah ini diperkenalkan kembali oleh Eric Evans ketika sebuah acara diselenggarakan untuk membahas basis data terdistribusi sumber terbuka - Eric menyatakan bahwa "... tetapi inti dari mencari alternatif adalah Anda perlu memecahkan masalah yang tidak cocok untuk basis data relasional...." - Fitur utama (keunggulan): - Non-relasional - Tidak memerlukan skema - Data direplikasi ke beberapa node (jadi, identik & toleran terhadap kesalahan) dan dapat dipartisi: - Node yang tidak berfungsi dapat diganti dengan mudah - Tidak ada titik kegagalan tunggal - Skala horizontal - Murah, mudah diimplementasikan (sumber terbuka) - Kinerja penulisan masif - Akses nilai kunci yang cepat - Kekurangan: - Tidak sepenuhnya mendukung fitur relasional - Tidak ada operasi join, group by, order by (kecuali dalam partisi) - Tidak ada batasan integritas referensial di seluruh partisi - Tidak ada bahasa kueri deklaratif (misalnya, SQL) → lebih banyak pemrograman - ACID yang dilonggarkan (lihat teorema CAP) → lebih sedikit jaminan - Tidak ada integrasi mudah dengan aplikasi lain yang mendukung SQL 10. **APLIKASI DUNIA NYATA DARI BASIS DATA NOSQL** - E-commerce: - Katalog Produk: Memanfaatkan basis data berorientasi dokumen untuk mengelola beragam informasi produk. - Profil Pelanggan: Menyimpan preferensi pengguna dan riwayat pembelian untuk pengalaman yang dipersonalisasi. - Media Sosial: - Koneksi Pengguna: Menggunakan basis data grafik untuk memodelkan dan menanyakan hubungan antara pengguna. - Manajemen Konten: Menggunakan penyimpanan dokumen untuk menangani beragam jenis media dan konten yang dibuat pengguna. - Keuangan: - Data Transaksi: Memanfaatkan penyimpanan kolom-keluarga untuk pemrosesan dan analisis transaksi berkecepatan tinggi. - Deteksi Penipuan: Menerapkan basis data grafik untuk mendeteksi pola penipuan yang rumit melalui analisis hubungan. - Layanan Kesehatan: - Catatan Pasien: Mengelola data pasien yang tidak terstruktur dan semi-terstruktur menggunakan basis data berorientasi dokumen. - Data Penelitian: Menyimpan dan menganalisis kumpulan data besar dari penelitian dan uji coba medis. 11. **SKALABILITAS DALAM BASIS DATA NOSQL** - Skala Horizontal: - Definisi: Memperluas basis data dengan menambahkan lebih banyak server untuk mendistribusikan beban, meningkatkan kinerja dan kapasitas penyimpanan. - Manfaat: Memfasilitasi penanganan peningkatan lalu lintas dan volume data tanpa perubahan signifikan pada aplikasi. - Replikasi: - Definisi: Membuat salinan data di beberapa node untuk memastikan ketersediaan tinggi dan toleransi kesalahan. - Manfaat: Menyediakan redundansi data, memungkinkan operasi berkelanjutan meskipun terjadi kegagalan node. - Sharding: - Definisi: Mempartisi data menjadi segmen-segmen yang lebih kecil dan lebih mudah dikelola (shard) yang didistribusikan ke berbagai server. - Manfaat: Meningkatkan kinerja dengan memungkinkan pemrosesan paralel dan manajemen data yang efisien. - Model Konsistensi: - Konsistensi Akhir: Dalam sistem terdistribusi, data akan menjadi konsisten dari waktu ke waktu, yang dapat diterima untuk aplikasi tertentu. - Kompensasi: Menyeimbangkan konsistensi, ketersediaan, dan toleransi partisi (teorema CAP) berdasarkan persyaratan aplikasi. 12. **SIAPA YANG MENGGUNAKANNYA?** 13. **THE PERFECT STORM** - Kumpulan data besar, penerimaan alternatif, dan data yang diketik secara dinamis telah bersatu dalam \"badai yang sempurna\" - Bukan reaksi terhadap RDBMS - SQL adalah bahasa kueri yang kaya yang tidak dapat disaingi oleh daftar penawaran NOSQL saat ini 14. **MEMAHAMI BASIS DATA NOSQL** - Definisi NoSQL dapat didefinisikan sebagai kategori sistem manajemen basis data yang menyimpang dari basis data relasional tradisional, menawarkan skema fleksibel dan skalabilitas. - Karakteristik - Fleksibilitas Skema: Memungkinkan struktur data yang dinamis dan terus berkembang tanpa skema yang telah ditetapkan sebelumnya. - Skalabilitas Horizontal: Dirancang untuk ditingkatkan dengan menambahkan lebih banyak server, mengakomodasi volume data yang besar dan lalu lintas yang tinggi. - Kinerja Tinggi: Dioptimalkan untuk operasi baca dan tulis yang cepat, cocok untuk aplikasi waktu nyata. - Arsitektur Terdistribusi: Beroperasi di beberapa node, memastikan redundansi data dan toleransi kesalahan. 15. **EVOLUSI DAN KEBUTUHAN NOSQL** - Konteks Sejarah: Munculnya database NoSQL disebabkan oleh respons terhadap keterbatasan database relasional dalam menangani data besar, data tidak terstruktur, dan tuntutan aplikasi web modern. - Pendorong Adopsi: - Big Data: Pertumbuhan volume dan variasi data yang eksponensial membutuhkan solusi penyimpanan yang lebih fleksibel. - Pemrosesan Real-Time: Aplikasi yang memerlukan akses dan pemrosesan data segera, seperti media sosial dan permainan daring, diuntungkan oleh kinerja NoSQL. - Cloud Computing: Meningkatnya layanan cloud menekankan perlunya basis data yang dapat diskalakan secara horizontal di seluruh lingkungan yang terdistribusi. 16. **FITUR UTAMA DATABASE NOSQL** - Desain Tanpa Skema: Memungkinkan penyimpanan berbagai jenis data tanpa skema tetap, mengakomodasi model data yang terus berkembang. - Skalabilitas: Mendukung penskalaan horizontal dengan mendistribusikan data ke beberapa server, memastikan kinerja di bawah beban berat. - Ketersediaan Tinggi: Menggunakan replikasi dan arsitektur terdistribusi untuk menyediakan ketersediaan berkelanjutan dan toleransi kesalahan. - Komputasi Terdistribusi: Memungkinkan distribusi data ke berbagai node, memfasilitasi pemrosesan paralel dan ketahanan. 17. **JENIS-JENIS DATABASE NOSQL** - Basis Data Dokumen: - Menyimpan data sebagai dokumen JSON atau BSON. - Contoh: MongoDB, CouchDB. - Kasus Penggunaan: Sistem manajemen konten. - Penyimpanan Nilai Kunci: - Penyimpanan data sederhana sebagai pasangan kunci-nilai. - Contoh: Redis, DynamoDB. - Kasus Penggunaan: Caching, manajemen sesi. - Toko Kolom Lebar: - Data disimpan dalam baris dan kolom dinamis. - Contoh: Cassandra, HBase. - Kasus Penggunaan: Data deret waktu, aplikasi IoT. - Basis Data Grafik: - Data disimpan sebagai node dan edge untuk merepresentasikan hubungan. - Contoh: Neo4j, OrientDB. - Kasus Penggunaan: Jejaring sosial, deteksi penipuan. 18. **PRINSIP DESAIN INTI** - Denormalisasi: Kebalikan dari normalisasi basis data relasional; menyimpan data secara redundan untuk pembacaan yang lebih cepat. - Fleksibilitas Skema: Memungkinkan perubahan skema dinamis tanpa waktu henti. - Pemartisian: Mendistribusikan data ke beberapa node untuk mencapai skalabilitas horizontal. - Konsistensi Akhir: Prioritaskan ketersediaan daripada konsistensi langsung (teorema CAP). 19. **TEOREMA CAP DALAM NOSQL** - Penjelasan: Teorema CAP menyatakan bahwa penyimpanan data terdistribusi tidak dapat menjamin Konsistensi, Ketersediaan, dan Toleransi Partisi secara bersamaan. - Komponen: - Konsistensi: Setiap pembacaan menerima penulisan terbaru atau kesalahan. - Ketersediaan: Setiap permintaan menerima respons, tanpa jaminan bahwa respons tersebut berisi penulisan terbaru. - Toleransi Partisi: Sistem terus beroperasi meskipun terjadi partisi acak karena kegagalan jaringan. - Implikasi untuk NoSQL: - Bagaimana basis data NoSQL yang berbeda memprioritaskan komponen-komponen ini berdasarkan kasus penggunaan, sering kali mengorbankan satu untuk mencapai dua lainnya. - Sebagian besar basis data NoSQL berfokus pada Ketersediaan dan Toleransi Partisi - Misalkan tiga properti sistem terdistribusi (berbagi data) - Consistency: semua salinan memiliki nilai yang sama - Availability: membaca dan menulis selalu berhasil - ![](media/image8.png)Partition-tolerance: properti sistem (konsistensi dan/atau ketersediaan) berlaku bahkan ketika kegagalan jaringan mencegah beberapa mesin berkomunikasi dengan - Teorema CAP Brewer: - Untuk sistem apa pun yang berbagi data, "tidak mungkin" untuk menjamin ketiga properti ini secara bersamaan - Anda dapat memiliki maksimal dua dari tiga properti ini untuk sistem data bersama apa pun - Sistem yang sangat besar akan "terbagi" pada suatu titik: - Hal ini menyisakan C atau A untuk dipilih (DBMS tradisional lebih menyukai C daripada A dan P) - Dalam hampir semua kasus, Anda akan memilih A daripada C (kecuali dalam aplikasi tertentu seperti pemrosesan pesanan) - Consistency - 2 jenis konsistensi: - Konsistensi kuat -- ASAM (Atomicity, Konsistensi, Isolasi, Daya Tahan) - Konsistensi lemah -- BASE (Konsistensi Akhir Soft-state yang Tersedia Secara Dasar) - ACID - DBMS diharapkan mendukung \"transaksi ACID,\" proses yang: - Atomicity: seluruh proses selesai atau tidak ada yang selesai - Consistency: hanya data yang valid yang ditulis - Isolasi: satu operasi pada satu waktu - Durability: setelah dikomit, akan tetap seperti itu - CAP - Consistency/Konsistensi: semua data pada kluster memiliki salinan yang sama - Availability/Ketersediaan: kluster selalu menerima pembacaan dan penulisan - Partition tolerance/Toleransi partisi: properti terjamin dipertahankan bahkan ketika kegagalan jaringan mencegah beberapa mesin berkomunikasi dengan yang lain - Model konsistensi menentukan aturan untuk visibilitas dan urutan pembaruan yang terlihat - Konsistensi akhirnya Ketika tidak ada pembaruan yang terjadi dalam jangka waktu yang lama, pada akhirnya semua pembaruan akan disebarkan melalui sistem dan semua node akan konsisten - Komputasi awan ACID sulit dicapai, apalagi tidak selalu diperlukan; misalnya untuk blog, pembaruan status, daftar produk, dll. 20. **TANTANGAN DALAM DESAIN NOSQL** - Kueri Kompleks: Dukungan terbatas untuk penggabungan atau transaksi yang kompleks. - Masalah Konsistensi: Konsistensi pada akhirnya dapat menyebabkan bacaan yang basi. - Redundansi Data: Meningkatnya kebutuhan penyimpanan karena denormalisasi. - Kurangnya Standardisasi: Tidak ada bahasa query yang terpadu seperti SQL. 21. **KELEBIHAN & KEKURANGAN NOSQL** Kelebihan Kekurangan ------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- Fleksibilitas: Mendukung berbagai model data, termasuk nilai kunci, dokumen, keluarga kolom, dan grafik. Kematangan: Beberapa basis data NoSQL relatif baru dan mungkin kurang memiliki ketahanan seperti basis data relasional yang mapan. Skalabilitas: Mudah diskalakan secara horizontal untuk menangani volume data besar dan beban pengguna yang tinggi Standardisasi: Kurangnya bahasa query yang terstandarisasi dapat menyebabkan kompleksitas dalam pengembangan dan pemeliharaan. Kinerja: Dioptimalkan untuk pola akses tertentu, menyediakan operasi baca dan tulis yang lebih cepat. Model Konsistensi: Model konsistensi akhir mungkin tidak cocok untuk semua aplikasi, terutama yang membutuhkan konsistensi langsung. 22. **BASIS DATA BERORIENTASI DOKUMEN** - Definisi Basis data yang menyimpan data dalam format dokumen, biasanya JSON, BSON, atau XML, yang memungkinkan adanya struktur bertingkat dan berbagai tipe data. - Karakteristik - Fleksibilitas Skema: Setiap dokumen dapat memiliki struktur yang berbeda, mengakomodasi model data yang terus berkembang. - Penyimpanan Data Hirarkis: Mendukung representasi data yang kompleks dalam satu dokumen. - Pengambilan Data yang Efisien: Dioptimalkan untuk mengambil seluruh dokumen, sehingga cocok untuk aplikasi yang memerlukan representasi data yang kaya. - Use Cases - Sistem Manajemen Konten: Menyimpan artikel, blog, dan konten multimedia. - Platform E-commerce: Mengelola katalog produk dengan berbagai atribut. - Profil Pengguna: Menyimpan informasi pengguna yang terperinci dengan berbagai bidang. - Contoh - MongoDB: Basis data dokumen sumber terbuka yang banyak digunakan dan dikenal karena skalabilitas dan fleksibilitasnya. - Couchbase: Menggabungkan kemampuan basis data dokumen dengan kinerja penyimpanan nilai-kunci. - Dapat memodelkan objek yang lebih kompleks - Terinspirasi oleh Lotus Notes - Model data: kumpulan dokumen - Dokumen: JSON (JavaScript Object Notation adalah model data, pasangan kunci-nilai, yang mendukung objek, rekaman, struktur, daftar, array, peta, tanggal, Boolean dengan penumpukan), XML, dan format semi-terstruktur lainnya. - ![](media/image10.png) Contoh: dokumen (MongoDB). {Nama:\"Jaroslav\", Alamat:\"Malostranske nám. 25, 118 00 Praha 1", Cucu: {Claire: \"7\", Barbara: \"6\", \"Magda: \"3\", \"Kirsten: \"1\", \"Otis: \"3\", Richard: \"1"} Telepon: \[ "123-456-7890", "234-567-8963" \] 23. **COLUMN-FAMILY STORES** - Definisi Basis data yang menyimpan data dalam kolom, bukan baris, mengelompokkan kolom terkait ke dalam keluarga kolom untuk pengambilan data yang efisien. - Karkteristik - Performa Tulis dan Baca Tinggi: Dioptimalkan untuk menangani data dalam jumlah besar dengan throughput tinggi. - Skalabilitas: Dirancang untuk diskalakan secara horizontal di banyak server. - Penanganan Data Jarang: Secara efisien mengelola kumpulan data yang jarang di mana banyak kolom mungkin kosong. - Use Case - Performa Tulis dan Baca Tinggi: Dioptimalkan untuk menangani data dalam jumlah besar dengan throughput tinggi. - Skalabilitas: dirancang untuk diskalakan secara horizontal di banyak server. - Penanganan Data Jarang: Secara efisien mengelola kumpulan data yang jarang di mana banyak kolom mungkin kosong. - Contoh - Apache Cassandra: Penyimpanan kolom-keluarga yang sangat scalable, terdistribusi, dan terdesentralisasi. - HBase: Basis data non-relasional, terdistribusi, dan berversi, yang dimodelkan berdasarkan Bigtable milik Google. ![](media/image12.png) - Berdasarkan makalah BigTable milik Google - Seperti basis data relasional berorientasi kolom (menyimpan data dalam urutan kolom) tetapi dengan sedikit perubahan - Tabel mirip dengan RDBMS, tetapi menangani data semi-terstruktur - Model data: - Kumpulan Keluarga Kolom - Keluarga kolom = (kunci, nilai) di mana nilai = kumpulan kolom terkait (standar, super) - diindeks berdasarkan kunci baris, kunci kolom, dan stempel waktu - Satu keluarga kolom dapat memiliki jumlah kolom yang bervariasi - Sel-sel dalam satu keluarga kolom diurutkan secara "fisik" - Sangat jarang, sebagian besar sel memiliki nilai nol - Perbandingan: RDBMS vs NOSQL berbasis kolom (Query pada beberapa tabel) - RDBMS: harus mengambil data dari beberapa tempat di disk dan menggabungkannya - NOSQL berbasis kolom: hanya mengambil kolom-kolom yang dibutuhkan oleh query (semua kolom dalam kolom disimpan bersama di disk, sehingga beberapa baris dapat diambil dalam satu operasi baca lokalitas data) - Contoh (Cassandra column family \--timestamps removed for simplicity) UserProfile = { Cassandra = { emailAddress:"casandra\@apache.org", age:"20" } TerryCho = { emailAddress:"terry.cho\@apache.org" gender:"male" } Cath = { emailAddress:"cath\@apache.org", age:"20", gender:"female", address:"Seoul" } } 24. **KEY-VALUE STORES** - Penyimpanan nilai-kunci juga memiliki rekaman dengan bidang ID --kunci dalam penyimpanan nilai-kunci-dan sekumpulan data - Beberapa penyimpanan nilai-kunci mendukung pengetikan dan struktur yang lebih kompleks untuk nilai - Dalam ilmu komputer, \"daftar\" adalah nol atau lebih nilai data - Peta adalah jenis penyimpanan nilai-kunci yang sederhana - Penyimpanan nilai-kunci dioptimalkan untuk kecepatan penyerapan dan pengambilan - Berfokus pada penskalaan data dalam jumlah besar - Dirancang untuk menangani beban besar - Berdasarkan makalah dynamo Amazon - Model data: (global) kumpulan pasangan kunci-nilai - Contoh: (DynamoDB) - item yang memiliki satu atau lebih atribut (nama, nilai) - Atribut dapat bernilai tunggal atau bernilai jamak seperti set. - item digabungkan ke dalam table - Pro - sangat cepat - sangat scalable (didistribusikan secara horizontal ke node berdasarkan kunci) - model data sederhana - konsistensi akhir - toleransi kesalahan - Kontra Tidak dapat memodelkan struktur data yang lebih kompleks seperti objek 25. **BASIS DATA GRAFIK/GRAPH** - Definisi Basis data yang menggunakan struktur grafik dengan simpul, tepi, dan properti untuk merepresentasikan dan menyimpan data, menekankan hubungan antara titik data. - Karakteristik - Berpusat pada Hubungan: Dirancang untuk mengelola dan mengkueri hubungan yang kompleks secara efisien. - Skema Fleksibel: Memungkinkan model data yang dinamis dan terus berkembang. - Penjelajahan yang Efisien: Dioptimalkan untuk melintasi koneksi, sehingga cocok untuk kueri yang melibatkan banyak hop. - Use Case - Jejaring Sosial: Membuat model dan mencari tahu koneksi antar pengguna. - Mesin Rekomendasi: Memberikan rekomendasi yang dipersonalisasi berdasarkan perilaku dan hubungan pengguna. - Deteksi Penipuan: Mengidentifikasi pola dan koneksi yang mencurigakan dalam transaksi keuangan. - Contoh - Neo4j: Basis data grafik terkemuka yang dikenal karena kinerja dan skalabilitasnya. - Amazon Neptune: Layanan basis data grafik terkelola penuh yang mendukung model grafik properti dan grafik RDF. ![](media/image14.png) - Berfokus pada pemodelan struktur data (interkonektivitas) - Menyesuaikan dengan kompleksitas data - Terinspirasi oleh Teori Graf Matematika (G=(E,V)) - Model data: - (Grafik Properti) node dan tepi - Node mungkin memiliki properti (termasuk ID) - Tepi mungkin memiliki label atau peran - Pasangan kunci-nilai pada keduanya - Antarmuka dan bahasa kueri bervariasi - Ekspresi langkah tunggal vs ekspresi jalur vs rekursi penuh - Contoh: Neo4j, FlockDB, Pregel, InfoGrid 26. **TRIPLE AND GRAPH STORES** - Konsep tripel telah ada sejak tahun 1998 oleh World Wide Web Consortium (W3C) - Di balik pendekatan ini terdapat konsep sederhana: setiap fakta digambarkan sebagai tripel subjek, predikat, dan objek.