Trace Id is missing
Lompat ke konten utama

Database NoSQL - Apa itu NoSQL?

Gambaran umum untuk memulai

Apa itu database NoSQL?

Database NoSQL juga disebut dengan istilah “nonrelasional,” “DB NoSQL,” atau “non-SQL” untuk menyoroti fakta bahwa database ini dapat menangani data yang berubah dengan cepat dan tidak terstruktur bervolume besar dengan cara yang berbeda dari database relasional (SQL) dengan baris dan tabel.

Teknologi NoSQL sudah ada sejak 1960-an dengan berbagai nama. Popularitas NoSQL meningkat berkat pergeseran lanskap data dan pengembang perlu beradaptasi untuk menangani beragam data bervolume besar yang dihasilkan dari cloud, perangkat seluler, media sosial, dan big data.

Mulai dari tweet selebriti yang viral hingga informasi penting dalam catatan medis elektronik, data baru dan jenis data dibuat dengan kecepatan yang luar biasa cepat. Database NoSQL telah berkembang untuk membantu pengembang membuat sistem database dengan cepat guna menyimpan informasi baru dan membuatnya tersedia untuk pencarian, konsolidasi, dan analisis.

Manfaat database NoSQL (DB NoSQL)

Database NoSQL membantu profesional TI dan pengembang mengelola tantangan baru terkait keragaman jenis dan model data yang semakin meluas serta sangat efektif dalam menangani data yang tidak dapat diprediksi, sering kali dengan kecepatan kueri yang sangat cepat. Migrasi database yang lancar ke cloud untuk beban kerja NoSQL yang sudah ada juga tersedia.

Ketangkasan dalam pengembangan

Dengan kemampuan untuk merespons situasi yang tidak terencana, DB NoSQL memenuhi siklus rilis perangkat lunak yang singkat dan cocok untuk pengembangan aplikasi yang lebih cepat dan lebih tangkas.

Fleksibilitas penanganan data

NoSQL memberikan lebih banyak kebebasan, kecepatan, dan fleksibilitas kepada pengembang guna mengubah skema dan kueri untuk beradaptasi dengan persyaratan data. Informasi yang disimpan sebagai agregat memudahkan penyempurnaan berulang cepat tanpa harus melakukan desain skema di depan.

Beroperasi dalam semua ukuran skala

DB NoSQL dapat memberikan keuntungan dan penghematan operasional yang menarik dengan kemampuan untuk melakukan "peluasan" skala secara horizontal atau menambahkan server yang lebih murah tanpa harus melakukan peningkatan. DB NoSQL dapat menskalakan untuk menangani lebih banyak data atau menyimpan satu database besar dalam kluster server yang sangat mudah didistribusikan.

Jenis model data dengan database NoSQL

Sebagian besar database berkinerja tinggi nonrelasional, terkadang disebut “tidak hanya SQL,” juga dapat menangani data yang sangat terstruktur. Hanya saja, database tersebut tidak terbatas pada model data tetap seperti database relasional (SQL).

 

Empat jenis database NoSQL yang paling umum meliputi:

Kunci-nilai

Jenis kunci-nilai menyimpan pasangan kunci dan nilai menggunakan tabel hash. Jenis ini paling cocok digunakan jika kunci diketahui dan nilai yang terkait untuk kunci tidak diketahui.

Dokumen

Database dokumen memperluas konsep database kunci-nilai dengan menata seluruh dokumen ke dalam grup yang disebut koleksi. Database ini mendukung pasangan kunci-nilai bertumpuk dan mengizinkan kueri pada atribut apa pun dalam dokumen.

Berkolom

Database berkolom, kolom lebar, atau famili kolom secara efisien menyimpan data dan kueri di seluruh baris data jarang dan menguntungkan saat mengkueri seluruh kolom tertentu dalam database.

Grafik

Database grafik menggunakan model berdasarkan node dan tepi untuk mewakili data, misalnya hubungan antara orang-orang di jaringan sosial, serta menawarkan penyimpanan dan navigasi yang disederhanakan melalui hubungan kompleks.

