MENGENAL APACHE CASSANDRA

Mengenal Apache Cassandra

Tantangan Menulis Hari ke-156

Oleh: Bernardus Ari Kuncoro

Ada pepatah “Tak kenal maka tak sayang”. Hal ini berlaku juga ketika Anda mengenal suatu sistem database. Kali ini saya ingin memperkenalkan Anda dengan Apache Cassandra. Suatu sistem database yang ditujukan untuk kemudahan proses scalability dan memiliki high availability, tanpa mengesampingkan performa.

Tahukah Anda, bahwa Apache Cassandra menggunakan bahasa query CQL? CQL (dibaca si kyu el) Cassandra Query Language. Pada dasarnya, CQL ini mirip dengan SQL.

Perusahaan apa saja yang memanfaatkan Apache Cassandra?

Aplikasi Uber
Layanan Netflix
  1. Uber menggunakan Apache Cassandra untuk backend
  2. Netflix menggunakaannya untuk melayani pelanggan ketika streaming video

Use case apa saja yang dapat ditalangi oleh NoSQL (dalam hal ini Apache Cassandra)

  1. Pencatatan transaksi (retail, health care, toko online)
  2. Internet of Things (IoT)
  3. Data timeseries
  4. Beban kerja apapun yang berat ketika menuliskannya ke dalam database.

Apakah Apache Cassadra memiliki hambatan untuk pekerjaan analitik? Ya, akan ada. Seperti ketika Anda menggunakan statement GROUP BY. Mengingat Apache Cssandra membutuhkan data modeling berdasarkan query yang Anda mau, Anda tidak dapat melakukan queries ketika sekonyong-konyong dibutuhkan. Akan tetapi, Anda dapat menambahkan kolom-kolom clustering pada data model dan dan membuat tabel-tabel baru.

QUIZ

Kapan Anda sebaiknya menggunakan Database NoSQL?

  1. Saat data yang akan digunakan sangat besar
  2. Ketika akan melakukan agregasi
  3. Pada saat Anda membutuhkan availability tingkat tinggi
  4. Waktu Anda butuh scale out segera
  5. Ketika Anda butuh untuk melakukan join ke beberapa tabel

Hint: Anda sebaiknya tetap menggunakan relational database untuk proses join dan agregasi, terutama untuk data yang tidak terlalu besar. Namun, NoSQL sangat mumpuni jika datanya besar, butuh high scalability dan scale out segera.

Jadi jawabannya? Silakan direnungkan. Ada tiga jawaban yang benar.

Disadur dan diterjemahkan dari Data Engineering Nanodegree Udacity.

Kalideres, 3 Januari 2020

BICARA TENTANG NOSQL

Not only SQL

Tantangan Menulis Hari ke-155

Oleh: Bernardus Ari Kuncoro

NoSQL merupakan singkatan dari Not Only Structured Query Language. Database NoSQL menyediakan mekanisme untuk penyimpanan dan pengambilan data yang dimodelkan dengan cara yang berbeda dari relasi tabular yang digunakan pada relational databases. Istilah NoSQL mulai digunakan sejak 1970, tetapi baru naik daun pada 2000-an.

Bermacam-macam variasi No-SQL mulai dari Document store, graph, key-value, dan wide-column.

Ada banyak variasi NoSQL. Apa saja?

  1. Apache Cassandra (Partition Row store). Data didistribusikan berdasarkan partisi ke dalam beberapa node atau server. Diatur dalam format kolom dan baris.
  2. MongoDB (Document store). Merupakan database berorientasi dokumen. Selain adanya Key Lookups yang dilakukan oleh key-value store, database ini juga menawarkan API atau query language yang akan mengeluarkan dokumen berdasarkan apa yang ada di dalam database. Bayangkan Anda memaknai proses ini sebagai pencarian dari kumpulan dokumen-dokumen.
  3. DynamoDB (Key-value store). Database yang terkumpul berdasarkan pasangan-pasangan antara key dan value.
  4. Apache HBase (Wide Column Store). Menariknya dari database ini selain kolomnya ‘melebar’ adalah nama kolom dari baris ke baris dapat berbeda-beda.
  5. Neo4J (Graph Database). Dalam database ini, data direpresentasikan oleh nodes dan edges.

