Apa Itu New SQL?
New SQL adalah suatu materi yang menarik untuk dibahas, dipahami, dan diemplementasikan. Kalau untuk programmer sendiri sebenarnya pasti sudah terbiasa dengan SQL, relational database management (RDBMS) seperti MySQL atau Postgres, dan setelah itu ada juga yang namanya NoSQL like MongoDB, Cassandra dan laen nya yang tujuan pengembangan nya adalah untuk mengelola data-data terdistribusi dan scalable. Setelah itu muncul anak baru yang cukup menarik dan cukup menyenangkan untuk di explore yaitu New SQL.
Lalu, apa itu New SQL?
New SQL adalah modern SQL database yang digunakan untuk solving beberapa masalah utama yang berkaitan dengan traditional online transaction processing (OLTP) RDBMS dengan cara peningkatan perfomance NoSQL database dengan tetap mempertahankan traditional database management system.
Dengan kata lain New SQL merupakan Relational Database System yang menggabungkan OLTP, High Performance & Scalability di NoSQL, New SQL juga mempertahankan konsep ACID (Atomicity, Consistency, Isolation, and Durability) pada traditional DBMS. Main category dari New SQL adalah new architecure, SQL Enginee dan Database as a Service (DBaaS). Berikut beberapa istilah dan konsep pada New SQL.
- Partitioning / Sharding
- Replication
- Secondary Indexes
Dengan fitur ini kita bisa melihat history dari perubahan database yang terjadi, jadi jika pada suatu hari ada data yang tiba-tiba berupa administrator bisa melihat changelog dengan mudah - Concurency Control
Fitur ini digunakan untuk mempertahankan data original dan memastikan proses transaksi di database berjalan lancar jika ada suatu kondisi database tersebut diakses oleh banyak user dan pada banyak user tersebut melakukan perubahan data secara bersamaan. Jadi semua perubahan dan siapa yang mengubah tercatat pada database. - CrashOver
Fitur ini sangat menarik kalo yang familiar dengan konsep git dimana kita bisa kembali ke suatu commitan tertentu misal terjadi sesuatu di proses developement, pada New SQL ini kita jg bisa rollback pada state / waktu tertentu, jadi data-data lama sebelum terjadi crash masih bisa di selamatkan.
Oke, sekarang kita bahas beberpa keuntungan kalo kita menggunakan New SQL
- Dengan konsep partitioning database as default penyimpanan data maka akan bisa mengurangi system’s communication overhead sehingga akses database lebih cepat dan mudah walaupaun data yang kita simpa banyak
- Dengan mempertahankan ACID transactions maka data-data original sebelum ada perubahan tetep masih bisa kita ambil jika suatu saat terjadi corrupt pada sistem yang kita gunakan
- Untuk data yang kompleks New SQL sangat support
- NewSQL merupakan highly scalable database jadi dapat dengan udah kita scaling.
Nah sudah karena sudah tau pengertian, konsep dan benefit nya, yuk mari kita lihat beberapa opsi NewSQL yang bisa kita pake
- ClustrixDB,
- NuoDB,
- CockroachDB,
- Pivotal GemFire XD,
- Altibase,
- MemSQL,
- VoltDB, c-treeACE,
- Percona TokuDB,
- Apache Trafodion,
- dan TIBCO ActiveSpaces, ActorDB.
Dari banyak pilihan diatas berdasarkan hasil benchmark dari berbagai sumber data ClustriDB sejauh ini jadi pilihan yang paling tinggi rate nya.
Berikut nih tampilan clustrixDB supaya kita bisa ada gambaran
Kesimpulan :
NewSQL merupakan suatu database yang mengkombinasikan fungsi-fungsi pada RDBMS traditional like MySQL, Postgres dengan NoSQL seperti MongoDB, CassandraDB dll. Sehingga kekurangan dari dari masing2 database bisa disolve kan dan kelebihan dari RDBMS dan NoSQL bisa digabung.
Jika Anda tertarik untuk lebih mendalami lagi mengenai new SQL, jangan ragu untuk mengikuti pelatihan IT bersama SUHU. Kontak kami di mail@suhu.co.id.
Written by :
Abdul Hamid (Lead IT Software Development TLab)