Cara memilih antara database relasional (SQL) dan nonrelasional (NoSQL)

NoSQL atau nonrelasional SQL atau relasional

PALING COCOK UNTUK:

  • Menangani data yang besar, tidak terkait, tidak tentu, atau berubah dengan cepat.
  • Data skema-agnostik atau skema yang ditentukan oleh aplikasi.
  • Aplikasi yang lebih mementingkan performa dan ketersediaan daripada konsistensi yang kuat.
  • Aplikasi selalu aktif yang melayani pengguna di seluruh dunia.
  • Menangani data yang bersifat relasional dan memiliki persyaratan logika, serta persyaratan tersembunyi yang dapat diidentifikasi terlebih dahulu.
  • Skema yang harus dipertahankan dan tetap sinkron antara aplikasi dan database.
  • Sistem lama yang dibuat untuk struktur relasional.
  • Aplikasi yang memerlukan kueri kompleks atau transaksi multi-baris.

SKENARIO:

  • Aplikasi seluler.
  • Analitik real time.
  • Manajemen konten.
  • Personalisasi.
  • Aplikasi IoT.
  • Migrasi database.
  • Sistem perbankan, keuangan, dan akuntansi.
  • Sistem pengelolaan inventaris.
  • Sistem pengelolaan transaksi.

SKALA:

  • Menskalakan data secara horizontal dengan sharding di seluruh server.
  • Menskalakan data secara vertikal dengan meningkatkan muatan server.

MODEL DATA:

  • Jenis database: database kunci-nilai, dokumen, berkolom, dan grafik.
  • Menyimpan data berdasarkan jenis database.
  • Jenis database: tabel baris, dikelompokkan menjadi relasi.
  • Menggunakan Bahasa Permintaan Terstruktur (SQL).
  • Menyimpan data sebagai baris dalam tabel; data terkait disimpan secara terpisah dan digabungkan untuk kueri kompleks.

Bagaimana cara mengevaluasi DB NoSQL?

Pilih model data

Banyak database NoSQL yang berorientasi pada agregat, yaitu kumpulan data yang berinteraksi dengan Anda sebagai unit. Hal ini menjadikannya lebih cocok untuk bahasa pemrograman berorientasi objek yang modern. Saat memilih DB NoSQL, Anda mungkin ingin memulai dengan memilih model data, lalu mengevaluasi database NoSQL yang mendukungnya beserta bahasa pemrograman dan SDK yang didukung setiap database.

Mempertimbangkan kompromi terkait konsistensi

Sebagian besar DB NoSQL memungkinkan Anda memilih dari salah satu bagian spektrum konsistensi, dari konsistensi yang kuat di mana Anda akan mendapatkan data terbaru namun mungkin perlu menunggu hingga konsistensi akhirnya di mana Anda akan mendapatkan respons cepat namun data mungkin, tetapi data mungkin kedaluwarsa. Tersedia juga beragam database NoSQL yang mendukung tingkat konsistensi lain yang umumnya ada di antara kedua titik ekstrem tersebut. Pilih DB NoSQL yang memberi Anda fleksibilitas dan kontrol terbesar dalam model konsistensi untuk kebutuhan Anda.

Pertimbangkan migrasi database dan cloud

Dengan sifatnya yang terdistribusi dan skalabilitas horizontal, DB NoSQL sangat cocok untuk komputasi cloud, meskipun Anda juga dapat menemukan banyak sistem database NoSQL yang dirancang untuk dijalankan di skenario lokal maupun hibrid.

