Ini Catatan Tech a Break X DevTalk bersama Tokopedia dan Tech in Asia


Kamis (18/2) kemarin untuk pertama kalinya ikutan Tech a Break x DevTalk yang diselenggarakan oleh tokopedia yang bekerjasama dengan Tech in Asia Dev Community. Bisa ikut acara ini karena tempo hari saya iseng ikutan Mandiri Hackathon kemarin. Memang saya tidak terpilih, tapi saya ikut teman saya yang terpilih, jadi email saya terdaftar di Tech in Asia Dev Community. Jadi, setiap ada informasi event yang diadakan oleh Tech in Asia pasti masuk ke email.

Yang kamis kemarin itu ternyata acara bulanan yang rutin diadakan oleh tokopedia. Mereka biasa membuat acara Tech a Break secara internal, begitu kata Leontinus Alpha Edison yang merupakan co-founder Tokopedia. Namun pada Tech a Break x DevTalk yang katanya masuk episode ke 9 ini menggandeng Tech in Asia Dev Community dalam pelaksanaannya. Pesertanya pun dibuka lebih luas dan terbuka untuk umum. Karena dibuka untuk umum, dari kapasitas 130 peserta, membludak menjadi 430 peserta dengan 300 adalah waiting list.

Leon - Co-Founder Tokopedia

Tema kali ini menurut saya juga menarik. Database. Yes! karena memang saya dari dulu senang dengan database. Mungkin karena dosen pembimbing saya yang gaul adalah jagoan database oracle. Mungkin karenanya saya terinfluence untuk lebih menyenangi database. Dari mulai MySQL, PostgreSQL hingga sekarang menggunakan Mongo DB. Acara Tech a Break x DevTalk ini menjadi semakin menarik karena menghadirkan Jony Sugianto dari Detik.com, Hendra Budiawan dari Tokopedia dan Budi Raharjo yang merupakan pakar Teknologi Informasi.

Setelah sambutan dari Leon dan Perkenalan sepintas dari Putra selaku Chief of Development Outreach dari Tech in Asia, langsung masuk pada sharing pertama dari Jony Sugianto dari Detik.com. Sedikit informasi, Jony Sugianto ini ternyata pernah kuliah di ITB, namun tidak dilanjut dan memilih kuliah di luar negeri.

Jony Sugianto - Research Engineer detik.com

Pada kesempatan ini, Jony menjelaskan tentang Architecting Database. Penjelasannya dimulai dari Design Database System. Menurutnya, desain database harus memperhatikan 3 hal, yaitu Complexity, Volume, dan Traffic. Ketiga poin ini menentukan pemilihan database yang akan digunakan nanti.

Berbicara soal Complexity berarti berbicara tentang Database Model. Menurut Jony, model database terbagi menjadi 4 macam, Key-values Store, Document Database, Relational Database dan Graph Database.

Key-values store adalah database yang 'hanya' memiliki satu key. Segala pencarian hanya berdasarkan key tersebut walau pun di dalam key tersebut memiliki sturktur data. Model ini sama sekali tidak mengenal key constraints, sehingga tidak mengenal query yang komplek. Contoh tools yang menggunakan model ini adalah Dynamo DB.

ilustrasi data untuk key-values store

Tadinya saya pikir Document Database adalah fase selanjutnya dari pengembangan RDBMS yang sudah ada. Ternyata salah. Document Database justru lebih sederhana jika dibandingkan dengan relational database. Ternyata No-SQL lebih canggih dari SQL itu salah. Namun No-SQL jelas lebih kuenceng ketimbang RDBMS. Contoh tools yang menggunakan model ini adalah Mongo DB.

ilustrasi untuk document database

Relational Database sepertinya tidak perlu banyak cingcong, kayaknya ini yang paling terkenal. Sudah banyak seperti Postgre SQL dan SQL Server. Kita lanjut saja ke Graph Database. Jujur baru tahu ada model beginian. Ternyata saya kurang gaol untuk model yang satu ini. Konsepnya adalah graph, jadi relasinya sangat dinamis. Dan karena relasinya sangat dinamis, maka engine ini adalah yang pualing berat dibandingkan engine database model yang lain. Contoh dari Graph Database ini adalah Hypergraph DB.

ilustrasi untuk graph database

Selanjutnya Jony menjelaskan bahwa Sharding dan Replication pada database fungsinya untuk menangani data yang besar dan baik digunakan ketika traffic read/write data ke database sangat tinggi. Sharding adalah proses split database menjadi beberapa database. Sharding bukan lah mereplika data.

ilustrasi sharding

