Tinjauan Pangkalan Data NoSQL

Akronim NoSQL dicipta pada tahun 1998. Ramai orang berfikir NoSQL adalah istilah menghina yang diciptakan untuk mencubit di SQL. Pada hakikatnya, istilah ini bermaksud Bukan Hanya SQL. Ideanya ialah kedua-dua teknologi boleh wujud bersama dan masing-masing mempunyai tempatnya. Pergerakan NoSQL telah menjadi berita dalam beberapa tahun yang lalu kerana ramai pemimpin Web 2.0 telah menggunakan teknologi NoSQL. Syarikat-syarikat seperti Facebook, Twitter, Digg, Amazon, LinkedIn, dan Google menggunakan semua NoSQL dalam satu cara atau yang lain.

Mari pecahkan NoSQL supaya anda dapat menerangkannya kepada CIO anda atau rakan sekerja anda.

NoSQL Muncul Daripada Keperluan

Penyimpanan Data: Data digital yang disimpan di dunia diukur dalam exabytes. Exabyte bersamaan dengan satu bilion gigabait (GB) data. Menurut Internet.com, jumlah data yang disimpan pada tahun 2006 adalah 161 exabytes. Hanya 4 tahun kemudian pada tahun 2010, jumlah data yang disimpan akan menjadi hampir 1,000 ExaBytes yang merupakan peningkatan lebih dari 500%. Dengan kata lain, terdapat banyak data yang disimpan di dunia dan hanya akan terus berkembang.

Data yang Sambung: Data terus menjadi lebih berkaitan. Penciptaan web yang dipupuk dalam hiperpautan, blog mempunyai pingback dan setiap sistem rangkaian sosial utama mempunyai tag yang mengikat perkara bersama-sama. Sistem utama dibina untuk saling berkaitan.

Struktur Data Kompleks: NoSQL boleh mengendalikan struktur data bersarang hierarki dengan mudah. Untuk mencapai perkara yang sama dalam SQL, anda memerlukan beberapa jadual hubungan dengan semua jenis kunci.

Di samping itu, terdapat hubungan antara prestasi dan kerumitan data. Prestasi boleh merosot dalam RDBMS tradisional kerana kami menyimpan sejumlah besar data yang diperlukan dalam aplikasi rangkaian sosial dan web semantik.

Apa itu NoSQL?

Saya rasa satu cara untuk menentukan NoSQL adalah untuk mempertimbangkan apa yang tidak.

Ia bukan SQL dan ia bukan hubungan. Seperti namanya, ia bukan pengganti untuk RDBMS tetapi pujiannya. NoSQL direka untuk menyimpan data yang diedarkan untuk keperluan data skala besar. Fikirkan Facebook dengan 500,000,000 pengguna atau Twitter yang mengumpulkan Terabits data setiap hari.

Dalam pangkalan data NoSQL, tiada skema yang tetap dan tidak bergabung. RDBMS "skala" dengan mendapatkan perkakasan yang lebih pantas dan lebih pantas dan menambahkan memori. Sebaliknya, NoSQL boleh mengambil kesempatan daripada "scaling out". Penskalaan merujuk kepada penyebaran beban ke atas banyak sistem komoditi. Ini adalah komponen NoSQL yang menjadikannya penyelesaian yang murah untuk dataset besar.

Kategori NoSQL

Dunia NoSQL semasa masuk ke dalam 4 kategori asas.

  1. Kedai utama-nilai didasarkan terutamanya pada Dynamo Paper Amazon yang ditulis pada tahun 2007. Ide utama ialah kewujudan jadual hash di mana terdapat kunci yang unik dan penunjuk kepada item data tertentu. Pemetaan ini biasanya disertakan dengan mekanisme cache untuk memaksimumkan prestasi.
    Kedai Family Column telah dibuat untuk menyimpan dan memproses sejumlah besar data yang diedarkan ke atas banyak mesin. Masih ada kunci tetapi mereka menunjuk kepada beberapa lajur. Dalam kes BigTable (model Family NoSQL Google Column), baris dikenal pasti oleh kunci baris dengan data yang disusun dan disimpan oleh kunci ini. Lajur disusun oleh keluarga lajur.
  1. Pangkalan Data Dokumen telah diilhamkan oleh Lotus Notes dan sama dengan kedai bernilai utama. Model ini pada dasarnya adalah versi dokumen yang merupakan koleksi koleksi nilai utama yang lain. Dokumen separuh berstruktur disimpan dalam format seperti JSON.
  2. Pangkalan Data Graf dibina dengan nod, hubungan antara nota dan sifat nod. Daripada jadual baris dan lajur dan struktur tegar SQL, model graf yang fleksibel digunakan yang boleh menyentuh banyak mesin.

Pemain NoSQL Utama

Pemain utama dalam NoSQL telah muncul terutamanya kerana organisasi yang mengadopsi mereka. Sebahagian daripada teknologi NoSQL terbesar termasuk:

Meminta NoSQL

Persoalan bagaimana untuk menanyakan pangkalan data NoSQL adalah apa yang kebanyakan peminat berminat. Lagipun, data yang disimpan dalam pangkalan data yang besar tidak melakukan sesiapa yang baik jika anda tidak boleh mengambil dan menunjukkannya kepada pengguna akhir atau perkhidmatan web. Pangkalan data NoSQL tidak menyediakan bahasa pertanyaan deklaratif peringkat tinggi seperti SQL. Sebaliknya, pertanyaan pangkalan data ini adalah model data spesifik.

Banyak platform NoSQL membenarkan antara muka RESTful dengan data. API pertanyaan tawaran lain. Terdapat beberapa alat pertanyaan yang telah dibangunkan yang cuba menanyakan beberapa pangkalan data NoSQL. Alat ini biasanya berfungsi merentasi satu kategori NoSQL. Satu contoh adalah SPARQL. SPARQL adalah spesifikasi pertanyaan deklaratif yang direka untuk pangkalan grafik. Berikut adalah contoh pertanyaan SPARQL yang mengambil URL dari blogger tertentu (ihsan IBM):

PREFIX foaf:
PILIH? Url
FROM
WHERE {
? penyumbang foaf: nama "Jon Foobar".
? penyumbang foaf: weblog? url.
}

Masa Depan NoSQL

Organisasi yang mempunyai keperluan penyimpanan data yang besar kelihatan serius di NoSQL. Rupa-rupanya, konsep ini tidak mendapat banyak daya tarikan dalam organisasi yang lebih kecil. Dalam kaji selidik yang dijalankan oleh Week Information, 44% daripada profesional IT perniagaan belum pernah mendengar NoSQL. Seterusnya, hanya 1% daripada responden melaporkan bahawa NoSQL adalah sebahagian daripada hala tuju strategik mereka. Jelas sekali, NoSQL mempunyai kedudukannya dalam dunia yang bersambung kita tetapi perlu terus berkembang untuk mendapatkan daya tarik massa yang banyak difikirkannya boleh.