Lewati Navigasi

Database NoSQL - Apa itu NoSQL?

Gambaran umum untuk memulai

Apa itu database NoSQL?

Database NoSQL sering disebut sebagai \"nonrelasional\", \"DB NoSQL\", atau \"non-SQL\" untuk menggarisbawahi fakta bahwa database ini dapat menangani volume besar dari data yang berubah cepat dan tidak terstruktur dengan berbagai cara yang berbeda dari database relasional (SQL) yang memiliki baris dan tabel.

Teknologi NoSQL telah ada sejak 1960-an, dengan berbagai nama, tetapi baru menikmati lonjakan popularitas seiring perubahan lanskap data dan pengembang perlu beradaptasi untuk menangani tingginya volume dan beragamnya data yang dihasilkan dari cloud, seluler, media sosial, dan big data.

Dari tweet selebriti viral hingga informasi yang dapat menyelamatkan nyawa di rekam medis elektronik, data dan jenis data baru saat ini dibuat dengan kecepatan luar biasa. Database NoSQL telah berkembang untuk membantu pengembang membuat sistem database 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 dari beragam jenis dan model data yang terus berkembang serta sangat efektif dalam menangani data yang tidak dapat diprediksi, sering kali dengan respons kueri yang sangat cepat. Database ini juga memungkinan migrasi database yang lancar ke cloud untuk beban kerja NoSQL yang ada.

Kembangkan dengan ketangkasan

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

Menangani data dengan fleksibilitas

NoSQL memberi pengembang lebih banyak kebebasan, kecepatan, dan fleksibilitas untuk mengubah skema dan kueri agar sesuai dengan persyaratan data. Informasi yang disimpan sebagai agregat mempermudah peningkatan berkelanjutan dengan cepat—tanpa harus mendesain skema di awal.

Beroperasi pada skala apa pun

DB NoSQL dapat memberikan keunggulan operasional dan penghematan luar biasa dengan kemampuan memperluas skala secara horizontal—atau menambahkan server yang lebih terjangkau tanpa keharusan memutakhirkan. DB ini dapat menskalakan penanganan lebih banyak data atau menampung satu database besar dalam kluster server yang sangat mudah didistribusikan.

Tipe model data dengan database NoSQL

Sebagian besar database nonrelasional dan berperforma tinggi, terkadang disebut \"tidak hanya SQL\", juga dapat menangani data yang sangat terstruktur—tidak terbatas hanya pada model data yang tetap seperti database relasional (SQL).

Empat tipe database NoSQL yang paling lazim adalah:

Nilai kunci

Nilai kunci menyimpan kunci dan nilai pasangan menggunakan tabel hash. Tipe nilai kunci terbaik adalah saat kunci diketahui namun nilai yang terkait untuk kunci tersebut tidak diketahui.

Dokumen

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

Kolumnar

Database kolumnar, kolom lebar, atau kolom relasional secara efisien menyimpan data dan kueri di seluruh baris data yang tersebar dan sangat membantu saat mengajukan kueri pada kolom tertentu di database.

Grafik

Database graph menggunakan model berdasarkan node dan edge untuk merepresentasikan data yang saling terhubung—seperti hubungan antarmanusia di jaringan sosial—serta menampilkan penyederhanaan navigasi dan penyimpanan dalam hubungan yang kompleks.

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

Tidak tersedia NoSQL atau nonrelasional SQL atau relasional
Paling tepat untuk:
  • Menangani data besar, tidak terkait, tak tentu, atau cepat berubah.
  • Data yang dapat digunakan di semua skema atau skema yang didikte aplikasi.
  • Aplikasi dengan performa dan ketersediaan lebih penting daripada konsistensi yang tinggi.
  • Aplikasi yang selalu aktif yang melayani pengguna di seluruh dunia.
  • Menangani data yang bersifat relasional serta memiliki persyaratan logis dan diskrit yang dapat diidentifikasi lebih dulu.
  • Skema yang harus dipertahankan dan tetap sinkron antara aplikasi dan database.
  • Sistem warisan 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 akuntansi, keuangan, dan perbankan.
  • Sistem manajemen inventaris.
  • Sistem manajemen transaksi.
Skala:
  • Menskalakan data secara horizontal dengan sharding di seluruh server.
  • Menskalakan data secara vertikal dengan meningkatkan beban server.
Model data:
  • Tipe database: nilai kunci, dokumen, kolom, dan database grafik.
  • Menyimpan data tergantung pada tipe database.
  • Tipe database: tabel baris, dikelompokkan menjadi relasi.
  • Menggunakan Bahasa Kueri Terstruktur (SQL).
  • Menyimpan data sebagai baris dalam tabel; data terkait disimpan terpisah dan digabungkan untuk kueri kompleks.
Tidak tersedia Pelajari model data nonrelasional lebih lanjut Pelajari model data relasional lebih lanjut

Bagaimana cara mengevaluasi DB NoSQL?