Sementara Replication adalah mereplika database. Di sini dikenal master dan slave database. Metode ini penting untuk sistem yang tidak boleh mati koneksi database-nya. Ketika masterDB bermasalah, maka harus segera pindah ke Slave, dan mempromote slave menjadi master.
ilustrasi replication

Terakhir, Jony membagi cara untuk menentukan pemilihan database model. Adalah dengan membandingkan Scalability dan Complexity. Jika Scalability harus diperhatikan sementara Complexity bisa diabaikan, disarankan menggunakan Key-values store. Sementara jika Scalability tidak penting dan complexity jadi titik berat, maka graph model harus jadi pilihan. Berikut skema yang diberikan Jony.

cara memilih database model berdasarkan scalability dan complexity

Hendra Budiawan - Senior DBA Tokopedia

Pembicara selanjutnya yang berbagi pada acara Tech a Break x DevTalk adalah Hendra Budiawan selaku Senior Database Administrator di Tokopedia. Pada kesempatan ini Hendra berbagi pengalaman soal pengelolaan database di Tokopedia. Ternyata Tokopedia menggunakan database PostgreSQL. Maka metode-metode perawatan yang digunakan tentu bertalian dengan si database gajah. Sudah cukup kenal dengan database ini namun Hendra memberikan dua tambahan wawasan.

Yang pertama adalah Pooler IP. Ini seperti metode masking IP saja agar konfigurasi pada aplikasi tidak harus berubah-ubah ketika harus pindah database. Tools yang digunakan adalah PgBouncer.

Yang kedua adalah soal replication pada PostgreSQL. Ternyata di PostgreSQL terdapat dua jenis replication. Bisa menggunakan metode synchronous dan asynchronous. Untuk synchronous, artinya setiap ada perubahan baik berupa write atau update harus menunggu sync selesai pada replication. Sementara asynchronous tidak perlu menunggu. Keuntungan untuk sync, jelas data akurat namun performa lambat. Sementara keuntungan untuk async data tidak akurat namun performa lebih cepat. Keduanya tergantung pada bisnis model yang dijalankan.

Budi Raharjo di Tech a Break x DevTalk

Ini pembicara terakhir yang paling GONG. Namanya Budi Raharjo. Mungkin kalau sering baca-baca tentang dunia IT Indonesia harusnya kenal dengan orang ini. Dia termasuk jajaran elit pakar IT di Indonesia. Concern akan security membawanya pulang ke Indonesia untuk turut serta membangun security IT di Indonesia.

Perawakan Budi ini mengingatkan saya dengan Kang Niman sang dedengkot KlabJazz di Bandung. Usianya juga mungkin kurang lebih sama. Gaya bicaranya juga sama. Cuma beda bidang saja. Kehadiran Budi yang juga memberi warna lain pada Tech a Break x DevTalk ini. Sosok dan pengalamannya sangat menginspirasi kami-kami yang hadir. Ditambah dengan gayanya berbicara seperti seorang stand-up comedian sangat menghibur dan mencerahkan.

Terakhir saya agak menyesal tidak bertanya soal isu computer science yang sedang hot di dunia. Saya baru kepikiran waktu di perjalanan pulang. Saya pensaran pandangannya soal pidato Obama di kongres yang bilang kalau Computer Science is a basic skill yang berujung pada permintaan anggaran sebesar 4 milyar USD untuk mewujudkannya. Sementara di Indonesia pada akhir Oktober 2015 Anis Baswedan dan Rudiantara mewacanakan pemrograman masuk kurikulum sekolah. Saya kepingin tahu juga pandangan Budi Raharjo ini soal isu tersebut. Semoga lain waktu saya bisa ngobrol lebih banyak dengannya.

Karena keinget Budi Raharjo ini adalah bos dari teman saya waktu kuliah, saya langsung kontak teman saya untuk kasih-kasih kabar kalau Bandung Teknopolis sudah mulai ekspansi cari start-up. Pingin menyertakan gasspoll.com di dalamnya. Kan Budi Raharjo ini juga termasuk pakar yang ikutan merancang Bandung Teknopolis. Siapa tahu bisa ikut berperan.

Overall acara ini sangat berkesan dan sangat bermanfaat. Semoga bisa ikut gabung lagi di acara model beginian. Ya itung-itung nambah elmu dan wawasan. Semoga ini bisa jadi tambahan bumbu racikan startup yang akan dibangun. Aamiin.
Share on Google Plus

1 komentar :

  1. hallo admin, terimakasih untuk artikelnya yang menarik :) karena saat ini saya sendiri sedang mendalami beberapa database termasuk postgresql dan mongodb

    ReplyDelete