Saat mengevaluasi opsi cloud Anda, pertimbangkan hal berikut:

  • Model data yang didukung. Apakah penyedia cloud mendukung semua model data yang ingin Anda gunakan?
  • Penyebaran dan operasi. Seberapa mudah Anda dapat menyebarkan database dan mereplikasinya ke wilayah lain, jika diperlukan?
  • Kehadiran geografis. Di mana lokasi pusat data penyedia cloud? Dapatkah Anda menyimpan data di tempat yang diinginkan? Bagaimana Anda tetap mematuhi peraturan privasi data global, seperti GDPR Uni Eropa?
  • Kemudahan replikasi. Apa saja proses untuk mereplikasi database Anda ke wilayah geografis yang berbeda?
  • Skalabilitas. Apakah sumber daya database NoSQL memungkinkan Anda memastikan kinerja yang memadai serta skala untuk pertumbuhan? Apakah Anda dapat meningkatkan skala, menurunkan skala, atau menskalakan secara horizontal?
  • High availability. Apa yang akan terjadi jika terjadi kegagalan tak terduga? Apakah layanan menawarkan high availability bawaan dan pemulihan bencana?
  • Tingkat layanan. Tingkat ketersediaan atau jaminan latensi apa yang ditawarkan?
  • Ekosistem. Apakah database terintegrasi erat dengan platform cloud lainnya dan dapatkah database dirangkai dengan cepat untuk membuat solusi baru?

Cara menggunakan sistem database NoSQL

Menggunakan model data berdasarkan NoSQL sangat cocok untuk perusahaan yang ingin membuat aplikasi seluler, web, Internet of Things (IoT), dan game yang memerlukan database fleksibel, dapat diskalakan, berperforma tinggi, dan sangat fungsional untuk memberikan pengalaman pengguna yang andal, baik untuk game, e-niaga, analitik data besar, atau aplikasi web real time dan lainnya.

Mendistribusikan aplikasi Anda secara global

Dapatkan lebih banyak pengguna, di mana pun mereka berada, dengan kinerja aplikasi yang disempurnakan dari high availability dan pemulihan bencana.

Menawarkan pengalaman pelanggan real-time

Berikan personalisasi, rekomendasi real-time, dan peningkatan pengalaman pengguna dengan DB NoSQL.

Mengakomodasi beragam beban kerja IoT

Skalakan secara langsung dan elastis untuk menangani penyerapan data sarat penulisan yang berkelanjutan dengan kinerja kueri yang disempurnakan untuk aplikasi IoT.

Meningkatkan aplikasi e-niaga Anda

Dengan data hierarki dan skema yang fleksibel, NoSQL sangat cocok untuk menyimpan data katalog produk dengan beragam produk yang memiliki atribut yang berbeda.

Melibatkan pemain dalam konten baru

Hadirkan pengalaman yang dipersonalisasi dengan konten seperti statistik dalam game, integrasi media sosial, dan papan peringkat. Latensi rendah dan skalabilitas elastis mendukung lonjakan lalu lintas selama peluncuran game dan turnamen.

Rancang aplikasi tanpa server

Skalakan volume data, throughput, dan penyerapan data tanpa hambatan dengan ketersediaan langsung, pengindeksan otomatis, laju penyerapan yang stabil, dan kinerja kueri.

Dapatkan wawasan yang lebih baik dari big data

Terapkan pembelajaran mesin dalam skala besar di seluruh data bervolume tinggi yang berubah dengan cepat dan dapatkan lebih banyak wawasan dari analitik Anda.

Migrasi beban kerja NoSQL yang ada ke cloud

Gunakan lebih sedikit waktu untuk mengelola database lokal dengan migrasi ke cloud, selagi masih menggunakan alat, driver, pustaka, dan SDK yang sudah ada.

Mulai menggunakan NoSQL dan migrasi database ke cloud

Pelajari cara mengembangkan aplikasi dengan ketangkasan, fleksibilitas, dan skalabilitas baru dalam mengelola sistem database dan beragam jenis data, serta migrasi database cloud untuk beban kerja NoSQL yang sudah ada. Dapatkan gambaran umum teknis Azure Cosmos DB untuk pengembangDapatkan gambaran umum teknis Azure Cosmos DB untuk pengembang  dan cari tahu selengkapnya tentang dukungan asli untuk NoSQL dalam layanan database multi-model yang didistribusikan secara global dan dapat diskalakan secara besar-besaran.

Pelajari selengkapnya tentang data Azure Cosmos DB for NoSQL   
Pelajari selengkapnya