Single Identity Number dengan Apache Cassandra

Preview:

Citation preview

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

Recommended