Rumah Keuangan Pribadi Fitur umum dari NoSQL - dummies

Fitur umum dari NoSQL - dummies

Daftar Isi:

Video: Introducing ML Kit 2025

Video: Introducing ML Kit 2025
Anonim

Buku dan blog NoSQL menawarkan pendapat berbeda tentang basis data NoSQL. Empat fitur inti dari NoSQL, yang ditunjukkan dalam daftar berikut, berlaku untuk kebanyakan database NoSQL. Daftar ini membandingkan NoSQL dengan DBMS relasional tradisional: Skema database agnostik: Skrip database adalah deskripsi semua data dan struktur data yang mungkin dalam basis data relasional. Dengan database NoSQL, skema tidak diperlukan, memberi Anda kebebasan untuk menyimpan informasi tanpa melakukan desain skema di muka.

  • Nonrelasional:

    Hubungan dalam database membuat koneksi antar tabel data. Misalnya, daftar rincian transaksi dapat dihubungkan ke daftar rincian pengiriman yang terpisah. Dengan database NoSQL, informasi ini disimpan sebagai agregat - catatan tunggal dengan segala hal tentang transaksi, termasuk alamat pengiriman.
  • Perangkat keras komoditi: Beberapa database dirancang untuk beroperasi dengan baik (atau hanya) dengan perangkat penyimpanan dan pemrosesan khusus. Dengan database NoSQL, server off-the-shelf murah dapat digunakan. Menambahkan lebih dari server murah ini memungkinkan database NoSQL berskala untuk menangani lebih banyak data.

  • Sangat dapat didistribusikan:

    Database terdistribusi dapat menyimpan dan memproses satu set informasi pada lebih dari satu perangkat. Dengan database NoSQL, sekelompok server dapat digunakan untuk menampung satu database besar.
  • Skema agnostik Database NoSQL adalah skema agnostik. Anda tidak diharuskan untuk melakukan banyak pekerjaan desain di muka sebelum Anda dapat menyimpan data di database NoSQL. Anda bisa mulai coding dan menyimpan dan mengambil data tanpa mengetahui bagaimana database menyimpan dan bekerja secara internal. (Jika dan bila Anda memerlukan fungsionalitas lanjutan, Anda dapat menambahkan indeks atau men-tweak struktur penyimpanan data secara manual.) Skema agnostisisme mungkin adalah perbedaan paling signifikan antara database NoSQL dan relasional.

Manfaat besar untuk database agnostik skema adalah waktu pengembangan dipersingkat. Manfaat ini meningkat saat Anda melewati beberapa rilis pengembangan dan perlu mengubah struktur data internal di database.

Misalnya, dalam RDBMS tradisional, Anda menjalani proses perancangan ulang skema. Skema menginstruksikan database tentang data yang diharapkan. Ubah data yang tersimpan, atau strukturnya, dan Anda harus membangun kembali database menggunakan skema yang dimodifikasi. Jika Anda membuat perubahan, Anda harus meluangkan banyak waktu untuk menentukan bagaimana mengembalikan arsitek data yang ada. Dalam database NoSQL, Anda cukup menyimpan struktur data yang berbeda. Tidak perlu memberi tahu database sebelumnya.

Anda mungkin harus mengubah kueri Anda sesuai dengan itu, mungkin menambahkan indeks spesifik

yang sesekali

(seperti indeks rentang bilangan bulat untuk memungkinkan kueri spesifik dari kueri yang lebih kecil dan lebih tinggi), namun keseluruhan prosesnya jauh lebih menyakitkan daripada dengan RDBMS. RDBMS lepas landas karena fleksibilitasnya dan karena, dengan menggunakan SQL, mempercepat pengubahan query. Database NoSQL memberikan fleksibilitas ini untuk mengubah skema dan kueri, yang merupakan salah satu alasan utama mengapa mereka akan semakin diadopsi dari waktu ke waktu. Bahkan pada pertanyaan, Anda mungkin tidak perlu terlalu khawatir untuk mengetahui perubahan skema - pertimbangkan indeks di atas nomor rekening lapangan, di mana

nomor rekening

