Berikut ini adalah Contoh Database Non Relasional yang paling sering digunakan programmer. Basis data adalah kumpulan informasi yang diatur untuk akses, pengelolaan, dan pembaruan yang mudah.
Sebelum kita mulai memperkenalkan database NoSQL paling populer. Anda harus tahu tentang database NoSQL. Kebanyakan programmer tidak tahu apa artinya. Nama lengkapnya Bukan Hanya SQL. Setelah mempelajari database NoSQL, kami akan memperkenalkan Contoh Database Non Relasional (NoSQL)terpopuler untuk programmer.
Apa Itu Basis Data NoSQL?
Database NoSQL ( database non-relasional ) adalah sistem database non-relasional untuk menyimpan dan mengambil data. Di dunia sekarang ini, kita tidak boleh hanya menyimpan semua data dalam format tabel tanpa skema tetap yang telah ditentukan (tetap tanpa kolom).
Seperti data yang dibuat pengguna, data geolokasi, data yang dihasilkan IoT, grafik sosial adalah contoh pertumbuhan eksponensial dalam data dunia nyata. Jumlah data yang besar ini juga membutuhkan banyak pemrosesan. Di situlah database NoSQL masuk.
Dengan menggunakan database NoSQL, kita dapat menyimpan dan menghentikan file, nilai kunci, data berbasis grafik dengan mudah dan cepat. Kita dapat dengan mudah menghindari operasi gabungan SQL yang kompleks.
Penskalaan horizontal yang mudah untuk masalah nyata (aplikasi bisnis web dan perusahaan) menggunakan NoSQL DB. Carlo Strozzi memperkenalkan istilah NoSQL pada tahun 1998. Motivasi untuk menggunakan NoSQL – kesederhanaan desain, penskalaan horizontal ke cluster mesin
Jenis Basis Data NoSQL
- Database dokumen – Database ini biasanya memasangkan setiap kunci dengan struktur data kompleks yang disebut dokumen. Dokumen dapat berisi pasangan larik kunci, pasangan nilai kunci, atau bahkan dokumen bersarang. Contoh: MongoDB, Apache CouchDB, ArangoDB, Couchbase, Cosmos DB, IBM Domino, MarkLogic, OrientDB.
- Penyimpanan nilai kunci – setiap item individual disimpan sebagai pasangan nilai kunci. Penyimpanan nilai kunci adalah yang paling sederhana dari semua database NoSQL. Contoh: Redis, Memcached, Apache Ignite, Riak.
- Penyimpanan Kolom Luas – Jenis database ini dioptimalkan untuk kueri pada kumpulan data besar, dan mereka menyimpan kolom data bersama-sama, bukan baris. Contoh: Cassandra, Hbase, Scylla.
- Toko Grafik – Ini menyimpan informasi tentang grafik, jaringan seperti hubungan sosial, peta rute, tautan lalu lintas. Contoh: Neo4j, AllegroGraph.
Contoh Database Non Relasional Populer
Ketika jumlah data sangat besar, penggunaan akses basis data relasional tidak efisien, dan data NoSql yang sesuai digunakan untuk meningkatkan kinerja akses mudah diperluas Struktur datanya sangat fleksibel. Berikut contohnya :
1. MongoDB
MongoDB adalah database NoSQL yang paling terkenal. Ini adalah database open source berorientasi dokumen. MongoDB adalah database yang skalabel dan dapat diakses. Ada di c++. MongoDB juga dapat digunakan sebagai sistem file.
Di MongoDB, JavaScript dapat digunakan sebagai bahasa query. MongoDB menskalakan secara horizontal dengan menggunakan sharding. Ini sangat berguna dalam kerangka kerja JavaScript populer. Orang-orang sangat menikmati sharding, pencarian teks lanjutan, gridFS, dan kemampuan pengurangan peta. Performa luar biasa dan fitur baru menjadikan basis data NoSQL ini #1 di daftar kami.
Fitur:
- Memberikan kinerja tinggi
- Pecahan otomatis
- Berjalan di beberapa server
- Mendukung replikasi master-slave
- Data disimpan sebagai dokumen bergaya JSON
- Mengindeks bidang apa pun dalam dokumen
- Karena data ditempatkan dalam pecahan, ia memiliki konfigurasi penyeimbangan beban otomatis
- mendukung pencarian ekspresi reguler;
- Mudah dikelola jika terjadi kegagalan.
Kelebihan:
- Mudah untuk menginstal MongoDB
- MongoDB Inc. menyediakan dukungan pelanggan profesional
- Mendukung kueri ad hoc
- Basis data berkecepatan tinggi
- Basis data tanpa skema
- Basis data skala
- Kinerja sangat tinggi
Kekurangan:
- Tidak ada dukungan untuk bergabung sejumlah besar data
- Dokumen bersarang terbatas
- Meningkatkan penggunaan memori yang tidak perlu.
MongoDB adalah database NoSQL open source berorientasi dokumen. MongoDB menggunakan dokumen seperti JSON untuk menyimpan data apa pun. Itu ditulis dalam c++.
2. Cassandra
Cassandra dikembangkan oleh Facebook untuk pencarian kotak masuk. Cassandra adalah sistem penyimpanan data terdistribusi untuk memproses sejumlah besar data terstruktur.
Biasanya, data ini didistribusikan di banyak server umum. Anda juga dapat menambahkan kapasitas penyimpanan data untuk menjaga layanan Anda tetap online, dan Anda dapat melakukannya dengan mudah.
Karena semua node dalam cluster identik, tidak perlu berurusan dengan konfigurasi yang rumit. Cassandra ditulis dalam bahasa Java. Cassandra Query Language (CQL) adalah bahasa seperti SQL untuk query database Cassandra.
Oleh karena itu, Cassandra menempati urutan kedua di antara database open source terbaik. Beberapa perusahaan terbesar seperti Facebook, Twitter, Cisco, Rackspace, eBay, Twitter, Netflix, dan lainnya menggunakan Cassandra.
Fitur:
- Skalabilitas linier
- Mempertahankan waktu respons yang cepat
- Mendukung properti seperti atomisitas, konsistensi, isolasi, dan daya tahan (ACID)
- Mendukung MapReduce menggunakan Apache Hadoop
- Fleksibilitas maksimum dalam mendistribusikan data
- Sangat skalabel
- Arsitektur peer-to-peer.
Keuntungan:
- Sangat skalabel
- Tidak ada satu titik kegagalan
- Replikasi multi-DC
- Integrasi yang erat dengan aplikasi berbasis JVM lainnya
- Lebih cocok untuk penyebaran multi-pusat data, redundansi, failover, dan pemulihan.
Kekurangan:
- Dukungan terbatas untuk agregasi
- Kinerja tak terduga
- Tidak ada dukungan untuk kueri ad hoc.
Cassandra: Dikembangkan oleh Facebook untuk pencarian kotak masuk. Cassandra adalah sistem penyimpanan data terdistribusi untuk memproses sejumlah besar data terstruktur.
3. Contoh Database Non Relasional : Redis
Redis adalah penyimpanan nilai kunci. Juga, ini adalah toko nilai kunci yang paling terkenal. Redis mendukung beberapa C++, PHP, Ruby, Python, Perl, Scala dan banyak lagi. Redis ditulis dalam bahasa C. Juga, ini dilisensikan di bawah BSD.
Fitur:
- Failover otomatis
- Menyimpan basis datanya sepenuhnya dalam memori
- Transaksi
- Skrip Lua
- Mereplikasi data ke sejumlah budak
- Kunci memiliki masa pakai terbatas
- LRU mengeluarkan kunci
- Mendukung terbitkan/berlangganan.
Kelebihan:
- Mendukung banyak tipe data
- Mudah dipasang
- Sangat cepat (~110.000 set per detik, ~81.000 per detik)
- Operasi bersifat atomik
- Alat serbaguna (digunakan dalam banyak kasus penggunaan).
Kekurangan:
- Tidak ada dukungan untuk bergabung
- Pengetahuan Lua diperlukan untuk prosedur tersimpan
- Kumpulan data harus cocok dengan baik di memori
Redis: adalah toko nilai kunci yang paling terkenal. Redis ditulis dalam bahasa C. Ini dilisensikan di bawah BSD.
4. HBase
HDFS memiliki karakteristik toleransi kesalahan tinggi dan ekspansi tinggi, dan HBase mengimplementasikan penyimpanan data berdasarkan HDFS, sehingga HBase memiliki skalabilitas dan throughput super yang melekat.
HBase menggunakan metode penyimpanan Kunci/Nilai, yang berarti bahwa meskipun menghadapi pertumbuhan data yang besar, kinerja kueri hampir tidak akan menurun.
HBase adalah database berorientasi kolom, sebagai lawan dari database berorientasi baris tradisional. Bila Anda memiliki banyak bidang dalam satu tabel, Anda dapat menyimpan kolom yang sama (mulai sebagai unit) pada instans layanan yang berbeda untuk mendistribusikan tekanan beban.
Kelebihan HBase
- Mendukung data besar: tabel dapat memiliki miliaran baris dan jutaan kolom
- Penyimpanan kolom: penyimpanan berorientasi kolom (cluster) dan kontrol izin, pengambilan independen kolom (cluster)
- Rekam jarang: untuk kolom kosong (null) tidak menempati ruang memori, oleh karena itu, tabel dapat dirancang menjadi sangat jarang, menghemat ruang
- Dukungan untuk beberapa versi: data di setiap sel dapat memiliki beberapa versi, secara default nomor versi ditetapkan secara otomatis, yang merupakan stempel waktu saat sel dimasukkan
- Data semi terstruktur atau tidak terstruktur: HBase cocok untuk data yang bidang struktur datanya tidak pasti atau tidak teratur dan sangat sulit untuk diekstraksi menurut suatu konsep, karena HBase mendukung penambahan kolom yang dinamis
- Tanpa mode: setiap baris memiliki rowKey yang dapat diurutkan dan kolom sebanyak yang Anda inginkan, kolom dapat ditambahkan secara dinamis sesuai kebutuhan, dan baris berbeda dari tabel yang sama dapat memiliki kolom berbeda
- Keandalan tinggi:
- Mekanisme log write-ahead WAL memastikan bahwa data tulis tidak akan hilang karena pengecualian cluster saat data ditulis.
- Mekanisme Replikasi memastikan bahwa data tidak akan hilang atau rusak ketika terjadi masalah serius di cluster
- Lapisan bawah Hbase menggunakan HDFS, dan HDFS sendiri juga memiliki cadangan
- Kinerja tinggi
- Desain unik dari struktur data LSM yang mendasarinya dan pengaturan Rowkey yang teratur membuat kinerja tulis Hbase sangat tinggi
- Segmentasi wilayah, indeks kunci utama, dan mekanisme caching memungkinkan Hbase memiliki kinerja pembacaan acak tertentu di bawah data yang sangat besar, dan kinerja ini dapat mencapai tingkat milidetik untuk kueri Rowkey
Kekurangan HBase
- HBase adalah database non-relasional tetapi tidak mendukung pernyataan SQL
- Keterbatasan yang melekat pada satu RowKey membuat tidak mungkin untuk mendukung kueri multi-kondisi secara efektif
- Tipe datanya tunggal, dan tipe data di HBase semuanya string
- Tidak cocok untuk kueri pemindaian besar
- Transaksi tidak didukung
- Data tabel tidak dapat diubah
- Kolom tidak dapat diindeks
HBase: Ini adalah database non- relasional terdistribusi yang dirancang oleh Google untuk database BigTable.
5. Contoh Database Non Relasional : neo4j
Neo4j dikenal sebagai database grafik asli karena secara efektif mengimplementasikan model grafik properti, sampai ke lapisan penyimpanan. Ini berarti bahwa data disimpan persis seperti papan tulis, dan database menggunakan pointer untuk menavigasi dan melintasi grafik.
Neo4j memiliki database edisi komunitas dan perusahaan. Edisi Perusahaan mencakup semua fitur yang ditawarkan Edisi Komunitas, ditambah kebutuhan perusahaan tambahan seperti pencadangan, pengelompokan, dan kemampuan failover.
Fitur:
- Mendukung batasan unik
- Neo4j mendukung aturan ACID (Atomicity, Consistency, Isolation and Durability) penuh
- Java API: Cypher API dan native Java API
- Menggunakan indeks Apache Lucence
- Bahasa kueri sederhana Neo4j CQL
- Berisi UI untuk menjalankan perintah CQL: Peramban Data Neo4j.
Keuntungan:
- Mudah untuk mengambil node yang berdekatan atau detail hubungan tanpa bergabung atau indeks
- Mudah dipelajari perintah bahasa query Neo4j CQL
- Tidak memerlukan gabungan yang rumit untuk mengambil data
- Sangat mudah untuk merepresentasikan data semi-terstruktur
- Kinerja tinggi untuk real perusahaan besar aplikasi waktu Kegunaan
- Penyetelan yang disederhanakan.
Kekurangan:
- Sharding tidak didukung.
Neo4j: Disebut database grafik asli karena secara efektif mengimplementasikan model grafik properti, sampai ke lapisan penyimpanan.
6. Contoh Database Non Relasional : Oracle NoSQL
Oracle baru saja meluncurkan database NoSQL dengan Oracle NoSQL. Ini menjadi populer pada tahun 2018. Ini kurang populer dibandingkan dengan database MongoDB dan Casandra.
Oracle NoSQL Database mengimplementasikan pemetaan dari kunci yang ditentukan pengguna ke item data buram. Meskipun mencatat jumlah pasangan kunci/nilai, itu hanya mempertahankan versi terbaru di penyimpanan.
Rilis 12c Oracle dirancang untuk cloud, dapat di-host di satu server atau beberapa server, dan mendukung pengelolaan basis data yang berisi miliaran catatan. Beberapa fitur rilis terbaru Oracle termasuk kerangka kerja grid dan penggunaan struktur fisik dan logis.
Oracle Database 18c kini memberi pelanggan platform berkinerja tinggi, andal, dan aman yang membuat beban kerja transaksional dan analitis mereka (baik dalam konfigurasi cloud, on-premise, atau cloud hybrid) lebih mudah, Modernisasi lebih hemat.
Fitur:
- Database Oracle NoSQL menangani data besar
- Mendukung SQL, dapat diakses dari database relasional Oracle
- Database Oracle NoSQL menggunakan Java/C API untuk membaca dan menulis data
- Database terdistribusi
- Menyediakan akses ke data melalui node untuk kunci yang diminta.
Kelebihan:
- Berdasarkan struktur pemrograman PL/SQL
- Komunitas peer-to-peer membantu menyelesaikan semua masalah
- Database Oracle aman dan memastikan bahwa data pengguna tidak akan dirusak dengan meminta pembaruan.
Kekurangan:
- Biaya tinggi untuk organisasi kecil
- Membutuhkan banyak sumber daya untuk menginstal
- Bahkan mungkin memerlukan peningkatan perangkat keras untuk mengimplementasikan Oracle
- Memakan banyak ruang.
Oracle NoSQL: Mengimplementasikan pemetaan dari kunci yang ditentukan pengguna ke item data buram.
7. Amazon DynamoDB
DynamoDB menggunakan model database NoSQL yang non-relasional, memungkinkan dokumen, grafik, dan kolom di antara model datanya.
Setiap kueri DynamoDB dilakukan oleh kunci utama yang diidentifikasi pengguna, yang secara unik mengidentifikasi setiap item. Ini juga membebaskan klien dari beban operasi dan penskalaan database terdistribusi.
Oleh karena itu, penyediaan perangkat keras, penyiapan, konfigurasi, replikasi, penambalan perangkat lunak, penskalaan klaster, dll. Semuanya dikelola oleh Amazon.
Fitur:
- Skalabilitas tinggi
- Rentang hash untuk rentang nilai yang diindeks
- Simpan data dalam partisi
- Gunakan JSON sebagai protokol transport alih-alih format penyimpanan.
Kelebihan:
- Mudah disiapkan
- Menyediakan API AWS DynamoDB yang mendasarinya
- Penskalaan otomatis
- Mengurangi kerumitan pengelolaan ketersediaan tinggi dan penskalaan selama waktu penggunaan puncak
- Enkripsi saat istirahat
- Keamanan DynamoDB dikendalikan oleh identitas AWS.
Kekurangan:
- Tidak gratis untuk membuat cadangan tabel Anda
- Ada batas ukuran.
Amazon DynamoDB: menggunakan model database NoSQL yang non-relasional, memungkinkan dokumen, grafik, dan kolom di antara model datanya.
8. Contoh Database Non Relasional : Couchbase
Fokusnya adalah pada kemudahan penggunaan, termasuk web. Ini adalah database toko dokumen NoSQL. Couchbase Server adalah database dokumen NoSQL untuk aplikasi web interaktif. Ini memiliki model data yang fleksibel, mudah diperluas, dan memberikan kinerja tinggi yang konsisten.
Couchbase Server, dokumen JSON digunakan untuk merepresentasikan objek aplikasi dan hubungan antar objek.
Fitur:
- Penerapan failover otomatis dan pengelolaan Couchbase dalam skala besar dengan Kubernetes
- Partisi indeks
- Dukungan asli untuk data JSON melalui kueri N1QL
- Kompresi data
- Penyajian event
Kelebihan:
- Pengoptimalan komprehensif
- Pengurangan biaya jaringan, memori, dan penyimpanan
- Panel admin yang luar biasa dengan banyak wawasan tentang kinerja klaster Anda.
Kekurangan:
- Couchbase bukan open source.
Couchbase: adalah database dokumen NoSQL untuk aplikasi web interaktif. Ini memiliki model data yang fleksibel, mudah diperluas, dan memberikan kinerja tinggi yang konsisten.
9. Memcache
Memcached adalah sistem caching dalam memori terdistribusi open-source, berkinerja tinggi yang dirancang untuk mempercepat aplikasi web dinamis dengan mengurangi beban basis data.
Ini adalah kamus nilai kunci dari string, objek, dll. yang disimpan dalam memori, yang dihasilkan oleh panggilan database, panggilan API, atau rendering halaman. Sekarang digunakan oleh situs-situs seperti Netlog, Facebook, Flickr, Wikipedia, Twitter, dan YouTube.
Fitur:
- Aplikasi client-server melalui TCP atau UDP
- Mengurangi beban basis data
- Server memcached adalah tabel hash besar
- Situs web efisien dengan beban basis data tinggi
- Didistribusikan di bawah lisensi Distribusi Perangkat Lunak Berkeley
- Menggabungkan memcached ke tengah kumpulan logis.
Kelebihan:
- Instalasi cepat
- Didokumentasikan secara luas di komunitas besar.
Kekurangan:
- Hanya mendukung sistem operasi Linux dan sistem yang mirip dengan BSD
- Tidak mendukung redundansi data
- Tidak mendukung kunci, read-through, CAS.
Memcached: adalah sistem caching dalam memori terdistribusi open-source, berkinerja tinggi, yang dirancang untuk mempercepat aplikasi web dinamis dengan mengurangi beban basis data.
10. CouchDB
CouchDB adalah database NoSQL open source yang menggunakan JSON untuk menyimpan informasi dan JavaScript sebagai bahasa query. Ini menggunakan sistem kontrol multi-versi yang menghindari file DB diblokir selama penulisan. Ini dilisensikan di bawah Apache. Itu peringkat No. 1 di antara database NoSQL paling populer di 2016.
Fitur:
- Peta / Kurangi daftar dan tampilan
- Menyediakan keamanan tingkat basis data
- Otentikasi dibuka melalui cookie sesi seperti aplikasi web
- JSONP gratis
- GUI untuk menangani data, izin, dan konfigurasi.
Keuntungan:
- Memetakan/Mengurangi, data kueri agak terpisah dari data itu sendiri
- Menyimpan data JSON apa pun.
Kekurangan:
- Kueri sewenang-wenang mahal
- Ruang tambahan diperlukan untuk menggunakan CouchDB
- XML tidak didukung.
CouchDB: adalah database NoSQL open source yang menggunakan JSON untuk menyimpan informasi dan JavaScript sebagai bahasa query.
Kesimpulan
Ketika Internet baru saja muncul, lalu lintas situs web umumnya tidak terlalu besar, dan basis data umum cukup untuk menanganinya dengan mudah. Dengan popularitas Internet, data pengguna meningkat, dan lalu lintas banyak situs web cukup besar, saat ini database umum sangat sulit untuk ditangani.
Oleh karena itu, perlu dikembangkan beberapa database yang cocok untuk big data Basis data NoSql dirancang untuk memecahkan masalah ini. Contoh Database Non Relasional diatas adalah contoh basis data yang populer dan paling besar digunakan programer dalam menangani masalah tersebut.