6 Teknologi Opsional untuk Penyimpanan Data

Masalah bisnis terlalu luas, mendalam, dan kompleks untuk diselesaikan oleh satu alat saja, terutama di bidang big data dan analitik. Artikel ini menjelaskan 6 teknologi alternatif untuk penyimpanan data.
1. Penyimpanan data terstruktur
Penyimpanan data terstruktur telah ada selama puluhan tahun dan merupakan teknologi penyimpanan data yang paling dikenal. Sebagian besar database transaksional adalah database berbasis baris karena mereka menangani penulisan data yang sering dari aplikasi perangkat lunak.
Bisnis sering menggunakan database transaksional secara bersamaan untuk pelaporan, dalam hal ini data perlu sering dibaca, tetapi data ditulis jauh lebih jarang. Dengan meningkatnya permintaan untuk pembacaan data, lebih banyak inovasi telah masuk ke bidang kueri penyimpanan data terstruktur, seperti inovasi format file kolom, yang membantu meningkatkan performa pembacaan data dan memenuhi kebutuhan analisis.
Format berbasis baris menyimpan data dalam file sebagai baris. Penulisan berbasis baris adalah cara tercepat untuk menulis data ke disk, tetapi belum tentu cara tercepat untuk membaca karena Anda harus melewatkan banyak data yang tidak relevan.
Format berbasis kolom menyimpan semua nilai kolom bersama-sama dalam file. Hal ini menghasilkan kompresi yang lebih baik karena jenis data yang sama sekarang dikelompokkan bersama. Seringkali, ini juga memberikan performa baca yang lebih baik karena Anda dapat melewatkan kolom yang tidak Anda butuhkan.
Mari kita lihat pilihan umum untuk penyimpanan data terstruktur. Misalnya, Anda perlu mengkueri total penjualan untuk bulan tertentu dari tabel pesanan, tetapi tabel tersebut memiliki 50 kolom. Dalam arsitektur berbasis baris, 50 kolom dari seluruh tabel dipindai saat melakukan kueri, tetapi dalam arsitektur kolom, hanya kolom penjualan pesanan yang dipindai saat melakukan kueri, sehingga meningkatkan performa kueri data. Mari kita lihat lebih dekat database relasional, dengan fokus pada data transaksional dan kebutuhan data warehouse untuk menangani analisis data.
Bisnis sering menggunakan database transaksional secara bersamaan untuk pelaporan, dalam hal ini data perlu sering dibaca, tetapi data ditulis jauh lebih jarang. Dengan meningkatnya permintaan untuk pembacaan data, lebih banyak inovasi telah masuk ke bidang kueri penyimpanan data terstruktur, seperti inovasi format file kolom, yang membantu meningkatkan performa pembacaan data dan memenuhi kebutuhan analisis.
Format berbasis baris menyimpan data dalam file sebagai baris. Penulisan berbasis baris adalah cara tercepat untuk menulis data ke disk, tetapi belum tentu cara tercepat untuk membaca karena Anda harus melewatkan banyak data yang tidak relevan.
Format berbasis kolom menyimpan semua nilai kolom bersama-sama dalam file. Hal ini menghasilkan kompresi yang lebih baik karena jenis data yang sama sekarang dikelompokkan bersama. Seringkali, ini juga memberikan performa baca yang lebih baik karena Anda dapat melewatkan kolom yang tidak Anda butuhkan.
Mari kita lihat pilihan umum untuk penyimpanan data terstruktur. Misalnya, Anda perlu mengkueri total penjualan untuk bulan tertentu dari tabel pesanan, tetapi tabel tersebut memiliki 50 kolom. Dalam arsitektur berbasis baris, 50 kolom dari seluruh tabel dipindai saat melakukan kueri, tetapi dalam arsitektur kolom, hanya kolom penjualan pesanan yang dipindai saat melakukan kueri, sehingga meningkatkan performa kueri data. Mari kita lihat lebih dekat database relasional, dengan fokus pada data transaksional dan kebutuhan data warehouse untuk menangani analisis data.
(1) Database relasional
RDBMS lebih cocok untuk aplikasi pemrosesan transaksi online (OLTP). Database relasional populer meliputi MSSQL, MariaDB, PostgreSQL, dll. Beberapa database tradisional ini telah ada selama puluhan tahun.
Banyak aplikasi, termasuk e-commerce, perbankan, dan reservasi hotel, didukung oleh database relasional. Database relasional sangat baik dalam menangani data transaksional yang memerlukan kueri join kompleks antar tabel. Dari perspektif persyaratan data transaksi, database relasional harus mematuhi prinsip atomisitas, konsistensi, isolasi, dan durabilitas, sebagai berikut:
Atomisitas: Transaksi akan dieksekusi sepenuhnya dari awal hingga akhir, dan jika terjadi error, seluruh transaksi akan di-roll back.
Konsistensi: Setelah transaksi selesai, semua data dikomit ke database.
Isolasi: Beberapa transaksi harus berjalan secara simultan dalam isolasi tanpa saling mengganggu.
Durabilitas: Jika terjadi gangguan apa pun (seperti kegagalan jaringan atau listrik), transaksi harus dapat pulih ke status terakhir yang diketahui.
Biasanya, data dari database relasional dimuat ke data warehouse untuk pelaporan dan agregasi.
RDBMS lebih cocok untuk aplikasi pemrosesan transaksi online (OLTP). Database relasional populer meliputi MSSQL, MariaDB, PostgreSQL, dll. Beberapa database tradisional ini telah ada selama puluhan tahun.
Banyak aplikasi, termasuk e-commerce, perbankan, dan reservasi hotel, didukung oleh database relasional. Database relasional sangat baik dalam menangani data transaksional yang memerlukan kueri join kompleks antar tabel. Dari perspektif persyaratan data transaksi, database relasional harus mematuhi prinsip atomisitas, konsistensi, isolasi, dan durabilitas, sebagai berikut:
Atomisitas: Transaksi akan dieksekusi sepenuhnya dari awal hingga akhir, dan jika terjadi error, seluruh transaksi akan di-roll back.
Konsistensi: Setelah transaksi selesai, semua data dikomit ke database.
Isolasi: Beberapa transaksi harus berjalan secara simultan dalam isolasi tanpa saling mengganggu.
Durabilitas: Jika terjadi gangguan apa pun (seperti kegagalan jaringan atau listrik), transaksi harus dapat pulih ke status terakhir yang diketahui.
Biasanya, data dari database relasional dimuat ke data warehouse untuk pelaporan dan agregasi.
(2) Data warehouse
Data warehouse lebih cocok untuk aplikasi pemrosesan analitik online (OLAP). Data warehouse menyediakan kemampuan agregasi cepat untuk sejumlah besar data terstruktur. Data perlu dimuat secara batch, sehingga membuat data warehouse tidak dapat memberikan wawasan real-time tentang data aktif.
Data warehouse modern menggunakan penyimpanan kolom untuk meningkatkan performa kueri. Berkat penyimpanan kolom, data warehouse ini menyediakan kecepatan kueri yang sangat cepat dan meningkatkan efisiensi I/O.
Data warehouse adalah repositori pusat yang dapat menyimpan data terakumulasi dari satu atau lebih database. Mereka menyimpan data saat ini dan historis untuk membuat laporan analitik dari data bisnis.
Meskipun data warehouse menyimpan data dari beberapa sistem secara terpusat, mereka tidak dapat dianggap sebagai data lake. Data warehouse hanya dapat menangani data relasional terstruktur, sedangkan data lake dapat menangani data relasional terstruktur dan data tidak terstruktur seperti data JSON, log, dan CSV.
Data warehouse lebih cocok untuk aplikasi pemrosesan analitik online (OLAP). Data warehouse menyediakan kemampuan agregasi cepat untuk sejumlah besar data terstruktur. Data perlu dimuat secara batch, sehingga membuat data warehouse tidak dapat memberikan wawasan real-time tentang data aktif.
Data warehouse modern menggunakan penyimpanan kolom untuk meningkatkan performa kueri. Berkat penyimpanan kolom, data warehouse ini menyediakan kecepatan kueri yang sangat cepat dan meningkatkan efisiensi I/O.
Data warehouse adalah repositori pusat yang dapat menyimpan data terakumulasi dari satu atau lebih database. Mereka menyimpan data saat ini dan historis untuk membuat laporan analitik dari data bisnis.
Meskipun data warehouse menyimpan data dari beberapa sistem secara terpusat, mereka tidak dapat dianggap sebagai data lake. Data warehouse hanya dapat menangani data relasional terstruktur, sedangkan data lake dapat menangani data relasional terstruktur dan data tidak terstruktur seperti data JSON, log, dan CSV.
2. Database NoSQL
Database NoSQL seperti DynamoDB, ApsaraDB for Cassandra, dan ApsaraDB for MongoDB dapat mengatasi tantangan skalabilitas dan performa yang sering ditemui dalam database relasional. Seperti namanya, NoSQL adalah singkatan dari database non-relasional. Database NoSQL menyimpan data tanpa mekanisme struktural yang jelas untuk menghubungkan data di tabel berbeda (tanpa join, foreign key, atau paradigma).
NoSQL menggunakan berbagai model data, termasuk kolom, key-value, pencarian, dokumen, dan graf. Database NoSQL menawarkan performa yang dapat diskalakan, ketersediaan tinggi, dan ketahanan.
NoSQL biasanya tidak memiliki skema database yang ketat, setiap record dapat memiliki sejumlah kolom (atribut), yang berarti satu baris dapat memiliki 4 kolom dan baris lain dalam tabel yang sama dapat memiliki 10 kolom. Kunci partisi digunakan untuk mengambil nilai atau dokumen yang berisi properti terkait. Database NoSQL sangat terdistribusi dan dapat direplikasi. Database NoSQL sangat tahan lama dan memiliki ketersediaan tinggi tanpa masalah performa.
NoSQL menggunakan berbagai model data, termasuk kolom, key-value, pencarian, dokumen, dan graf. Database NoSQL menawarkan performa yang dapat diskalakan, ketersediaan tinggi, dan ketahanan.
NoSQL biasanya tidak memiliki skema database yang ketat, setiap record dapat memiliki sejumlah kolom (atribut), yang berarti satu baris dapat memiliki 4 kolom dan baris lain dalam tabel yang sama dapat memiliki 10 kolom. Kunci partisi digunakan untuk mengambil nilai atau dokumen yang berisi properti terkait. Database NoSQL sangat terdistribusi dan dapat direplikasi. Database NoSQL sangat tahan lama dan memiliki ketersediaan tinggi tanpa masalah performa.
3. Tipe database NoSQL
Tipe utama database NoSQL adalah sebagai berikut:
Database kolom: Penyimpanan data kolom membantu memindai kolom saat melakukan kueri data, alih-alih memindai seluruh baris. Jika tabel item memiliki 10 kolom dan 1 juta baris, dan Anda ingin mengkueri jumlah item dalam inventaris, database kolom hanya akan menerapkan kueri ke kolom jumlah item, tanpa memindai seluruh tabel.
Database dokumen: Database dokumen yang paling populer adalah ApsaraDB for MongoDB, Couchbase, MarkLogic, DynamoDB, dan ApsaraDB for Cassandra. Database dokumen dapat digunakan untuk menyimpan data semi-terstruktur dalam format JSON dan XML.
Graph Database: Graph Database menyimpan simpul (vertices) dan tautan antar simpul (disebut edges). Graf dapat dibangun di atas database relasional dan non-relasional.
Penyimpanan key-value dalam memori: Mereka menyimpan data dalam memori dan digunakan dalam skenario di mana data sering dibaca. Kueri aplikasi pertama-tama menuju ke database dalam memori, dan jika data tersedia di cache, database utama tidak akan diakses. Database dalam memori sangat baik untuk menyimpan informasi sesi pengguna yang menghasilkan kueri kompleks dan permintaan data yang sering, seperti profil pengguna.
NoSQL memiliki banyak kasus penggunaan, tetapi untuk membangun layanan pencarian data, semua data perlu diindeks.
Database kolom: Penyimpanan data kolom membantu memindai kolom saat melakukan kueri data, alih-alih memindai seluruh baris. Jika tabel item memiliki 10 kolom dan 1 juta baris, dan Anda ingin mengkueri jumlah item dalam inventaris, database kolom hanya akan menerapkan kueri ke kolom jumlah item, tanpa memindai seluruh tabel.
Database dokumen: Database dokumen yang paling populer adalah ApsaraDB for MongoDB, Couchbase, MarkLogic, DynamoDB, dan ApsaraDB for Cassandra. Database dokumen dapat digunakan untuk menyimpan data semi-terstruktur dalam format JSON dan XML.
Graph Database: Graph Database menyimpan simpul (vertices) dan tautan antar simpul (disebut edges). Graf dapat dibangun di atas database relasional dan non-relasional.
Penyimpanan key-value dalam memori: Mereka menyimpan data dalam memori dan digunakan dalam skenario di mana data sering dibaca. Kueri aplikasi pertama-tama menuju ke database dalam memori, dan jika data tersedia di cache, database utama tidak akan diakses. Database dalam memori sangat baik untuk menyimpan informasi sesi pengguna yang menghasilkan kueri kompleks dan permintaan data yang sering, seperti profil pengguna.
NoSQL memiliki banyak kasus penggunaan, tetapi untuk membangun layanan pencarian data, semua data perlu diindeks.
4. Elasticsearch
Elasticsearch adalah salah satu mesin pencari paling populer untuk skenario big data seperti analisis clickstream dan log. Kueri ad-hoc pada data hangat dengan sejumlah atribut apa pun, termasuk token string, didukung dengan baik oleh mesin pencari. Elasticsearch sangat populer. Penyimpanan biner atau objek generik cocok untuk data tidak terstruktur, tidak dapat diindeks, dan data lain dalam format yang tidak dapat dipahami oleh alat khusus apa pun.
Pencarian dan analisis log adalah skenario aplikasi big data yang umum, dan Elasticsearch dapat membantu Anda menganalisis data log dari website, server, dan sensor IoT Platform. Elasticsearch digunakan oleh sejumlah besar aplikasi industri seperti perbankan, game, pemasaran, monitoring aplikasi, teknologi iklan, Fraud Detection, rekomendasi, dan IoT Platform.
Pencarian dan analisis log adalah skenario aplikasi big data yang umum, dan Elasticsearch dapat membantu Anda menganalisis data log dari website, server, dan sensor IoT Platform. Elasticsearch digunakan oleh sejumlah besar aplikasi industri seperti perbankan, game, pemasaran, monitoring aplikasi, teknologi iklan, Fraud Detection, rekomendasi, dan IoT Platform.
5. Penyimpanan data tidak terstruktur
Saat Anda memiliki kebutuhan penyimpanan data tidak terstruktur, Hadoop tampaknya menjadi pilihan yang sempurna karena skalabel dan sangat fleksibel. Hadoop berjalan pada perangkat kelas konsumen, memiliki ekosistem alat yang besar, dan tampaknya menjadi pilihan yang ekonomis untuk dijalankan.
Hadoop mengadopsi arsitektur node master dan node worker. Data didistribusikan ke beberapa node worker, dan node master mengoordinasikan operasi serta melakukan kueri pada data. Sistem Hadoop mengandalkan pemrosesan paralel masif (MPP), yang memungkinkan kueri cepat terhadap berbagai jenis data, baik terstruktur maupun tidak terstruktur.
Saat kluster Hadoop dibuat, setiap node worker yang dibuat di server slave disertai dengan blok penyimpanan disk yang disebut Hadoop Distributed File System (HDFS) lokal. Anda dapat mengquery data yang tersimpan menggunakan framework pemrosesan umum seperti Hive, Pig, dan Spark. Namun, data pada disk lokal hanya bertahan selama masa hidup instans yang terkait.
Jika Anda menggunakan lapisan penyimpanan Hadoop (yaitu Apsara File Storage for HDFS) untuk menyimpan data, maka penyimpanan dan komputasi akan tergabung. Menambahkan penyimpanan berarti harus menambahkan lebih banyak mesin, yang juga meningkatkan daya komputasi. Untuk fleksibilitas maksimal dan efektivitas biaya terbaik, komputasi dan penyimpanan perlu dipisahkan dan diskalakan secara independen.
Secara umum, Object Storage Service lebih cocok untuk data lake guna menyimpan berbagai jenis data dengan cara yang hemat biaya. Dengan dukungan Object Storage Service, data lake berbasis cloud dapat memisahkan komputasi dan penyimpanan secara fleksibel.
Hadoop mengadopsi arsitektur node master dan node worker. Data didistribusikan ke beberapa node worker, dan node master mengoordinasikan operasi serta melakukan kueri pada data. Sistem Hadoop mengandalkan pemrosesan paralel masif (MPP), yang memungkinkan kueri cepat terhadap berbagai jenis data, baik terstruktur maupun tidak terstruktur.
Saat kluster Hadoop dibuat, setiap node worker yang dibuat di server slave disertai dengan blok penyimpanan disk yang disebut Hadoop Distributed File System (HDFS) lokal. Anda dapat mengquery data yang tersimpan menggunakan framework pemrosesan umum seperti Hive, Pig, dan Spark. Namun, data pada disk lokal hanya bertahan selama masa hidup instans yang terkait.
Jika Anda menggunakan lapisan penyimpanan Hadoop (yaitu Apsara File Storage for HDFS) untuk menyimpan data, maka penyimpanan dan komputasi akan tergabung. Menambahkan penyimpanan berarti harus menambahkan lebih banyak mesin, yang juga meningkatkan daya komputasi. Untuk fleksibilitas maksimal dan efektivitas biaya terbaik, komputasi dan penyimpanan perlu dipisahkan dan diskalakan secara independen.
Secara umum, Object Storage Service lebih cocok untuk data lake guna menyimpan berbagai jenis data dengan cara yang hemat biaya. Dengan dukungan Object Storage Service, data lake berbasis cloud dapat memisahkan komputasi dan penyimpanan secara fleksibel.
6. Data Lake
Data lake adalah repositori terpusat dari data terstruktur dan tidak terstruktur. Data lake menjadi cara populer untuk menyimpan dan menganalisis sejumlah besar data dalam penyimpanan terpusat. Data lake menyimpan data sebagaimana adanya, menggunakan format file open-source untuk analisis yang mudah. Karena data dapat disimpan sebagaimana adanya dalam format saat ini, tidak perlu mengonversi data ke skema yang telah ditentukan, sehingga meningkatkan kecepatan ingest data.
Keuntungan data lake adalah sebagai berikut:
Mengingest data dari berbagai sumber: Data lake memungkinkan Anda menyimpan dan menganalisis data dari berbagai sumber (seperti database relasional, non-relasional, dan stream) di lokasi terpusat untuk menghasilkan satu sumber kebenaran. Ini menjawab pertanyaan seperti mengapa data tersebar di beberapa tempat? Di mana satu sumber kebenaran?
Mengingest dan menyimpan data secara efisien: Data lake dapat mengingest jenis data apa pun, termasuk data semi-terstruktur dan tidak terstruktur, tanpa memerlukan skema apa pun. Ini menjawab pertanyaan tentang cara mengingest data dengan cepat dari berbagai sumber, dalam berbagai format, dan menyimpannya secara efisien dalam skala besar.
Seiring jumlah data yang dihasilkan terus meningkat: Data lake memungkinkan Anda memisahkan tier penyimpanan dari tier komputasi, menskalakan setiap komponen secara terpisah. Ini menjawab pertanyaan tentang cara melakukan skalabilitas seiring dengan jumlah data yang diproduksi.
Menerapkan analitik pada data dari sumber yang berbeda: Dengan data lake, Anda dapat mengidentifikasi pola data saat membaca dan membuat katalog data terpusat dari data yang dikumpulkan dari sumber yang berbeda. Ini memungkinkan Anda menganalisis data dengan cepat dan kapan saja. Ini menjawab pertanyaan apakah beberapa framework analisis dan pemrosesan dapat diterapkan pada data yang sama.
Keuntungan data lake adalah sebagai berikut:
Mengingest data dari berbagai sumber: Data lake memungkinkan Anda menyimpan dan menganalisis data dari berbagai sumber (seperti database relasional, non-relasional, dan stream) di lokasi terpusat untuk menghasilkan satu sumber kebenaran. Ini menjawab pertanyaan seperti mengapa data tersebar di beberapa tempat? Di mana satu sumber kebenaran?
Mengingest dan menyimpan data secara efisien: Data lake dapat mengingest jenis data apa pun, termasuk data semi-terstruktur dan tidak terstruktur, tanpa memerlukan skema apa pun. Ini menjawab pertanyaan tentang cara mengingest data dengan cepat dari berbagai sumber, dalam berbagai format, dan menyimpannya secara efisien dalam skala besar.
Seiring jumlah data yang dihasilkan terus meningkat: Data lake memungkinkan Anda memisahkan tier penyimpanan dari tier komputasi, menskalakan setiap komponen secara terpisah. Ini menjawab pertanyaan tentang cara melakukan skalabilitas seiring dengan jumlah data yang diproduksi.
Menerapkan analitik pada data dari sumber yang berbeda: Dengan data lake, Anda dapat mengidentifikasi pola data saat membaca dan membuat katalog data terpusat dari data yang dikumpulkan dari sumber yang berbeda. Ini memungkinkan Anda menganalisis data dengan cepat dan kapan saja. Ini menjawab pertanyaan apakah beberapa framework analisis dan pemrosesan dapat diterapkan pada data yang sama.
Artikel Terkait
-
Apa Itu Blockchain?
Tim Pusat Bantuan
-
Apa Itu CDN?
Tim Pusat Bantuan
Jelajahi Lebih Banyak Penawaran Spesial
-
Short Message Service (SMS) & Layanan Email
Paket 50.000 email mulai dari USD 1,99, 120 pesan singkat mulai dari hanya USD 1,00