dapat ditemukan di manapun dalam dokumen yang disimpan di sebuah database NoSQL Anda dapat mengubah struktur dan relokasi tempat nomor rekening disimpan, dan jika elemen tersebut memiliki nama yang sama di tempat lain dalam dokumen, dokumen ini masih tersedia untuk kueri tanpa perubahan pada mekanisme kueri Anda. Perhatikan bahwa tidak semua database NoSQL sepenuhnya skema agnostik. Beberapa, seperti HBase, mengharuskan Anda untuk menghentikan database untuk mengubah definisi kolom. Mereka masih dianggap database NoSQL karena tidak semua bidang yang didefinisikan (kolom dalam kasus ini) harus diketahui sebelumnya untuk setiap record - hanya kolom keluarga. RDBMS mengizinkan bidang individu dalam catatan diidentifikasi sebagai nilai

null

. Masalah dengan RDBMS adalah bahwa ukuran data dan kinerja tersimpan terpengaruh secara negatif saat penyimpanan dicadangkan untuk nilai null jika rekaman mungkin terjadi di masa mendatang memiliki nilai di kolom itu. Di Cassandra, Anda tidak menyediakan data kolom itu, yang memecahkan masalah. Nonrelational Sistem manajemen basis data relasional telah menjadi cara dominan untuk menyimpan data aplikasi selama lebih dari 20 tahun. Banyak karya matematis yang dilakukan untuk membuktikan teori yang mendasari mereka.

Struktur ini menggambarkan bagaimana tabel saling berhubungan. Baris Pesanan tunggal mungkin berhubungan dengan banyak baris Alamat Pengiriman, namun masing-masing alamat Pengiriman Address juga berhubungan dengan beberapa baris Order. Ini adalah

banyak

- sampai - banyak hubungan . Database NoSQL tidak memiliki konsep hubungan antara catatan mereka. Mereka malah denormalize data. Ini berarti bahwa dalam database NoSQL akan memiliki struktur Order dengan Alamat Pengiriman yang disematkan. Ini berarti alamat pengiriman diduplikasi di setiap baris Order yang menggunakannya. Pendekatan ini memiliki keuntungan karena tidak memerlukan waktu query yang kompleks bergabung di beberapa struktur data (tabel) sekalipun. Database NoSQL tidak menyimpan informasi tentang bagaimana catatan individu berhubungan dengan catatan lain dalam database, yang mungkin terdengar seperti pembatasan. Namun, database NoSQL lebih fleksibel dalam hal struktur data yang dapat Anda simpan.

Pertimbangkan pesanan dari pengecer online. Perintah tersebut bisa mencakup kode produk, jumlah, harga barang, dan uraian item, serta informasi tentang pemesanan orang, seperti alamat pengiriman dan informasi pembayaran.

Daripada memasukkan sepuluh baris dalam berbagai tabel dalam basis data relasional, Anda dapat menyimpan satu struktur untuk semua informasi pesanan ini - misalnya, sebagai dokumen JSON atau XML.

Dalam teori database relasional, tujuannya adalah untuk

menormalkan

data Anda (yaitu mengatur kolom dan tabel untuk menghapus data duplikat). Di database NoSQL - terutama basis data Dokumen atau Agregat - Anda sering dengan sengaja menentukan data, menyimpan beberapa data beberapa kali. Anda dapat menyimpan, misalnya, "Alamat Pengiriman Pelanggan" berkali-kali di banyak pesanan yang dibuat oleh pelanggan dari waktu ke waktu, daripada menyimpannya sekali dan merujuknya dalam beberapa pesanan. Melakukan hal itu membutuhkan ruang penyimpanan ekstra, dan sedikit pemikiran dalam mengelola aplikasi Anda. Jadi mengapa melakukannya? Ada dua keuntungan untuk menyimpan data beberapa kali:

Penyimpanan dan pengambilan yang mudah:

