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 agar Anda dapat menjelaskannya kepada CIO Anda atau bahkan rekan kerja Anda.
NoSQL Muncul Dari Kebutuhan
Penyimpanan Data: Data digital yang disimpan di dunia diukur dalam exabyte. Satu exabyte sama dengan satu miliar gigabyte (GB) data. Menurut Internet.com, jumlah data tersimpan yang ditambahkan pada tahun 2006 adalah 161 exabyte. Hanya 4 tahun kemudian di 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 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 hierarki 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. Kinerja 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 pengguna 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.
- Key-values Stores terutama didasarkan pada Dynamo Paper 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.
- Document Databases terinspirasi oleh Lotus Notes dan mirip dengan key-value store. Model pada dasarnya adalah dokumen berversi yang merupakan kumpulan dari kumpulan nilai kunci lainnya. Dokumen semi-terstruktur disimpan dalam format seperti JSON.
- Graph Databases 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.
Column Family Stores dibuat 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.
Pemain NoSQL Utama
Pemain utama NoSQL muncul terutama karena organisasi yang mengadopsinya. Beberapa teknologi NoSQL terbesar meliputi:
- Dynamo: 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.
- Cassandra: Cassandra bersumber terbuka oleh Facebook dan merupakan basis data NoSQL yang berorientasi kolom.
- BigTable: 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 mengenakan biaya tergantung pada penggunaan.
- CouchDB: CouchDB bersama dengan MongoDB adalah database NoSQL berorientasi dokumen open source.
- Neo4J: Neo4j adalah basis data grafik sumber terbuka.
Meminta NoSQL
Pertanyaan tentang cara mengkueri basis data NoSQL adalah hal yang paling diminati oleh sebagian besar pengembang. Lagi pula, data yang disimpan dalam basis data besar tidak akan berguna 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, kueri database ini adalah> PREFIX foaf:
SELECT ?url
FROM
WHERE {
?contributor foaf:name "Jon Foobar".
?contributor 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 arah strategis mereka. Jelas, NoSQL memiliki tempatnya di dunia kita yang terhubung tetapi perlu terus berkembang untuk mendapatkan daya tarik massal yang menurut banyak orang dapat dimiliki.