Sekalian mengingat kembali dan mendokumentasikan apa yang
pernah aku presentasikan pada event TechNet Deep Dive SQL Server yang diadakan
di Auditorium Microsoft Indonesia tanggal 22 Juli 2008 yang lalu, coba kutuliskan pada tulisan di bawah ini.
Semoga bisa bermanfaat.
Secara umum kompresi data (Data Compression) diartikan dengan proses mengubah ukuran suatu
file menjadi file yang ukurannya lebih kecil.
Berdasarkan definisi di atas, kompresi data dapat dibagi menjadi
2 jenis, yaitu :
1.
Lossy Data Compression
2.
Lossless Data
Compression
Lossy Data Compression
memiliki kelebihan dalam hal kecepatan dan rasio kompresi yang lebih besar,
tetapi sebagian data akan hilang (loss) pada saat dilakukan proses uncompression. Salah satu contoh jenis kompresi ini
digunakan untuk mengubah file audio menjadi mp3.
Sebaliknya Lossless Data
Compression mensyaratkan bahwa data hasil rekontruksi akan persis sama
dengan data yang terkompress.
Terdapat 2 teknik kompresi yang umum digunakan dalam Lossless Data Compression yaitu :
1.
Berdasarkan pada prinsip data yang sering muncul akan
dikodekan dengan lebih sedikit bit.
Contoh : Huffman Coding
2.
Berdasarkan pada permodelan statistik untuk data
teks. Misalkan dengan membangun suatu
kamus (dictionary) dari simbol-simbol
yang sering muncul pada suatu blok dan kemudian hanya akan diacu (reference) dengan menggunakan
pointer. Contoh : LZ (Lempel-Ziv) algorithm.
Nah, bagaimana dengan kompresi pada database? Hal pertama
yang harus dipahami bahwa tujuan utama dari kompresi data pada database bukan
untuk mendapatkan rasio kompresi yang maksimum, tetapi untuk mendapatkan
keimbangan terbaik antara rasio kompresi yang didapat dengan cost dari proses
kompresi/dekompresi. Sehingga kompresi yang didapat akan bergantung pada
distribusi dan skema data yang ada.
Masalah-masalah terkait kompresi data yang harus kita
perhatikan adalah :
- Storage
Cost
- Manageability
Cost
- Backup/recovery
- Create/Rebuild
indexes
- Bulk
import
- Consistency
Checking
Sebenarnya, Microsoft sudah mulai mengupayakan masalah
kompresi data pada database sejak meluncurkan SP2 untuk SQL Server 2005, yaitu
dengan mengimplementasikan fitur variable-length
decimal storage format.
Sedangkan pada SQL Server 2008 fitur terkait kompresi data diimplementasikan
dalam :
- Backup
Compression
- Data
Compression
- ROW
Compression
- PAGE
Compression
Pada tulisan berikutnya akan kutuliskan secara lebih detail
bagaimana mekanisme kompresi data ini dilakukan oleh SQL Server 2008.
Besok
dan lusa, aku harus melupakan sejenak "tetek-bengek" soal programming
dan database. Besok dan lusa (18-19 November 2008) aku harus ikut
training dunia asuransi, tentang "Directors and Officers Liability
Insurance" (DOLI).
Liability Insurance dalam bahasa Indonesia sering
diterjemahkan menjadi Asuransi Tanggung
Gugat, yang memiliki pengertian Asuransi yang memberikan perlindungan bagi
tertanggung terhadap tuntutan hukum dari pihak ketiga (third party).
Asuransi
Tanggung Gugat terdiri
atas beragam produk, antara lain:
- General
Liability:
- Public
Liability
- Product
Liability
- Comprehensive
General Liability
- Professional
Liability:
- Medical
Malpractice
- Professional
Indemnity
- Directors' and Officers' Liability
- Employer's
Liability dan Workmen's Compensation
D&O Insurance ditujukan untuk memberikan perlindungan
bagi eksekutif & officer (pejabat) di perusahaan agar terbebas dari risiko
pengambilan keputusan bisnis yang mereka lakukan dimana pihak ketiga dapat
menuntutnya.
Obyek
pertanggungan dalam asuransi ini adalah tuntutan hukum dari pihak ketiga akibat
keputusan-keputusan yang dibuat oleh pihak eksekutif dan officer perusahaan
tersebut ketika melakukan kegiatan usahanya.
Tuntutan hukum dari pihak
ketiga, termasuk biaya-biaya yang dikeluarkan untuk melakukan pembelaan
(defense cost).
Sedangkan
risiko-risiko yang tidak dijamin dalam D&O Insurance antara lain adalah :
- Hal-hal yang berhubungan dengan
unsur kesengajaan
- Hal-hal yang berhubungan dengan penyuapan
- Majority shareholder
- Professional indemnity
- Perang, terorisme
- Radioaktif dan polusi
- Tuntutan yang mengarah kepada cedera badan atau
kerusakan/kerugian property
Semoga besok dan lusa
tidak terkendala apa-apa, sehingga ilmu yang diberikan oleh instruktur dari
Miller Insurance akan membekas di kepalaku.
Dan yang pasti, tugas berikutnya adalah membuat software aplikasi yang
akan mendukung soal ini.
Rasanya lama sekali aku tidak nulis di blog, ternyata benar "menulis itu tidak gampang, bukan karena tidak bisa, tetapi lebih kepada niat untuk menulis itu sendiri". Makanya, aku angkat jempol deh (two thumbs up!) buat orang-orang yang rajin menulis di blog.
Dan tidak adil rasanya, kalau aku menyuruh anak-anakku untuk memulai belajar menulis blog, tetapi aku sendiri tidak memberikan contoh buat mereka. Bisa-bisa aku dikutuk jadi batu atau kodok. Jadi, yeahh, hari ini kumulai lagi untuk sekedar menulis sebagai pemicu (trigger) untuk tulisan-tulisanku berikutnya.
Selamat datang di blog saya ... wilujeng sumping (sunda red)!