single identity number dengan apache cassandra
TRANSCRIPT
Framework Identity Databasewith Apache Cassandra
Anton R Susilo
“Write Never Fails”
Latar Belakang
• Untuk mendukung proses birokrasi yang baik, negara harus dapat mengelola data penduduk-nya
• Data tersebut menjadi referensi bagi penduduk untuk mengakses fasilitas umum : Kesehatan, Tunjangan Sosial, dll.
• Bagi Negara konsep ini dapat digunakan untuk mengontrol imigran, dan manajemen sosial lain.
National Identification Number
• Awal-nya masing-masing negara menerapkan penomoran ini untuk tujuan spesifik. Kemudian tergeneralisir
• Setiap Negara sepakat bahwa identifikasi data penduduk dengan konsep penomoran wajib untuk diterapkan.
National Identification Number
• Awal-nya masing-masing negara menerapkan penomoran ini untuk tujuan spesifik. Kemudian tergeneralisir
• Setiap Negara sepakat bahwa identifikasi data penduduk dengan konsep penomoran wajib untuk diterapkan.
Kartu Tanda Penduduk Indonesia
• Indonesia mengimplementasi penomoran Terpanjang kedua setelah China (16 digits)
• Nomor ini menjadi acuan data utama dari hampir seluruh aktivitas penduduk:• Sosial : keluarga, pekerjaan, kesehatan, pajak• Politik : pemilu• Internasional : passport• Perbankan : akun bank• Dll.
Kartu Tanda Penduduk Indonesia
Kartu Tanda Penduduk Indonesia (2)
• Sayangnya, Manajemen data Penduduk ini tidak dianggap serius (belum(?))
• Masing-masing elemen birokrasi menyimpan informasi –nya sendiri
• Data Penduduk terisolasi = #$#@@#@!!
Map Of Problematique
Family
Marriage
Job
Tax
Education
Achievement
Scholarship
Social & Security
National Grant (Raskin,
Tunjangan lain)
Politic
Election
International Relationship
Passport
Medical
Medical Record
Law & License
Driving License
Law Activities Record
Parent
Child Citizen Environment
• Harus ada sebuah Data Valid yang menjadi acuan valid dari High Level seluruh aktivitas penduduk!
• Ya, semua referensi data meliputi: Identitas Sosial, Perbankan, Pendidikan, Pekerjaan, Pemilihan Umum, Tunjangan Sosial, dll.
Penyimpanan Data Penduduk• Data Referensi:
1. Social Security2. Family3. Passport4. Banking5. Medical Record6. Education
Achievement7. Electoral8. Jobs and Tax9. ?
Single Identity Number
Social Security
Citizen Identity
Familiy Information
Medical Record
Education
Passport Identity
Electoral Identity
Banking Information
Jobs and
Taxation
Internet Identity
Telco Profile
Penyimpanan Data Penduduk (2)• Sistem penyimpanan tersebut harus mampu
available untuk diakses online oleh seluruh:1. Kecamatan, Kelurahan, Kabupaten, Kotamadya, ..
di seluruh Indonesia (sekitar 5000 – 6000 kecamatan).
2. Sistem Perbankan 3. Sistem Imigrasi4. Sistem Pemilihan Umum5. Institusi Kesehatan6. ?
Penyimpanan Data Penduduk (3)Mengingat banyak-nya sistem yang akan terhubung , sistem
akan terbebani dengan jumlah koneksi yang besar, dan throughput yang tinggi.
Untuk itu, basis penyimpanan-nya tidak direkomendasikan untuk diimplementasi pada sistem yang membatasi diri-nya pada jumlah koneksi, skalabilitas, dan skema.
Sistem tersebut hari mampu menampung throughput tinggi, success rate tinggi, dan skalar:
NOSQL A World free from schema
Sebuah Alternative
Untuk mendapatkan hasil yang maksimal, kita perlu mempertimbangkan solusi alternatifWith NoSQL
Apache Cassandra
• Best NoSQL so far• Diimplementasi pada Facebook, Twitter, dan
Digg.com. Diklaim mampu meningkatkan performa hingga 2500x lipat daripada implementasi pada SQL (mySQL)(*)
*) http://news.ycombinator.com/item?id=683885
Apache Cassandra (2)
• Table = ColumnFamily (with Column, SuperColumnn)• Centralized (no sharding)• No Single Point of Failure (eventually Consistent)• Fault Tolerant• Tunable Consistency : Writes never fails (fast) – to – block
all replicas to be readable (slow)
Cassandra for SINPerbandingan Facebook Single Identity Number NKRI
Jumlah Pengguna Potensial > 400.000.000 238.452.952
Bentuk Model Data Serangkaian profile pengguna, yang
mengacu pada username (atau alamat
email unik).
Serangkaian Informasi Identitas, yang mengacu pada
nomor penduduk unik (SIN).
Aktivitas akses data (read-write operations over data)
Sangat tinggi (> 35 juta aktivitas per day) Sangat tinggi (dengan asumsi aktivitas per hari >=
10% jumlah pengguna, diperoleh kisaran > 25 juta
akses per hari)
Tingkat Ketersediaan Sistem (Availability) (0 – 100 %)
100% (Tidak ada toleransi terhadapt loss of
availability)
100% (Tidak ada toleransi terhadap loss of
availability)
Tingkat Fleksibilitas Data Tinggi (penambahan bentuk profile baru
sering terjadi)
Cukup tinggi (penambahan bentuk profile baru
kadang terjadi)
Cassandra for SIN (2)
Diimplementasi dalam beberapa grup ColumnFamily:1. Identity2. Medical Record3. Education4. Passport5. Electoral Participation6. Social Security7. Jobs and Taxation8. Bankin Info
Cassandra for SIN (3)
Arsitektur SIN
Single Identity Number (SIN) Datastore
Cluster 1 Cluster 2 Cluster 3
Cluster …, n
Cluster 4 Cluster 6
A.P.I
A.P.I
External System
Passport
Social Securities Education
Medical
ElectionLaw and Licenses
access
access
Cluster 5
…..
Arsitektur SIN (2)
• Database disebar (cluster) dalam beberapa nodes. Optimal untuk SIN 10 nodes
• Pada masing-masing nodes ditempelkan API Front-end untuk diakses dari Client Apps
• Aksesibilitas Client di-batasi sesuai keperluan
Terima Kasih
Maaf jika ada salah kata ataupun data.
Mohon Koreksi-nya!With NoSQL