Perlu diingat bahwa Anda tidak perlu menghafal semua variasi NoSQL di atas. Peruntukannya berbeda-beda tergantung kebutuhan. Anda dapat memulainya dengan Apache Cassandra, karena memiliki kedekatan dengan Relational Database. Mengingat bentuknya masih tabel. Selebihnya, tetap harus belajar untuk memahami masing-masing karakteristiknya, namun proses belajar jadi lebih mudah.

Sebagai pengayaan, Anda dapat merenungi gambar berikut.

Penggunaan NoSQL dan SQL yang bervariasi

Disadur dan diterjemahkan dari Data Engineering Nanodegree by Udacity.

Kalideres, 2 Januari 2021

Kembali Mengajar, karena Diundang

Tahun 2018 sudah memasuki bulan Maret. Tak terasa. Jakarta masih saja panas, sehingga membuat sebagian besar penduduknya harus menyamankan diri dengan Air Conditioner (AC).  Tak terkecuali saya. Sebagai catatan pada saat saya menuliskan postingan ini, AC kamar tidur bocor dan belum sempat dibersihin karena tukangnya sibuk. Sudah hampir sebulan kejadian ini berlangsung, sehingga harus kita tampung dengan ember. lol. Dan pagi dini hari ini ceritanya epik, posisi embernya nggak pas… alhasil lantai basah dan mesti nge-pel di tengah tidur nyenyak ku.

Back to the topic about work.

Sejak bulan kedelapan di tahun yang lalu, saya mulai meniti karya di tempat yang baru. Artinya sudah tujuh bulan saya berkarya di tempat tersebut. Tidak mudah memang menjalaninya terutama dari sisi birokrasi yang terkesan kaku dan rempong dengan tetek bengeknya, per-HR-an yang tidak sesuai ekspektasi, dan beberapa alat penunjang kerja yang awalnya tidak memuaskan.

Tapi saya akan bertahan karena banyak positifnya. Orang-orang setim yang mau maju, mau memperbaiki, dan saling mendukung. Sepertinya Tuhan menjawab doa saya, mengingat di tahun 2017 saya tiga kali pindah kerja. Ini dia quote yang membuat saya kuat.

Saya percaya Tuhan pasti selalu menunjukkan jalan bagi orang yang percaya. Ibarat Musa ditunjukkan jalan oleh Tuhan untuk membebaskan kaum Israel dari perbudakan Mesir, demikian pula Tuhan menunjukkan saya jalan terbaik.

Kembali diminta mengajar.

Awal tahun 2017 ini saya mulai diminta untuk mengajar setelah rehat kira-kira hampir 9 bulan. Topiknya ya nggak jauh-jauh dari kerjaan tentang Data, R, SQL, Machine Learning, dan sebangsanya. Thank You IYKRA (Fajar dan Zizah) atas undangannya. Awalnya agak sulit, tapi kalau dijalani, ya OK juga. Saya sendiri merasakan dampak positif yang luar biasa, karena saya “dipaksa” untuk belajar, karena memang hal ini wajib dilakukan sebagai persiapan sebelum mengajar.

Selama dua bulan terakhir ini, saya sudah mengajar selama 4x. Lumayan banyak ya… Dan nanti bakalan ada lagi bulan April dan Mei. Terus terang saya senang mengingat hasilnya bisa dipakai untuk ganti dan pasang AC. 🙂 But, lebih dari itu, saya merasa senang kalau orang lain merasakan manfaat dari apa yang saya bagikan.

I believe I don’t have to wait until I am reach to share with others.

– BAK, 2018 –

Pertama, saya ngajar workshop di future force fair. Itu dihadiri oleh 180 peserta. Formatnya workshop tentang R. Anda bisa lihat materinya gratis tanpa dipungut pajak ataupun se-sen rupiah pun di sini. (Anda tinggal klik kanan, lalu “save Link as” atau “save target as”.

Ini beberapa foto saya ketika mengajar. Guanteng yo?

Kedua, saya ngajar ggplot2 dan dplyr. Materinya bisa didownload di sini.

Ketiga, saya ngajar sql for data analisis. Materinya bisa didownload di sini.

Keempat, saya ngajar advanced sql. Materinya bisa didownload di sini.

There will be more interesting story to tell when I teach and give speech. So, stay tuned!