NoSQL vs SQL
SQL yang disingkat dari structured query language digunakan untuk memanipulasi data. SQL merupakan salah satu opsi yang serbaguna dan banyak digunakan dalam tempat menyimpan data, dengan hal ini SQL merupakan pilihan yang cukup aman dan baik untuk membangun sebuah aplikasi. Tapi disisi lain, SQL memiliki batas. SQL butuh dirancang dengan baik untuk dapat digunakan. Dengan begitu, bentuk dari data harus mengikuti struktur yang ada.
Penggunaan SQL untuk menyimpan database dalam membangun sebuah aplikasi sangat relevan. Tapi perubahan terjadi awal 2000an dimana Yahoo, Google, Facebook, Amazon.com dan eBay membutuhkan hal yang lebih. Perusahaan-perusahaan dalam bidang internet tersebut dan perusahaan lain juga membutuhkan alternatif dari relational database untuk membuat aplikasi web yang yang bervariasi dan bisa beradaptasi dengan perubahan data yang cepat.
Perusahaan yang bergerak dibidang internet tersebut butuh tempat untuk menyimpan data yang tidak terstruktur. NoSQL datang dengan konsep dinamis dan fleksibel sesuai kebutuhan. Data dapat disimpan dengan berbagai cara, column-oriented, document-oriented, graph-based atau terorganisir seperti KeyValue store. Dengan fleksibilitas ini tidak lagi diperlukan pembuatan dokumen dengan struktur terlebih dahulu. Setiap dokumen memiliki struktur sendiri. Dan bisa menambah fields dalam perjalanan membangun sebuah aplikasi.
Dari segi skalabilitas, SQL dapat dilihat secara vertikal dimana untuk mempercepat waktu proses dalam server dapat meningkatkan CPU, RAM atau SSD. Disamping itu, NoSQL dilihat secara horizontal. Dimana untuk dapat menangani traffic kebutuhan data dapat melakukan sharding atau dengan kata lain menambah server dalam database NoSQL.
Dari segi struktur, SQL memiliki sudut pandang tabel sementara NoSQL dapat dilihat sebagai document-based, key-value pairs, graph databases atau wide-column stores. Ini membuat database SQL relasional menjadi pilihan yang lebih baik untuk aplikasi yang membutuhkan transaksi multi-row, seperti sistem akuntansi atau untuk sistem lama yang dibangun untuk struktur relasional. MySQL, Oracle, PostgreSQL, dan Microsoft SQL Server merupakan contoh dari database berbasis SQL. Sementara NoSQL adalah MongoDB, BigTable, Redis, RavenDB Cassandra, HBase, Neo4j dan CouchDB.