Ikhtisar NoSQL

Akronim NoSQL diciptakan pada tahun 1998. Banyak orang berpikir NoSQL adalah istilah menghina yang dibuat untuk menyodok SQL. Pada kenyataannya, istilah tersebut berarti Tidak Hanya SQL. Idenya adalah bahwa kedua teknologi dapat hidup berdampingan dan masing-masing memiliki tempatnya. Gerakan NoSQL telah menjadi berita dalam beberapa tahun terakhir karena banyak pemimpin Web 2.0 telah mengadopsi teknologi NoSQL. Perusahaan seperti Facebook, Twitter, Digg, Amazon, LinkedIn, dan Google semuanya menggunakan NoSQL dalam satu atau lain cara. Mari kita uraikan NoSQL sehingga Anda dapat menjelaskannya kepada CIO Anda atau bahkan rekan kerja Anda.

database MySQL.

NoSQL Muncul Dari Kebutuhan

Penyimpanan data: Data digital yang tersimpan di dunia diukur dalam exabytes. Satu exabyte sama dengan satu miliar gigabyte (GB) data. Berdasarkan Internet.com, jumlah data tersimpan yang ditambahkan pada tahun 2006 adalah 161 exabyte. 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, ada banyak data yang disimpan di dunia dan akan terus bertambah.

Data yang saling terhubung: Data terus menjadi lebih terhubung. Penciptaan web dipupuk dalam hyperlink, blog memiliki pingback dan setiap sistem jaringan sosial utama memiliki tag yang mengikat semuanya. Sistem utama dibangun untuk saling berhubungan.

Struktur Data Kompleks: NoSQL dapat menangani struktur data bersarang hierarkis dengan mudah. Untuk mencapai hal yang sama dalam SQL, Anda memerlukan beberapa tabel relasional dengan semua jenis kunci. Selain itu, ada hubungan antara kinerja dan kompleksitas data. Performa dapat menurun dalam RDBMS tradisional karena kami menyimpan sejumlah besar data yang diperlukan dalam aplikasi jejaring sosial dan Web semantik.

Apa itu NoSQL?

Saya kira salah satu cara untuk mendefinisikan NoSQL adalah dengan mempertimbangkan apa yang bukan. Ini bukan SQL dan tidak relasional. Seperti namanya, ini bukan pengganti RDBMS tetapi melengkapinya. NoSQL dirancang untuk penyimpanan data terdistribusi untuk kebutuhan data berskala sangat besar. Pikirkan tentang Facebook dengan 500.000.000 penggunanya atau Twitter yang mengumpulkan Terabit data setiap hari.

Dalam database NoSQL, tidak ada skema tetap dan tidak ada gabungan. RDBMS "meningkatkan" dengan mendapatkan perangkat keras yang lebih cepat dan lebih cepat dan menambahkan memori. NoSQL, di sisi lain, dapat memanfaatkan "scaling out". Scaling out mengacu pada penyebaran beban di banyak sistem komoditas. Ini adalah komponen NoSQL yang menjadikannya solusi murah untuk kumpulan data besar.

Kategori NoSQL

Dunia NoSQL saat ini cocok dengan 4 kategori dasar.

  1. Toko nilai-kunci didasarkan terutama pada Kertas Dinamo Amazon yang ditulis pada tahun 2007. Ide utamanya adalah keberadaan tabel hash di mana ada kunci unik dan penunjuk ke item data tertentu. Pemetaan ini biasanya disertai dengan mekanisme cache untuk memaksimalkan kinerja.
    1. Toko Keluarga Kolom diciptakan untuk menyimpan dan memproses sejumlah besar data yang didistribusikan melalui banyak mesin. Masih ada kunci tetapi mereka menunjuk ke beberapa kolom. Dalam kasus BigTable (model NoSQL Keluarga Kolom Google), baris diidentifikasi oleh kunci baris dengan data yang diurutkan dan disimpan oleh kunci ini. Kolom diatur oleh keluarga kolom.
  2. Database Dokumen terinspirasi oleh Catatan Teratai dan mirip dengan penyimpanan nilai kunci. Model pada dasarnya adalah dokumen berversi yang merupakan kumpulan dari kumpulan nilai kunci lainnya. Dokumen semi-terstruktur disimpan dalam format seperti JSON.
  3. Database Grafiks dibangun dengan node, hubungan antara catatan dan properti node. Alih-alih tabel baris dan kolom dan struktur kaku SQL, model grafik fleksibel digunakan yang dapat menskala di banyak mesin.

Pemain NoSQL Utama

Pemain utama di NoSQL telah muncul terutama karena organisasi yang telah mengadopsi mereka. Beberapa teknologi NoSQL terbesar meliputi:

  • Dinamo: Dynamo dibuat oleh Amazon.com dan merupakan database Key-Value NoSQL yang paling menonjol. Amazon membutuhkan platform terdistribusi yang sangat skalabel untuk bisnis e-commerce mereka sehingga mereka mengembangkan Dynamo. Amazon S3 menggunakan Dynamo sebagai mekanisme penyimpanan.
  • Kasandra:Cassandra open source oleh Facebook dan merupakan database NoSQL yang berorientasi kolom.
  • Meja besar: BigTable adalah database berorientasi kolom milik Google. Google mengizinkan penggunaan BigTable tetapi hanya untuk Google App Engine.
  • SimpleDB: SimpleDB adalah database Amazon lainnya. Digunakan untuk Amazon EC2 dan S3, ini adalah bagian dari Amazon Web Services yang membebankan biaya tergantung pada penggunaan.
  • SofaDB:SofaDB bersama dengan MongoDB adalah database NoSQL berorientasi dokumen open source.
  • Neo4J:Neo4j adalah database grafik open source.

Meminta NoSQL

Pertanyaan tentang bagaimana membuat kueri database NoSQL adalah yang paling diminati oleh sebagian besar pengembang. Lagi pula, data yang disimpan dalam database besar tidak ada gunanya bagi siapa pun jika Anda tidak dapat mengambil dan menunjukkannya kepada pengguna akhir atau layanan web. Basis data NoSQL tidak menyediakan bahasa kueri deklaratif tingkat tinggi seperti SQL. Sebaliknya, menanyakan basis data ini adalah khusus model data.

Banyak platform NoSQL memungkinkan antarmuka RESTful ke data. API kueri penawaran lainnya. Ada beberapa alat kueri yang telah dikembangkan yang mencoba melakukan kueri beberapa basis data NoSQL. Alat-alat ini biasanya bekerja di satu kategori NoSQL. Salah satu contohnya adalah SPARQL. SPARQL adalah spesifikasi kueri deklaratif yang dirancang untuk basis data grafik. Berikut adalah contoh kueri SPARQL yang mengambil URL dari blogger tertentu (milik IBM):

PREFIX foaf: 
PILIH ?url
DARI
DI MANA {
?kontributor foaf: nama "Jon Foobar" .
?kontributor foaf: weblog ?url .
}

Masa Depan NoSQL

Organisasi yang memiliki kebutuhan penyimpanan data yang besar sangat memperhatikan NoSQL. Rupanya, konsep tersebut tidak mendapatkan banyak daya tarik di organisasi yang lebih kecil. Dalam survei yang dilakukan oleh Information Week, 44% profesional TI bisnis belum pernah mendengar tentang NoSQL. Selanjutnya, hanya 1% responden yang melaporkan bahwa NoSQL adalah bagian dari arahan strategis mereka. Jelas, NoSQL memiliki tempatnya di dunia kita yang terhubung tetapi perlu terus berkembang untuk mendapatkan daya tarik massal yang menurut banyak orang bisa dimiliki.