Simpan saja dan dapatkan satu catatan.

  • Kecepatan kueri: Di basis data relasional, Anda bergabung dengan informasi dan menambahkan batasan di tabel pada waktu kueri. Ini mungkin memerlukan mesin database untuk mengevaluasi banyak tabel. Semakin banyak kendala kueri yang Anda miliki pada tabel yang berbeda, semakin Anda mengurangi kecepatan kueri Anda. (Inilah sebabnya mengapa RDBMS memiliki pandangan yang dapat dihitung sebelumnya.) Dalam database NoSQL, semua informasi yang Anda butuhkan untuk mengevaluasi kueri Anda ada dalam satu dokumen. Karena itu, Anda bisa dengan cepat menentukan daftar dokumen yang cocok.

  • Pandangan relasional dan denormalizations NoSQL adalah pendekatan yang berbeda terhadap masalah data yang tersebar di seluruh catatan. Di NoSQL, Anda mungkin harus mempertahankan beberapa denormalizations yang mewakili berbagai tampilan data yang sama. Pendekatan ini meningkatkan biaya penyimpanan namun memberi Anda waktu kueri yang jauh lebih baik. Mengingat biaya penyimpanan yang terus berkurang dan peningkatan kecepatan pengembangan dan query, data denormalized (alias

terwujud views) bukanlah alasan pembunuh untuk mengabaikan solusi NoSQL. Ini hanya cara yang berbeda untuk mendekati masalah yang sama, dengan kelebihan dan kekurangannya sendiri. NoSQL sangat terdistribusi dan menggunakan perangkat keras komoditas Di banyak database NoSQL, keputusan desain utama adalah menggunakan beberapa komputer untuk menyimpan data untuk database tunggal, daripada memiliki keseluruhan database pada satu server.

Menyimpan data di beberapa mesin dan membiarkannya dipertanyakan sulit dilakukan. Anda harus mengirim query ke semua server dan menunggu jawaban. Mudah-mudahan, Anda menyiapkan mesin sehingga cukup cepat untuk saling berbicara untuk menangani kueri terdistribusi!

Keuntungan utama dari pendekatan ini adalah dalam hal dataset yang sangat besar, karena untuk beberapa persyaratan penyimpanan, bahkan server tunggal terbesar yang ada tidak dapat menyimpan atau memproses semua data yang Anda butuhkan. Pertimbangkan semua pesan di Twitter dan Facebook. Anda memerlukan mekanisme terdistribusi untuk mengelola semua data secara efektif, meskipun sebagian besar tentang apa yang dimiliki orang untuk sarapan dan video kucing lucu.

Keuntungan mendistribusikan database Anda adalah Anda dapat menggunakan server yang lebih murah, yang disebut

server komoditas

.Bahkan untuk dataset yang lebih kecil, mungkin lebih murah untuk membeli tiga server komoditas daripada server tunggal bertenaga tinggi. Keuntungan utama lainnya adalah menambahkan ketersediaan tinggi lebih mudah; Anda sudah setengah jalan di sana dengan mendistribusikan data Anda. Jika Anda mereplikasi data Anda sekali atau dua kali di server lain di cluster, data Anda tetap dapat diakses, bahkan jika salah satu server mogok, terbakar, dan mati. Tidak semua database open-source mendukung ketersediaan tinggi kecuali jika Anda membeli versi database yang didukung dan berbayar untuk perusahaan yang mengembangkannya.

Pengecualian terhadap aturan yang sangat terdistribusi adalah database grafik. Agar dapat secara efektif menjawab kueri grafik tertentu secara tepat waktu, data perlu disimpan di server tunggal. Belum ada yang memecahkan masalah ini.

Pertimbangkan dengan seksama apakah Anda memerlukan toko triple atau toko grafis. Tiga toko umumnya dapat didistribusikan, sedangkan toko grafik tidak. Yang mana yang Anda butuhkan bergantung pada kueri yang harus Anda dukung.

Fitur umum dari NoSQL - dummies

Pilihan Editor

Kantor 2011 untuk Mac: Membuat Tabel dengan Kotak Dialog atau Teks - dummies

Kantor 2011 untuk Mac: Membuat Tabel dengan Kotak Dialog atau Teks - dummies

Sementara ada cara baru untuk membuat tabel di Office 2011 untuk Mac, Anda masih bisa menggunakan teknik stand-by. Menu yang familiar masih bekerja di Office 2011 untuk Mac, dan inilah buktinya. Dialog meja semuanya masih ada di sana: Di Word, pilih Table → Insert → Table; Sebagai alternatif, pada tab Tabel Ribbon, di Tabel Pilihan ...

Kantor 2011 untuk Mac: Melepaskan Command Toolbar - dummies

