Pengalamanku menggunakan Interbase

Yang aku suka dari Interbase …

(Ini hanya pengalaman pribadi menggunakan Interbase, bukan berarti database lain tidak bisa melakukan hal yg sama … CMIIW)

1. Footprint kecil, mudah instalasi
+/- 2MB untuk Server, +/- 500KB untuk client

2. Dual mode user security .. interbase 7.5 keatas
User bisa di server (seperti kebanyakan db client server)
User bisa embedded di database, sehingga mudah kalo misalnya hrs install ulang server, juga aman dan mudah pengaturannya karena tidak campur dengan user database lain, beda database bisa mempunyai nama user sama dengan password dan kewenangan berbeda.

3. User define function
Kita bisa dengan leluasa membuat fungsi sendiri menggunakan delphi untuk membuat fungsi2 sql yg tidak disediakan secara bulitin

4. Shadow
Kita bisa membuat realtime duplicate database pada folder/drive/harddisk lain dalam satu komputer, seperti teknologi RAID, misalnya tiba2 harddisk jebol/gak kebaca, kita tinggal install convert shadow ke main database. Jumlah shadow tidak dibatasi, dan proses shadow atau duplikasi berjalan otomatis tanpa perlu program lain seperti scheduller dll.

5. Journaling … interbase 2007 keatas
Realtime logging yg bermanfaat untuk point to point recovery (mirip system restore windows), kita bisa rollback ke cek point yg tersedia, berguna kalo misalnya karena gak sengaja atau ada sabotase yang merubah atau menghapus data (seharusnya tidak terjadi kalo pengaman point (2) sudah bagus).

6. Online dump / Incremental backup … interbase 2007 keatas
Kita bisa membuat backup secara incremental berdasarkan jadwal
misalnya per 10 menit, per 1 jam, per 1 hari, dsb
artinya mengupdate backup yang ada bukan overwrite sehingga proses backup lebih cepat.
“Proses backup bisa dilakukan walaupun database sedang dipakai”

7. Konsumsi memory untuk alokasi pemakaian database bisa kita atur
Misalnya memory server 4GB kita bisa alokasikan untuk database max 1GB
sehingga jika database kita kurang dari 1GB, pada saat query server akan membaca data yg dimemory bukan di disk sehingga proses lebih cepat.

8. Event alert
kita bisa mengirim pesan ke seluruh client/atau client yang diinginkan, pesan bisa juga di picu oleh trigger/prosedur, tidak perlu menggunakan timer yg secara berkala membaca database

contoh pemakaian :
Misalnya kita ingin pada saat stock untuk barang tertentu, dibawah limit akan ada pesan untuk komputer client bagian pembelian.
Misalnya kita ingin ada pemberitahuan ke komputer manajer mana kala ada entry yang perlu diotorisasi.

9. Posisi data bisa diletakkan di folder/drive mana saja asal dalam komputer server,
data tidak perlu disharing, hak akses bisa diset hanya “SYSTEM”, sehingga aman dari virus atau di otak-atik orang yang tidak bertanggungjawab.

Untuk pengamanan maksimum kita bisa menaruh data di harddisk/partisi tertentu dengan mengeset security hanya bisa dibaca SYSTEM dan user kita, sementara user lain termasuk Administrator dibuang, firewall juga ditutup, hanya port tertentu (termasuk port interbase 3050) yang dibuka.

10. Perubahan metadata, misalnya penambahan field, atau memperbesar ukuran field, kecuali menghapus field bisa dilakukan sekalipun data sedang dipakai.

Ini akan membantu sekali bila dipakai di klien yg super sibuk, tidak memungkinkan untuk off saat kita mau update database.

11. Spanning data
Misalnya kita mempunyai HDD 60GB, awal penggunaan data masih kecil sehingga HDD 60GB lebih dari cukup, lama2 data berkembang sehingga HDD 60GB tidak mencukupi lagi.
Biasanya bila mengalami hal itu kita ganti hdd yg lebih besar, kita copy database ke HDD yang baru, ini akan membutuhkan waktu yg lama bila datanya cukup besar.
Dengan interbase kita bisa menambahkan HDD baru tanpa membuang HDD lama, kita cukup mengconfigurasi agar data dilanjutkan di HDD baru bila ukuran data sudah mencapai batas yang kita tentukan (bisa menghemat waktu dan biaya).

12. Mendukung replikasi/sinkronisasi data (membutuhkan 3 party tool seperti IBReplicator)
Misalnya gini ada kantor pusat ,9 kantor cabang, dan 1 server backup (semua beda lokasi)
Server pusat berisi data pusat plus seluruh data cabang
Server cabang hanya berisi cabang yang bersangkutan
Server backup berisi 100% identik dengan server pusat

Dengan Interbase+IBReplicator kita bisa dengan mudah melakukan sinkronisasi data secara berkala (mungkin tiap 5-30 menit, tergantung kecepatan koneksi yg dipakai).

Dengan fitur Two Phase Commit, maka akurasi data akan tetap terjamin walaupun misalnya ada ganguan koneksi (putus).

Sinkronisasi data menggunakan table logging sehingga proses sinkronisasi dapat berjalan dengan cepat karena berdasar pada table logging (yg diisi oleh trigger), tidak perlu membandingkan database/table record demi record.

Segala perubahan insert, update, delete otomatis akan di sinkronisasi

Sinkronisasi bisa berlaku 2 arah, perubahan pusat update ke cabang dan sebaliknya.

13. Global temporary table (GTT)
Global temporary table merupakan sebuah table yang dipakai bersama2 namun isinya hanya dapat dilihat oleh sesion yg aktif, tidak dapat dilihat user lain walaupun dalam satu komputer dan login menggunakan user yang sama.

Saya biasanya menggunakan Global temporary table ini untuk menyimpan parameter seperti periode laporan dll, bermanfaat untuk aplikasi yang menggunakan periodik seperti program accounting.

contoh :

misalnya saya bikin GTT dengan nama session yg mempunyai field tgl_awal dan tgl_akhir

setelah login, atau setelah memilih periode aktif ..

insert into session(tgl_awal,tgl_akhir) values ('01.07.2012','31.07.2012');

nanti querynya tinggal ..

select t.id,t.tgl,t.kode,..... 
from trans t
left join session s on (t.tgl between s.tgl_awal and s.tgl_akhir)

lebih mudah kalo di bikin view misalnya dengan nama vw_trans_aktif

jadi manggil di delphinya tinggal select * from vw_trans aktif gak perlu memasukkan parameter setiap kali query

…. dan masih banyak lagi ….

Leave a Reply

Your email address will not be published.