Analisis dan Implementasi Perbandingan Penggunaan Storage

advertisement
Analisis dan Implementasi Perbandingan Penggunaan Storage serta Response
Time pada Temporal Database dan Relational Database
Yogiek Indra Kurniawan
Politeknik Telkom, Bandung
[email protected]
Abstrak
Pada saat ini banyak aplikasi yang membutuhkan data dari masa lampau dan data pada masa yang akan
datang. Data-data ini biasanya digunakan untuk menelusuri event-event yang terjadi untuk melihat trend
dan menemukan kesalahan-kesalahan di masa lampau sehingga mencegah terjadinya kesalahan yang
sama. Temporal Database merupakan salah satu solusi dalam penanganan data-data di masa lampau
maupun di masa yang akan datang. Temporal database adalah database yang merepresentasikan data
dengan dimensi waktu berupa valid time. Dalam paper ini, dilakukan implementasi temporal database
serta relational database yang memperhitungkan aspek historical data. Setelah melakukan implementasi,
dilakukan analisis mengenai penggunaan storage, query dalam pengaksesan setiap data yang
memperhitungkan aspek historical data, baik data definition language (DDL), data manipulation language
(DML) maupun query untuk retrieve data serta kelebihan dan kekurangan untuk masing-masing basis
data tersebut. Setelah dilakukan analisis, didapatkan kesimpulan bahwa penggunaan query untuk
temporal database dapat dilakukan pada relational database dengan beberapa penyesuaian. Selain itu,
temporal database memiliki kelebihan dalam hal penggunaan storage dan response time untuk query DDL
serta DML, tetapi untuk response time pada query retrieve data membutuhkan waktu yang lebih lama
daripada relational database.
Kata kunci: temporal database, relational database, query, valid time, storage, response time.
Abstract
At present, many applications that require data from the data on past and future. These data are usually
used to trace the events that happened to look at trends and find the mistakes in the past so as to prevent
the occurrence of the same mistakes. Temporal database is one of the solutions to handling of data in the
past and in the future. Temporal database is a database with data representing the valid time dimension.
In this paper, doing implementate of temporal databases and relational databases that takes into account
the historical aspects of the data. After doing the implementation, analysis will be conducted on storage
utilization, the query to access any data that takes into account the historical aspects of the data, both
Data Definition Language (DDL), Data Manipulation Language (DML) and queries to retrieve data as
well as advantages and disadvantages for each of these databases. After analyzing, it was concluded that
the use of queries for temporal databases can be done in a relational database with some adjustments. In
addition, temporal databases have advantages in terms of storage utilization and query response time for
DDL and DML, but the response time on queries to retrieve data takes longer than a relational database.
Keywords: temporal database, relational database, query, valid time, storage, response time
1.
Pendahuluan
Pada saat ini banyak aplikasi yang
membutuhkan data dari masa lampau dan data pada
masa yang akan datang. Data ini biasanya digunakan
untuk menelusuri event-event yang terjadi untuk
melihat trend dan menemukan kesalahan-kesalahan
di masa lampau sehingga mencegah terjadinya
kesalahan yang sama. Sayangnya, pada database
relational yang sering digunakan sekarang, kurang
mendukung hal seperti ini.
Salah satu solusi untuk pemecahan masalah di
atas adalah dengan penggunaan temporal database.
Temporal database adalah sebuah basis data yang
mendukung aspek temporal di luar waktu yang
didefinisikan oleh pengguna, dengan satu atau lebih
ISSN: 2088-8252
dimensi waktu [4]. Hal ini memungkinkan
perubahan data terhadap waktu tidak akan
menghapus data dari masa lampau. Sedangkan
pendekatan lain yang dapat dilakukan untuk
pemecahan masalah di atas adalah dengan
menambahkan atribut waktu pada basis data
relational.
Dalam penelitian ini akan dilakukan
implementasi data historical dengan menggunakan
temporal database serta relational database yang
dimodifikasi serta menganalisis query-query pada
kedua basis data tersebut. Selain itu, dilakukan
analisis dari aspek penggunaan storage serta
response time untuk mengukur keefektifan
penggunaan masing-masing basis data.
45
Permasalahan yang dijadikan objek dalam
penelitian ini adalah melakukan implementasi dan
analisis
query
dalam
temporal
database
dibandingkan dengan query pada relational database
yang memperhitungkan aspek historical data, serta
mengetahui perbandingan keefektifan penggunaan
temporal database dengan relational database
dalam hal penggunaan storage dan response time.
2.
Dasar Teori Temporal Database
Basis data temporal adalah basis data yang
mendukung aspek temporal di luar waktu yang
didefinisikan oleh pengguna [4]. Basis data temporal
memungkinkan pengasosiasian fakta dengan waktu.
Basis data temporal merupakan pengayaan dari basis
data relational yang memperhitungkan aspek waktu.
Pada basis data konvensional, tidak mengurus aspek
historis keberlakuan data di basis data.
Sedangkan basis data relational adalah
seperangkat program komputer yang dikonstruksi
untuk memanejemen suatu basisdata sebagai
sekumpulan data yang disimpan secara terstruktur
dan dapat dikenai opreasi-operasi tertentu atas data
sebagai suatu permintaan (query) dalam bentuk
tabel-tabel dua dimensi yang saling berelasi.
Basis data temporal mendukung penanganan
aspek waktu yang kompleks dan dapat menyimpan
aspek historis suatu data. Data akan ditandai dengan
waktu keberlakuannya di dunia nyata, sehingga
setiap data akan memiliki “sejarah” mulai dari masa
lampau sampai masa yang akan datang. Selain itu,
terdapat operator khusus untuk waktu yang tidak
terdapat di basis data konvensional, seperti operator
untuk mengetahui dua periode waktu yang overlap
atau bersinggungan.
2.1 Dimensi Waktu
Pada basis data temporal, dikenal tiga dimensi
waktu [5][8] :
1. User-defined time
User-defined time adalah waktu yang
semantiknya ditentukan oleh pengguna. Sebagai
contoh, sebuah table yang menyimpan data pegawai
dapat mempunyai dua atribut bertipe date, untuk
menyimpan data tanggal lahir dan tanggal mulai
bekerja. Dua atribut tersebut mempunyai nilai yang
dimasukkan oleh user,sehingga termasuk userdefined time.
2. Transaction time
Transaction time adalah waktu keberlakuan
data di basis data. Secara teknis, ini adalah waktu
saat data dimasukkan ke basis data sampai dengan
data diubah atau dihapus dari basis data. Nilai
keberlakuan data ini dicatat secara otomatis saat
terjadi operasi terhadap data, yaitu insert, update,
dan delete, sehingga user tidak bisa memanipulasi
transaction time dari setiap data.
3. Valid time
Valid time adalah waktu keberlakuan data di
dunia nyata. Nilai keberlakuan data ini dimasukkan
46
oleh penguna. Sebagai contoh, suatu data bahwa
pegawai bernama Yogiek mendapat gaji Rp
10.000.000,00 dapat ditentukan keberlakuannya dari
tanggal 1 Januari sampai dengan akhir tahun.
Representasi valid time bisa bermacam-macam
tergantung dari user. Domainnya mencakup masa
lalu hingga masa depan.
2.2 Query untuk Operasi Relasi Temporal
Ada beberapa bahasa query temporal yang
telah diajukan pada berbagai literatur, seperti
TSQL2, ChronoBase, SQL+T TMQL, TOSQL dan
TQuel [1]. Salah satu bahasa yang mendapatkan
dukungan terbesar dalam riset mengenai basis data
temporal adalah TSQL2. Query yang dipakai dalam
penelitian ini adalah TSQL2 yang mengacu kepada
web resmi TimeDB, yaitu timeconsult yang dibuat
oleh Andreas Steiner [6][7].
2.2.1 Create Table
Operasi create table adalah operasi yang
digunakan untuk mendefinisikan dan membuat
relasi. Pada basis data temporal, selain klausa
standar CREATE TABLE untuk membuat relasi,
perlu ditentukan juga jenis relasi dalam klausa AS
TEMPORAL_DIMENSION seperti berikut :
CREATE TABLE table_name (
{
column_name
data_type
[DEFAULT
default_value]
[column_constraint[…] ]
| table_constraint} [, …]
) [AS temporal_dimension]
Bagian
temporal_dimension
berisi
VALIDTIME. Statement create table tanpa
deklarasi dimensi waktu akan menghasilkan relasi
snapshot. Contoh penggunaan query create table
untuk membuat relasi temporal dapat dilihat seperti
berikut :
CREATE TABLE pegawai (
Nip char(9) PRIMARY KEY,
Nama varchar(30) not null,
Gaji integer
) AS VALIDTIME;
2.2.2 Insert
Operasi insert adalah operasi yang digunakan
untuk memasukkan tuple baru ke dalam basis data.
Pada relasi temporal, perlu dimasukkan nilai valid
time yang dituliskan dalam klausa VALID seperti
berikut
VALIDTIME
PERIOD
[v_start-v_end)
INSERT INTO table_name [(column_name [,
…])] VALUES ( value [, …]);
VALIDTIME PERIOD digunakan untuk time
interval. Contoh penggunaan query insert pada relasi
temporal dapat dilihat sebagai berikut. Query
tersebut memasukkan data pegawai bernama Yogiek
dengan gaji 10000000 yang berlaku mulai tanggal 1
Januari 2010 sampai batas waktu yang belum
ditentukan.
ISSN: 2088-8252
VALIDTIME PERIOD [2010/01/01-forever)
INSERT INTO pegawai(nip,nama,gaji)
VALUES (‘113060210’,’Yogiek’,10000000);
2.2.3 Delete
Operasi delete digunakan untuk menghapus
suatu tuple. Pada relasi temporal, delete dapat
dilakukan untuk periode valid time tertentu. Artinya,
keberlakuan data pada periode waktu tersebut
dihilangkan. Query temporal untuk delete dapat
dilihat sebagai berikut:
[NONSEQUENCED] VALIDTIME PERIOD
[v_start – v_end) DELETE FROM
table_name [WHERE condition]
Pada relasi dengan format time interval, jika
nilai valid time tidak dideklarasikan, waktu
keberlakuan data yang dihilangkan adalah
[beginning, forever]. Nilai ‘beginning’ adalah waktu
saat masa lampau. Contoh query delete pada relasi
temporal dapat dilihat sebagai berikut. Pada query
tersebut, tuple dengan nip=’113060210’ dihilangkan
keberlakuan datanya untuk tanggal 1 Januari 2011
sampai tanggal 31 Januari 2011.
NONSEQUENCED VALIDTIME PERIOD
[2011/01/01 – 2011/01/31)
DELETE FROM pegawai
WHERE nip=’113060210’;
2.2.4 Update
Operasi update adalah operasi yang digunakan
untuk memperbaharui nilai dalam suatu tuple. Pada
basis data temporal, update untuk nilai valid time
dapat dilakukan dengan delete data dengan valid
time start dan valid time end yang ditentukan. Untuk
update data yang tidak melibatkan valid time dapat
dilakukan dengan update biasa. Query untuk update
adalah sebagai berikut:
UPDATE table_name
{SET column_name = value [, …] }
[WHERE condition]
Contoh penggunaan query update pada dapat
dilihat sebagai berikut. Pada query berikut ini, tuple
yang mengandung nip=’113060210’ diubah gajinya
menjadi 5000000 dan keberlakuannya datanya
diubah menjadi 1 Februari 2010 sampai 31
Desember 2010 dan 1 Febuari 2011 sampai
selamanya.
NONSEQUENCED VALIDTIME PERIOD
[2010/01/01 – 2010/01/31)
DELETE FROM pegawai
WHERE nip=’113060210’;
UPDATE pegawai
SET gaji=5000000
WHERE nip=’113060210’;
2.2.5 Select
Operasi select digunakan untuk me-retrieve
tuple dalam relasi sesuai dengan kondisi yang
ISSN: 2088-8252
diinginkan. Pada relasi temporal, tuple dapat
diseleksi berdasarkan keberlakuan valid time. Query
untuk operasi select pada relasi temporal dapat
dilihat sebagai berikut :
[VALIDTIME PERIOD [v_start-v_end)]
SELECT
[SNAPSHOT]
[DISTINCT]
column_name [, …]
FROM table_name [, …]
[WHERE condition]
2.3
Operator Perbandingan pada TSQL2
Operator perbandingan temporal yang diterima
pada query tergantung pada bahasa query yang
digunakan. Terdapat beberapa definisi yang berbeda
untuk operator yang sama. Sebagai contoh, definisi
“overlaps” berbeda pada operator perbandingan
Allen dan TSQL2. Operator untuk perbandingan
interval valid time pada TSQL2 dapat dilihat pada
tabel 2.15. definisi operator perbandingan temporal
yang digunakan dalam paper ini adalah definisi pada
tabel tersebut.
TABEL 2.1
DEFINISI OPERATOR PERBANDINGAN INTERVAL
Operator
A PRECEDES B
A=B
A OVERLAPS B
A CONTAINS B
A MEETS B
3.
Definisi
END (A) lebih awal daripada
BEGIN (B)
A dan B bernilai sama
Irisan A dan B tidak kosong
Setiap event di B terdapat pada
A
A PRECEDES B dan tidak
ada event antara END (A) dan
BEGIN (B)
Analisis Hasil Pengujian
3.1
Perancangan Basis Data
Terdapat banyak aplikasi yang dapat
menggunakan temporal database, seperti aplikasi
Pertokoan, aplikasi pemantauan cuaca, aplikasi
rumah sakit, aplikasi bursa saham dan lain
sebagainya. Aplikasi-aplikasi tersebut dapat
menggunakan temporal database karena adanya
perubahan data setiap waktu. Sehingga untuk aspek
historical data, aplikasi-aplikasi tersebut dapat
dipergunakan.
Dalam
penelitian
ini,
aplikasi
yang
diimplementasikan adalah aplikasi pemantauan data
pada pertokoan. Terdapat 2 buah aplikasi dengan
basis data yang berbeda. Hal ini untuk mendukung
aspek historis dari masing-masing basis data.
Perancangan desain basis data ini didasarkan pada
ER Diagram yang dibuat oleh Daniel Graziotin dan
Thomas Steingruber dalam “Computer Shop
warehouse ER Diagram”[2] dengan beberapa
perubahan sebagai berikut:
1. Menambahkan entitas lokasi sebagai tempat dan
jabatan dari pegawai
47
2. Menambahkan entitas gudang sebagai tempat
barang disimpan.
3. Menambahkan entitas member (pelanggan).
4. Mengurangi entitas shop (toko) dan order
(pemesanan).
3.1.1 Perancangan Basis Data Temporal
Berikut ini adalah rancangan schema diagram
dalam basis data temporal dari studi kasus sistem
pertokoan :
Gambar 2 Skema diagram Relational Database
Pada rancangan schema diagram diatas, untuk
mendukung aspek data temporal pada tabel pegawai,
member, barang, dan supplier, maka pada setiap
table tersebut akan dimunculkan sebuah tabel
historis untuk menyimpan setiap perubahan data
yang terjadi pada tabel-tabel tersebut, sebagai
berikut:
Gambar 1 Skema diagram Temporal Database
Pada rancangan schema diagram diatas, data
yang menunjukkan basis data temporal diletakkan di
table pegawai, member, barang dan supplier. Pada 4
table tersebut memperhatikan aspek historical data
sebagai berikut :
1. Table pegawai
Pada table pegawai, akan diperlihatkan historis
mengenai gaji dari seorang pegawai serta
id_lokasi yang menunjukkan jabatan dan
tempat bekerja dari seorang pegawai.
2. Table member
Pada table member, akan diperlihatkan historis
mengenai alamat dan status dari suatu member.
3. Table barang
Pada table barang, akan diperlihatkan historis
mengenai stock,harga beli dan harga jual dari
suatu barang.
4. Table supplier
Pada table supplier, akan diperlihatkan historis
mengenai alamat dan status dari supplier yang
bersangkutan.
Untuk memberikan dimensi waktu valid time
pada 4 buah tabel tersebut, maka ditambahkan
atribut vts_timedb dan vte_timedb.
3.1.2 Perancangan Basis Data Relational
Berikut ini adalah rancangan schema diagram
dalam basis data relational untuk mendukung aspek
historical data dari studi kasus sistem pertokoan
yang menyertakan dimensi waktu temporal pada
tabel pegawai, member, barang dan supplier dengan
mengacu pada basis data temporal sebelumnya
sebagai berikut :
48
1.
Table pegawai
Pada table pegawai akan dibuat sebuah table
bernama history_pegawai yang memiliki kolom
id_pegawai untuk mengacu pada tabel pegawai,
kolom gaji, lokasi dan id_lokasi yang menunjukkan
jabatan dan tempat bekerja dari seorang pegawai
untuk memperlihatkan historis dari data di tabel
pegawai.
2.
Table member
Pada table member akan dibuat sebuah tabel
bernama history_member yang memiliki kolom
id_member untuk mengacu ke tabel member serta
alamat dan status dari suatu member untuk
memperlihatkan historis dari data di tabel member.
3.
Table barang
Pada table barang,dibuat sebuah tabel bernama
history_barang yang memiliki kolom id_barang
sebagai foreign key untuk mengacu ke tabel barang
serta kolom stock, harga_beli dan harga_jual untuk
memperlihatkan historis data di tabel barang.
4.
Table supplier
Pada table supplier, dibuat sebuah tabel
bernama history_supplier yang memiliki kolom
id_supplier sebagai foreign key untuk mengacu ke
tabel supplier serta kolom alamat dan status sebagai
data historis dari tabel supplier.
3.2
Implementasi Perangkat Lunak
Pembangunan sistem perangkat lunak untuk
pengujian, menggunakan beberapa perangkat lunak,
antara lain :
ISSN: 2088-8252
1. Sistem Operasi : Microsoft Windows 7 Home
Premium 64-bit
2. Database : Oracle 10g Release 2 (10gR2)
3. Parser dan Translator : TimeDB 2.2
4. Kakas Pemrograman : NetBeans IDE 6.8
5. Software Development Kit : J2SE SDK 1.6
6. Library tambahan : ojdbc14.jar
3.3
Skenario Pengujian
Skenario pengujian untuk perangkat lunak
yang dibangun terdiri dari beberapa pengujian.
Skenario pengujian pertama adalah dengan
memasukkan data yang sama pada kedua buah
database, yaitu pada temporal database maupun
relational database. setelah itu, dilihat jumlah
penggunaan storage (penyimpanan) pada harddisk
untuk masing-masing database.
Skenario pengujian kedua adalah pengujian
query. Pada pengujian kedua ini, query TSQL2 pada
temporal database akan dibandingkan dengan query
SQL92 pada relational database [3] yang
menerapkan aspek historical data. Setelah itu
dianalisis query-query tersebut dan dibandingkan
mengenai response time yang dibutuhkan oleh
masing-masing query di tiap database.
3.4 Analisis Perangkat Lunak
3.4.1 Analisis Query dan Response Time
Query temporal lebih mudah dan singkat
dibandingkan dengan query relational jika data yang
diakses adalah data historis. Selain itu, untuk query
temporal memiliki operator waktu yang lebih
lengkap, sedangkan pada relational harus
menerjemahkan sendiri operator waktu tersebut
menjadi query yang dimengerti oleh relational.
Sedangkan kekurangan dari query temporal yang
diimplementasikan dalam penelitian ini adalah query
temporal tidak mendukung adanya update. Sehingga
jika terdapat update pada valid time, maka harus
dilakukan penyesuaian dengan menggunakan query
delete. Selain itu, query temporal kurang familiar,
karena temporal database masih belum terlalu dieksplorasi di masa sekarang.
Sedangkan untuk response time, dari semua
query yang telah diberikan, relational database
relatif lebih unggul pada saat query retrieve data,
tetapi untuk query DDL dan DML pada tabel
temporal, pengujian response time menunjukkan
keunggulan temporal database. Hasil perhitungan
response time di atas, dapat digambarkan sebagai
berikut:
ISSN: 2088-8252
Gambar 3 Hasil perbandingan Response time
Relational dan Temporal
Pada dasarnya, query untuk temporal database
maupun relational database adalah sama ketika
DMBS diakses oleh masing-masing database.
Hanya saja, pada temporal database harus melewati
sebuah middleware untuk parsing dan translasi
query terlebih dahulu.
Gambar 4 Proses pada Middleware
Proses yang terjadi adalah sebagai berikut:
1. Penghitungan waktu akses dimulai ketika
Aplikasi mengirimkan query TSQL2 ditunjukkan
dengan nomor (1). Pada Eksekutor, query
tersebut diteruskan menuju Converter.
2. Proses paling penting pada middleware
ditunjukkan oleh nomor (3), karena pada
converter terjadi proses parsing (pemecahan
query menjadi token-token) serta proses translasi
(pengubahan token-token menjadi query SQL’92
yang dimengerti oleh RDBMS)
3. Query SQL’92 akan diteruskan menuju
eksekutor untuk dijalankan pada RDBMS.
4. Hasil dari eksekusi query SQL’92 pada RDBMS
akan dikirim menuju Eksekutor dan dilanjutkan
menuju ke Converter. Pada Converter, akan
terjadi proses parsing dan translasi dari hasil
pada Relational menuju ke hasil pada Temporal.
5. Hasil berupa table temporal itulah yang
dikirimkan menuju aplikasi, dan dihitung waktu
dari awal sampai akhir eksekusi.
49
Sedangkan pada relational DB, aplikasi
langsung mengakses ke RDBMS. Proses yang
terjadi dapat digambarkan seperti gambar dibawah
ini:
Gambar 6 penggunaan storage awal
Gambar 5 Proses pada Aplikasi Relational
Proses yang terjadi adalah sebagai berikut:
1. Waktu
akan
dihitung
ketika
aplikasi
mengirimkan query SQL ’92 menuju ke
RDBMS.
2. RDBMS akan mengirimkan hasil query ke
aplikasi. Waktu akan dihitung sebagai response
time ketika hasil telah diterima oleh aplikasi.
Pada query DDL dan DML, proses pada
temporal database hanya terjadi 1 arah dari aplikasi
menuju RDBMS, tanpa kembali lagi menuju ke
aplikasi, dapat ditunjukkan dengan proses nomor (1)
sampai dengan nomor (5). Oleh sebab itu, query
temporal menghasilkan response time lebih cepat
daripada query relational, karena pada relational
database terjadi 2 kali proses pada setiap mengakses
tabel temporal, yaitu pada tabel utama dan tabel
history.
Sedangkan pada query retrieve data, proses
pada TemporalDB adalah setiap table result, baris
per baris data yang dihasilkan oleh RDBMS, akan
selalu ditranslasikan ke bentuk TSQL2 menuju
aplikasi. Hasil dari translasi tersebutlah yang
ditampilkan pada aplikasi. Hal ini menyebabkan
waktu yang dibutuhkan oleh TemporalDB pun
menjadi lebih lama dibandingkan dengan
RelationalDB karena pada RelationalDB, proses
hanya terjadi sekali. Saat table result dihasilkan oleh
RDBMS, maka dikirim ke aplikasi RelationalDB
dan hasil itulah yang ditampilkan oleh aplikasi.
3.4.2 Analisis Storage
Storage yang dibahas disini adalah penggunaan
media penyimpanan pada masing-masing basis data
dengan pemakaian data yang yang sama. Hal ini
digunakan untuk mengukur efektivitas penggunaan
media penyimpanan pada masing-masing model
basis data.
Pada Awal sebelum data dimasukkan,dibuat 2
buah
tablespace
yang
merepresentasikan
penggunaan storage awal untuk 2 buah basis data
yang ingin dibandingkan. Didapat data sebagai
berikut:
50
Setelah dimasukkan data dengan pemakaian
data yang sama, didapat perbandingan penggunaan
storage sebagai berikut:
Gambar 7 Perbandingan penggunaan storage akhir
Dari gambar diatas, dapat dilihat bahwa
penggunaan storage untuk basis data relational akan
memerlukan penggunaan space yang lebih besar
dibandingkan dengan penggunaan basis data
relational. Hal ini dikarenakan pada basis data
relational harus membuat tabel baru untuk
menyimpan historis dari data. Selain itu harus dibuat
beberapa trigger untuk memasukkan data historis
pada tabel baru tersebut. Sedangkan pada basis data
temporal, data tersebut cukup diwakili pada sebuah
tabel temporal saja. Pada tabel temporal tersebut
bisa terdapat 2 buah data dengan primary key yang
sama asalkan memiliki valid start dan valid end
yang berbeda.
4.
Kesimpulan dan Saran
4.1. Kesimpulan
Berdasarkan rangkaian desain, implementasi,
pengujian, pengukuran dan analisis yang telah
dilakukan, maka dapat disimpulkan bahwa:
1. Berdasarkan analisis query yang telah dilakukan,
penggunaan query pada temporal database dapat
diimplementasikan pada relational database
dengan beberapa pengubahan pada setiap queryquery yang dilakukan.
2. Penggunaan Storage untuk temporal database
lebih sedikit daripada penggunaan storage untuk
relational database yang menerapkan aspek
historical data karena setiap tabel dan isi dari
ISSN: 2088-8252
data pada relational database harus di-copy
untuk mendapatkan history dari data tersebut.
3. Salah satu kekurangan dari temporal database
adalah membutuhkan waktu akses yang lebih
lama daripada relational database pada query
retrieve data karena pada temporal database
harus melewati sebuah middleware untuk
parsing dan translasi query terlebih dahulu untuk
setiap hasil dari tabel data. Sedangkan untuk
query DDL dan DML pada tabel temporal akan
lebih cepat pada temporal database, hal ini
disebabkan pada temporal database hanya
mengakses 1 tabel, sedangkan pada relational
database akan mengakses 2 buah tabel.
4. Berdasarkan pengujian dan analisis, temporal
database memiliki kelebihan dalam pengaksesan
query-query untuk mengakses data temporal
karena jika menggunakan relational database
harus dilakukan beberapa modifikasi pada query
untuk mendapatkan hasil yang sama dengan
query pada temporal database.
4.2. Saran
Pada paper ini dapat disampaikan beberapa
saran sebagai berikut:
1. Temporal database hanya efektif untuk studi
kasus yang menggunakan aspek historical data,
untuk studi kasus umum, akan lebih baik jika
menggunakan relational database.
2. Untuk
meningkatkan performansi
dalam
temporal database, sebaiknya menggunakan
penggabungan antara temporal database dan
relational database dengan cara menggunakan
tabel temporal untuk tabel-tabel yang
membutuhkan data historis, sehingga dengan
seperti itu, response time masih tetap handal,
tetapi masih bisa menggunakan aspek historical
data.
Daftar Pustaka
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
Chomicky,Jan. Temporal Query Language: a Survey. January
24,1995
Graziotin,Daniel, Steingruber,Thomas. “Computer Shop
Warehouse
ER
Diagram”.
http://archimedes.inf.unibz.it/teaching2007/ida/team11/files/m
l-1/ComputerShopWarehouse-ERdiagram.jpg (Diakses pada
tanggal 8 November 2011).
Hawryskiewycz, Igor T., Relational Database Design: an
Introduction.University of Technology, Sydney. 1990.
Jensen,C.S., Introduction to Temporal Database Research.
2001.
Jensen, C.S, Clifford,J., Gadia,S.K., Segev,A.,Snodgrass,R.T.,
A Glosary of Temporal Database Concepts. January,1993
Steiner,Andreas.
TimeDB.
http://timeconsult.com/Software/Software.html (Diakses pada
tanggal 8 November 2010)
Steiner,Andreas. TimeDB 2.0 Beta 4 Documentation.
Timeconsult. 1999.
Widagdo,Tricya E. Slide Kuliah Basis Data Non Relational,
Temporal Database. Institut Teknologi Bandung. 2003
ISSN: 2088-8252
51
Download