Kantor 2011 untuk Mac: Melepaskan Command Toolbar - dummies

Apakah Anda menggunakan Office 2011 untuk Mac atau Produk Microsoft Office lainnya, toolbar Anda bisa sangat berantakan. Setiap kali Anda merasa perlu untuk men-tweak antarmuka aplikasi Microsoft Office, Anda perlu memanggil dialog Customize Toolbars and Menus. Ini adalah dialog super kuat di Word, Excel, dan PowerPoint yang memungkinkan Anda ...

Kantor 2011 untuk Mac: Berbagi Toolbar dan Menu - dummies

Kantor 2011 untuk Mac: Berbagi Toolbar dan Menu - dummies

Setelah Anda menyesuaikan Office 2011 Anda bilah alat dan antarmuka, Anda dapat berbagi penyesuaian dengan orang lain. Namun, pastikan bahwa Anda menasihati orang-orang yang telah Anda lakukan sebelum membagikan dokumen Anda dengannya; Jika tidak, mereka mungkin akan terkejut saat mereka membuka dokumen Anda dan melihat susunan toolbar atau menu yang berbeda dari pada apa ...

Pilihan Editor

Penting Office 2007 Commands - dummies

Penting Office 2007 Commands - dummies

Anda dapat membuat program Office 2007 lebih mudah jika Anda menggunakan pintasan sederhana ini. Perintah-perintah ini, seperti mengurungkan kesalahan dan memperbesar dan memperkecil akan membantu Anda menghemat waktu. Memasuki simbol: Untuk memasukkan simbol atau karakter asing yang tidak ada pada keyboard Anda, masuk ke tab Insert dan klik Symbol ...

Menyesuaikan Perintah Menu di Office 2003 - dummies

Menyesuaikan Perintah Menu di Office 2003 - dummies

Office 2003 menyediakan dua teknik untuk menyesuaikan menu dan perintah menu. Anda bisa memulai dari kotak dialog Rearrange Commands atau menggunakan metode drag-and-drop. Teruslah membaca. Menangani perintah menu di kotak dialog Rearrange Commands Teknik tombol Options Toolbar untuk menangani tombol toolbar bagus dan keren, tapi bagaimana jika Anda ingin ...

Pilihan Editor

Bagaimana memecahkan kesalahan logis dalam analisis argumen Pertanyaan GRE - dummies

Bagaimana memecahkan kesalahan logis dalam analisis argumen Pertanyaan GRE - dummies

Ketika Anda menjawab Argument Analysis Pertanyaan di GRE, argumen mungkin tampak logis dan adil di permukaan tapi sebenarnya keliru (keliru, cacat). Alasan melingkar, penalaran sebab-akibat yang keliru, dan generalisasi sweeping adalah tiga tanda argumen lemah. Dengan melihat beberapa kesalahan logis yang lebih umum, Anda dapat mengidentifikasi kelemahan dalam argumen dan ...

Pilihan ganda, Beberapa Jawaban tentang Tes Matematika GRE - Pertanyaan Praktik - dummies

Pilihan ganda, Beberapa Jawaban tentang Tes Matematika GRE - Pertanyaan Praktik - dummies

Meskipun pertanyaan matematika biasanya hanya memiliki satu jawaban yang benar, ini tidak selalu terjadi. Akibatnya, beberapa pertanyaan pilihan ganda pada tes GRE Math akan memberi Anda daftar jawaban dan meminta Anda untuk memilih lebih dari satu. Pertanyaan praktik berikut meminta Anda untuk menemukan nilai kemungkinan yang berbeda secara berurutan dan ...

Pilihan ganda, Beberapa Jawaban tentang Tes Verbal GRE - Pertanyaan Praktik - dummies

Pilihan ganda, Beberapa Jawaban tentang Tes Verbal GRE - Pertanyaan Praktik - dummies

Pada tes GRE Verbal, beberapa pertanyaan pilihan ganda akan memiliki lebih dari satu jawaban yang benar. Untuk pertanyaan ini, Anda akan diminta untuk melihat-lihat pilihan jawaban dan memilih semua yang menurut Anda benar. Dalam pertanyaan praktik berikut, Anda diminta untuk membaca bagian yang disertakan, dan kemudian ...