Pilih model data

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

Pelajari selengkapnya model pemrograman dan API

Mempertimbangkan kompromi dari konsistensi

Sebagian besar DB NoSQL mengizinkan Anda memilih dari kedua ujung spektrum konsistensi, dari konsistensi tinggi—tempat Anda dapat memperoleh data terbaru, tetapi mungkin perlu menunggu—hingga konsistensi akhir tempat Anda mendapatkan respons cepat namun datanya mungkin kedaluwarsa. Ada banyak juga database NoSQL yang mendukung tingkat konsistensi lain yang biasanya berada di tengah-tengah kedua ekstrem tersebut. Pilih DB NoSQL yang memberi Anda fleksibilitas dan kontrol terbesar terkait model konsistensi yang sesuai kebutuhan Anda.

Pelajari konsistensi, ketersediaan, dan toleransi partisi selengkapnya

Pertimbangkan migrasi cloud dan database

Dengan sifat terdistribusi dan skalabilitas horizontal, DB NoSQL adalah pasangan ideal untuk komputasi cloud, meskipun Anda juga dapat menemukan banyak sistem database NoSQL yang dirancang untuk berjalan secara lokal atau dalam skenario hibrid.

Dalam mengevaluasi opsi cloud Anda, pertimbangkan hal berikut:

  • Model data yang didukung. Apakah penyedia cloud mendukung semua model data yang mungkin ingin Anda gunakan?
  • Penyebaran dan operasi. Seberapa mudah Anda dapat menyebarkan database dan mereplikasinya ke wilayah lain, jika diperlukan?
  • Kehadiran geografis. Di mana pusat data penyedia cloud? Dapatkah Anda meletakkan data di tempat yang Anda kehendaki? Bagaimana Anda menjaga kepatuhan pada peraturan privasi data global, seperti GDPR Uni Eropa?
  • Kemudahan replikasi. Proses apa yang digunakan untuk mereplikasi database ke wilayah geografis yang berbeda?
  • Skalabilitas. Apakah sumber daya database NoSQL mengizinkan Anda memastikan performa yang memadai, serta dapat menskalakan untuk pertumbuhan? Apakah Anda dapat meningkatkan, menurunkan, atau memperluas skala?
  • High availability. Apa yang terjadi jika ada kegagalan tak terduga? Apakah layanan menawarkan ketersediaan tinggi dan pemulihan bencana bawaan?
  • Tingkat layanan. Bagaimana tingkat ketersediaan atau jaminan latensi yang diberikan?
  • Ekosistem. Apakah database terintegrasi ketat dengan seluruh platform cloud dan dapatkah database digabungkan dalam waktu singkat untuk menghadirkan 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, berkinerja tinggi, dan memiliki fungsionalitas tinggi untuk menyajikan pengalaman pengguna yang luar biasa—entah itu game, e-niaga, analitik big data, atau aplikasi web real-time, dan sebagainya.

Distribusikan aplikasi Anda secara global

Dapatkan lebih banyak pengguna, di mana pun mereka berada, dengan peningkatan performa aplikasi yang bersumber dari ketersediaan tinggi dan pemulihan bencana.

Berikan pengalaman pelanggan secara real-time

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

Mengakomodasi beban kerja IoT yang beragam

Skalakan dengan cepat dan fleksibel untuk menangani penyerapan data yang berkelanjutan dan dominan tulis dengan peningkatan performa kueri untuk aplikasi IoT.

Meningkatkan aplikasi e-niaga

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

Melibatkan pemain game dengan konten baru

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

Buat aplikasi tanpa server

Skalakan penyerapan data, throughput, dan volume data tanpa hambatan dengan ketersediaan langsung, pengindeksan otomatis, tingkat penyerapan stabil, dan performa kueri.

Dapatkan wawasan yang lebih baik dari big data

Terapkan pembelajaran mesin dalam skala besar di seluruh data volume tinggi yang cepat berubah, dan dapatkan hasil lebih baik dari analitik Anda.

Migrasikan beban kerja NoSQL yang ada ke cloud

Habiskan lebih sedikit waktu mengelola database lokal dengan migrasi ke cloud, sekaligus tetap menggunakan alat, driver, pustaka, dan SDK yang ada.

Mulai dengan NoSQL dan migrasi database ke cloud

Pelajari cara mengembangkan aplikasi Anda dengan ketangkasan, fleksibilitas, dan skalabilitas baru dalam mengelola sistem database dan beragam jenis data, serta migrasi database cloud untuk beban kerja NoSQL yang ada. Dapatkan ikhtisar teknis Azure Cosmos DB untuk pengembang dan cari tahu lebih lanjut dukungan native untuk NoSQL pada layanan database yang terdistribusi secara global, dapat diskalakan secara masif, dan memiliki berbagai model.

Pelajari selengkapnya Azure Cosmos DB untuk data NoSQL

Pelajari selengkapnya