ANALISA PERBANDINGAN KINERJA DSMS DAN RDBMS PADA STUDI KASUS TRANSAKSI ONLINE Ida Bagus Teguh Teja Murti, Wahyu Suadi, S.Kom, MM, M.Kom, Dwi Sunaryono, S.Kom, M.Kom Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Surabaya Abstrak
Saat ini penggunaan internet dengan melakukan transaksi online sangat tinggi. Tentunya transaksi online yang tinggi ini menggunakan data dan database sebagai media penyimpanan data tersebut. Jumlah data yang banyak tentu menyebabkan waktu yang digunakan untuk menyimpan, menampilkan, serta mengolah data-data tersebut juga lambat. Hal yang lambat ini tidak bisa ditolerir. Untuk mengatasi permasalahan waktu yang lambat tersebut telah ditemukan berbagai cara. Salah satunya dengan menggunakan DSMS(Data Stream Manajemen Sistem). Contoh aplikasi yang digunakan untuk mengaplikasi DSMS adalah Streambase dengan bahasa pemrograman SQLStream. Untuk mengetahui seberapa cepatnya Streambase ini dilakukan pengujian. Pengujian penggunaan aplikasi tersebut dengan membandingkan waktu proses kerja Streambase dengan sistem manajeman data yang lain, salah satunya dengan MySQL. Pengujian ini menggunakan study case. Study case yang digunakan adalah transaksi online pada data PSB Surabaya. Uji coba ini adalah mengolah sebanyak 40.000 data dan memasukan seluruh data tersebut pada MySQL dan Streambase. Dan dilakukan pembandingan uji coba dengan menghitung waktu yang diperlukan untuk memasukan data-data tersebut. Hasil uji coba dari dua sistem manajemen tersebut memberikan hasil bahwa Streambase dapat memasukan data lebih cepat dari MySQL memasukan data serta mengolah data tersebut di kemudian BAB 1 PENDAHULUAN waktu. Pertimbangan tersebut dengan melihat proses waktu Saat ini penggunaan internet dengan melakukan transaksi yang dibutuhkan untuk memasukan data pada dua sistem online sangat tinggi. Tentunya transaksi online yang tinggi ini manajemen data yaitu Streambase dan MySQL menggunakan data dan database sebagai media penyimpanan data tersebut. Jumlah data yang banyak dan tentu BAB 2 DASAR TEORI menyebabkan waktu yang digunakan untuk menyimpan, menampilkan, serta mengolah data-data tersebut juga lambat. 2.1. RDBMS Hal yang lambat ini tidak bisa ditolerir. DBMS (Data Base Management System) adalah Untuk mengatasi permasalahan waktu yang lambat tersebut telah ditemukan berbagai cara. Salah satunya dengan sekumpulan program komputer yang mengendalikan menggunakan DSMS(Data Stream Manajemen System). pembuatan, perawatan, dan penggunaan sebuah organisasi Contoh aplikasi yang digunakan untuk mengaplikasi DSMS database dengan menggunakan komputer sebagai platform. DBMS memungkinkan pengguna program aplikasi yang adalah Streambase dengan bahasa pemrograman SQLStream. Umumnya segala proses dibebankan secara langsung berbeda untuk dengan mudah mengakses database yang sama. kepada database. SQLStream adalah suatu metode terbaru DBMS menggunakan berbagai macam model database, dalam mengolah data. Data tersebut diolah berdasarkan proses seperti network model atau relational model. Dalam sistem yang besar, DBMS bisa digunakan user dan software lain business event dan business transaction. Penggunaan database pada umumnya adalah segala untuk menyimpan dan mengambil data dalam sebuah cara kegiatan seperti transaksi proses, infrastruktur aplikasi, dan yang terstruktur. Pengguna bisa meminta informasi dengan real-time aplikasi menggunakan database dengan memasukan pertanyaan sederhana dalam sebuah bahasa query, daripada data dan proses indek secara bersamaan yang dapat menggunakan program untuk mengekstrak informasi. menyebabkan semua proses lebih lambat. Berbeda dengan SQLStream yang dimana tidak ada proses indek sehingga data 2.2 MySQL MySQL adalah sebuah server database SQL multiuser tersebut mengalir pada memory dan diproses pada transaksi dan multi-threaded. Database ini dibuat untuk keperluan prosesnya dalam memory dan dapat ditampilkan pada aplikasi sistem database yang cepat, handal dan mudah digunakan. yang membutuhkan data-data tersebut. Tujuan dari pembuatan Tugas Akhir adalah menjelaskan Walaupun memiliki kemampuan yang cukup baik, MySQL seperti apa DSMS dan Streambase tersebut. Membuat aplikasi untuk sistem operasi Unix bersifat freeware, dan terdapat yang dapat melakukan pengujian untuk memasukan data ke versi shareware untuk sistem operasi windows dalam MySQL dan Streambase. Hasil dari pengujian dalam aplikasi ini sebagai pertimbangan untuk melakukan proses
1
Testing yang digunakan pada pengujian ini adalah testing SQLite. Testing SQLite ini adalah testing untuk mengetahui seberapa cepat sebuah sistem pada database melakukan proses DML dan DDL. Proses mencangkup melakukan proses create table, drop table, create index, insert data, update data, delete data, select data. Jumlah testing ini terdapat 16 buah dan dijalankan sesuai berurut. Testing tersebut adalah
2.3 SQL SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya. Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI.
Tabel 1 Testing SQLite
2.4 DSMS DSMS (Data Stream Managemnt System) adalah seperangkat program komputer yang mengontrol dan perawatan dan query data dalam data stream. Penggunaan DSMS untuk mengelola aliran data kira-kira sama dengan dengan penggunaan Sistem Manajemen Database. (DBMS) untuk mengelola database konvensional. Fitur utama dari DSMS adalah kemampuan untuk mengeksekusi query terus menerus terhadap aliran data. Sebuah query database konvensional mengeksekusi sekali dan mengembalikan set hasil sebuah titik waktu tertentu. Sebaliknya, permintaan terus terus mengeksekusi dari waktu ke waktu, sebagai data baru yang masuk ke stream dan hasil dari query terus menerus diperbarui sebagai data baru muncul atau yang diterima 2.5 Stream Base StreamBase Systems adalah perusahaan perangkat lunak berbasis di Lexington, MA, USA. StreamBase didirikan pada tahun 2003 untuk mengusahakan suatu proyek yang disebut Aurora. Didirikan oleh Mike Stonebraker di MIT, bersama peneliti dari Brandeis University dan Brown University. Pada Situs StreamBase bahwa kompleks event pengolahan (CEP) pada platform memungkinkan untuk membangun sistem yang cepat menganalisis dan bertindak berdasarkan data real-time streaming untuk pengambilan keputusan yang cepat, dan menggabungkan lingkungan pengembangan aplikasi yang cepat, ultra low-latency high-throughput pada server, serta konektivitas ke data real-time dan historis. 2.6 StreamSQL StreamSQL adalah bahasa query yang dikembangkan dari SQL dengan kemampuan proses real-time data stream. SQL terutama ditujukan untuk memanipulasi relasi atau juga dikenal sebagai tabel, yang terbatas pada tupel (baris). StreamSQL menambahkan kemampuan untuk memanipulasi Stream, yang dimana memiliki masalah pada urutan dengan jumlah tidak terbatas dari tupel yang masuk pada saat pada waktu yang sama, karena stream yang tidak terbatas ini maka operasi menjadi monoton. Queri yang berada pada stream tersebut menjadi "terus berputar" sehingga penggunaan dapat membuat waktu yang lama dengan mengembalikan hasil dari tabel yang terus meningkat.
No
Nama Tes
Penjelasan Tes
1
Tes 1
Memasukan data sebanyak 1000 buah pada tabel 1
2
Tes 2
Memasukan data sebanyak 25000 buah pada tabel 2 dalam sekali transaksi
3
Tes 3
Memasukan data sebanyak 2500 buah dalam tabel 3 yang telah dibuat dalam bentuk index
4
Tes 4
Mengambil data sebanyak 100 kali pada tabel yang belum di index
5
Tes 5
Mengambil data sebanyak 100 kali pada tabel dengan pencocokan dengan menggunakan kata
6
Tes 6
Membuat index pada tabel
7
Tes 7
Mengambil data sebanyak 5000 kali pada tabel yang menggunakan index
8
Tes 8
Mengubah isi tabel sebanyak 1000 kali pada tabel yang tidak menggunakan index
9
Tes 9
Mengubah isi tabel sebanyak 25000 kali pada tabel yang menggunakan index
10
Tes 10
Mengubah isi tabel dengan teks sebanyak 25000 kali pada tabel yang menggunakan index
11
Tes 11
Memasukan data setelah mengambil data tersebut
12
Tes 12
Menghapus data pada tabel tanpa index
13
Tes 13
Menghapus data pada tabel yang memiliki index
14
Tes 14
Memasukan data yang banyak setelah melakukan penghapusan yang banyak
15
Tes 15
Menghapus data yang diikuti memasukan data yang sedikit
16
Tes 16
Menghapus tabel
2.8 Transaksi Online Proses transaksi online adalah istilah kolektif yang digunakan untuk menggambarkan suatu sistem klasifikasi bahwa setiap tahap transaksi di lingkungan online. Kadangkadang dikenal sebagai OLTP, proses ini biasanya melibatkan entri data, pengambilan informasi dari berbagai sumber dan jenis database atau progresi logis untuk penyelesaian transaksi. Sementara banyak cenderung berpikir OLTP yang terkait dengan pemrosesan transaksi keuangan di lingkungan online, istilah ini dapat diterapkan untuk jenis transaksi
2.7 Testing SQLite Untuk mengetahui waktu atau kinerja yang dilakukan oleh DBMS dan DSMS maka harus menggunakan testing.
2
lainnya juga, seperti transfer dokumen elektronik yang ditandatangani oleh transmisi point-to-point server.
3.3 Rancangan perangkat lunak Pada perancangan perangkat lunak seperti yang terlihat pada Error! Reference source not found.. Saat aplikasi dijalankan akan terlihat spesifikasi komputer. Lalu user akan diminta login dengan menggunakan user client dan password praktikum. Setelah login maka akan terdapat 2 tab yang dengan nama DBMS dan DSMS. Setiap tab memiliki tempat untuk mengisi alamat url dari server, port yang digunakan, pilihan melakukan test dan hasil waktu test tersebut. Khusus untuk tab DBMS disediakan tempat mengisi username dan password. Setelah memilih tab DBMS dan DSMS yang ada maka user diminta untuk melakukan koneksi. Jika koneksi tidak sukses maka tidak diperbolehkan melakukan test. Jika sudah sukses melakukan koneksi maka user dapat melakukan test. Setiap test setelah selesai dilakukan maka akan terdapat hasil waktu atau bila user belum melakukan pencatatan maka disediakan tombol khusus untuk melihat waktu yang dilakukan.
2.9 Transaksi Per Detik Transaksi Per Second mengacu pada jumlah dari tindakan yang dilakukan oleh entitas tertentu per detiknya. Istilah ini biasanya digunakan oleh vendor DBMS dan komunitas pengguna untuk merujuk pada jumlah transaksi database yang dilakukan per detik. Rumusnya adalah
Gambar 1 Rumus dari TPS
BAB 3 PERANCANGAN PERANGKAT LUNAK 3.1 Deskripsi Umum Pengerjaan tugas akhir ini adalah menguji suatu sistem DSMS dan DBMS. Pengujian ini terdiri dari beberapa test yang digunakan pada Test SQLite. Tahap pengujian menggunakan DBMS Server, DSMS Server dan Client. Untuk DBMS menggunakan MySQL Server dan DSMS menggunakan StreamBase Server. Pada Streambase terlebih dahulu harus menuliskan syntax SQLStream untuk menerima input dan mengeluarkan output. Inputan akan berasal dari client. Pada MySQL harus membuat database untuk menampung data yang akan masuk dari client. Pembuatan Client menggunakan Java Swing yang dimana bisa melakukan proses sesuai testing pada SQLite. Pada client sebelum melakukan testing sudah terhubung dengan server. Proses testing ini untuk mendapatkan waktu proses yang dilakukan oleh client. Waktu dihitung dari waktu melakukan hingga proses tersebut berhenti Untuk Studi case menggunakan data pada PSB Surabaya. Data pada master siswa smp dimasukan pada tabel input sma regular dengan memasukan sekolah yang dipilih. Perbandingan waktu dihitung adalah waktu untuk memproses pengisian data pada mysql dan streambase serta proses menampilkan data tersebut ataupun menampilkan data tersebut.
3.4 Perancangan Database Perancangan database terpusat pada penggunaan database yang ada pada studi kasus PSB Surabaya. Terdapat 3 tabel yang digunakan yaitu tabel m_siswa_smp, tabel m_sekolah dan tabel t_input_reguler_sma tabel m_siswa_smp adalah master yang telah berisi dafat anak-anak smp yang telah lulus uan dan bersiap masuk sma. Tabel ini berisi 44 kolom dan berisi 39418 data atau siswa. Pada studi kasus ini seluruh data pada m_siswa_smp akan dimasukan ke tabel t_input_reguler_sma dengan memperhatikan kolom id_siswa, lalu mengambil na_bi, na_mat, na_big, na_ipa. Tabel m_sekolah adalah tabel yang digunakan sebagai foreign key atau referensi pada tabel t_input_reguler_siswa Bila menggunakan tabel input siswa smp maka hanya bisa menggunakan id dari 53 – 163. Merupakan tabel yang digunakan bila user memasukan data untuk memilih sekolah. Data-data tersbeut berasal dari tabel m _siswa_smp 3.5 Perancangan DataStream Pada data stream yang diperlukan adalah mempersiapkan input yang digunakan seperti apa dan output yang diinginkan seperti apa. Sesuai dengan tes pada Testing SQLite maka akan terdapat 4 masukan stream (Input Stream) dan 11 keluaran stream (Output Stream). Lalu untuk studi kasus PSB membutuhkan 1 inputan stream dan 1 output stream
3.2 Arsitektur Umum Sistem Pada arsitektur sistem pada pengujian adalah membuat aplikasi yang dimana sesuai dengan test yang terdapat pada SQLite. Pada pembuatan aplikasi client yang berbasis java ini, data-data telah disediakan. Setiap test lalu client membaca data yang berada dalam bentuk file dan melakukan proses sesuai test yang diminta. Proses yang telah diselesaikan akan mendapatkan waktu pengerjaan dalam hitungan detik. Untuk perancangan sistem pada studi kasus PSB telah disiapkan pada data-data yang diperlukan untuk memasukan data dan untuk memasukan data ke dalam database maupun data stream. Data-data yang dimasukan adalah id dari siswa beserta pilihan berupa sekolah dan nilai uan dari siswa bersangkutan. Pada database telah disiapkan 3 tabel yaitu tabel master siswa, tabel sekolah dan tabel masukan siswa. Streambase server telah disiapkan SQLStream yang telah menampung data-data dari client dengan menggunakan masukan data stream.
BAB 4 IMPLEMENTASI PERANGKAT LUNAK 4.1 Implementasi melakukan pengujian pada DBMS Pengujian pada DBMS dilakukan dengan membaca file pada file (Pseudocode 1 Proses dari DBMS) yang dimana telah ditulis berdasarkan bahasa SQL lalu oleh program dijalankan per baris. Telah ditentukan untuk setiap test jika isi dari test bersifat memasukan data (Pseudocode 3 proses dari memasukan data) ataupun memilih data (Pseudocode 2 Proses dari membaca data). Setelah melakukan semua perintah maka proses akan menampilkan waktu yang digunakan untuk menjalankan aplikasi tersebut
3
ProsesDBMS(){ Jika test 4 atau test 5 atau membacaData() Selain itu memasukanData() } Pseudocode 1 Proses dari DBMS
BAB 5 UJI COBA DAN EVALUASI
test7
5.1 Uji Coba Fungsionalitas Uji coba fungsionalitas dilakukan untuk melihat apakah fungsi-fungsi dasar aplikasi berjalan sebagai mana mestinya. Hasil uji coba ditunjukkan dengan hasil screenshot dari Graphical User Interface pada Solver Interface terkait. Uji coba fungsionalitas meliputi uji coba client dalam melakukan tes pada tab DBMS dan DSMS, melakukan tes koneksi, memperlihatkan hasil proses waktu.
membacaData(){ membaca file sesuai test DO WHILE membaca perintah per baris perintah di proses dalam database DO WHILE hasil proses ditangkap Dibaca END DO END DO } Pseudocode 2 Proses dari membaca data memasukanData(){ membaca file sesuai test DO WHILE membaca perintah per baris perintah di proses dalam database END DO } Pseudocode 3 proses dari memasukan data
4.2 Implementasi melakukan pengujian pada DSMS Pengujian pada datastream menjadi 2 bagian yaitu memasukan data dan menampilkan data. Memasukan data dengan membaca nilai – nilai yang masuk yang berasal dari file. Nilai-nilai tersebut dibaca perbaris dan dimasukan kedalam Streambase server sesuai dengan nama input yang digunakan pada Streambase sesuai Error! Reference source not found. pada. Untuk membaca data tersebut harus mengetahui nama output yang digunakan sesuai Error! Reference source not found.. Data tersebut terus diterima hingga inputan dari Streambase Server berhenti. Bila data tersebut tidak diterima secara manual client harus menekan tombol stop. Setelah proses maka waktu akan ditampilkan.
Gambar 2 Tampilan Client
Uji coba menjalankan melakukan tes dapat dilakukan dengan memasukan nama user : client dan password : praktikum. Setelah itu akan muncul tampilan Gambar 2 Selanjutkan akan melakukan tes koneksi pada server dengan menekan tombol connect. Maka akan muncul dialog yang menyatakan koneksi telah sukses dan tombol execute dan result bisa digunakan. Saat menjalankan testing dan selesai maka akan muncul dialog waktu proses dalam hitungan detik 5.2 Uji Coba Performa Tabel 2 Hasil perbandingan waktu Streambase dengan MySQL
memasukanDataStream(){ Membaca file testInput sebagai string berasal dari test yang digunakan DO WHILE membaca data pe rbaris Masukan data + testInput END DO } Pseudocode 4 memasukan data ke dalam Streambase membacaDataStream(){ testOutput sebagai String berasal dari test yang digunakan DO WHILE membaca data dari server DO WHILE data dipecah menjadi tuple Tuple dimasukan ke dalam linkedlist tuple END DO END DO } Pseudocode 5 membaca data dari server
4
No
Test
MySQL
Streambase
Perbedaan
1
Test01
12.028
0.315
11.713
97%
2
Test02
341.122
3.41
337.712
99%
3
Test03
399.774
1.302
398.472
100%
4
Test04
3.344
1.659
1.685
50%
5
Test05
3.904
1.583
2.321
59%
6
Test06
0.926
0
0.926
100%
7
Test07
11.393
1.445
9.948
87%
8
Test08
3.678
0.208
3.47
94%
9
Test09
342.648
2.012
340.636
99%
10
Test10
367.42
1.464
365.956
100%
11
Test11
2.463
0
2.463
100%
12
Test12
0.433
1.613
-1.18
-273%
13
Test13
1.084
1.554
-0.47
-43%
(%)
14
Test14
2.951
0.199
2.752
93%
15
Test15
156.723
0.056
156.667
100%
16
Test16
0.471
0
0.471
100%
RATA-RATA
uji coba kemudian di rata-rata untuk mendapatkan hasil TPS dari MySQL dan Streambase untuk setiap uji coba data. Selain penggunan data dengan jumlah 3941 data juga dengan menggunakan data dengan banyak 7883. 19709, dan 39418 data.
60%
Diliat dari hasil (Tabel 2) bahwa Streambase lebih cepat dalam melakukan hasi testing namun sebenarnya testing yang dilakukan oleh Streambase tidak dilakukan secara seluruhnya dengan perintah yang ada pada SQLite Testing. Testing yang dilakukan yang dilakukan sepenuhnya adalah test 1-3. Untuk melakukan pengujian ini streambase hanya dapat melakukan testing pada perintah awal dari test. Misal pada perintah awal dari test 4 adalah memilih data sebanyak 100 buah maka pada streambase hanya menuliskan 1 kode saja karena keterbasan tempat untuk melakukan pengujian. Pada streambase yang digunakan dalam uji coba ini menggunakan edisi developer sehingga hanya diperboleh menggunakan hingga 500 baris saja.
Gambar 4 Grafik rata-rata waktu MySQL
Untuk penggunaan grafik waktu yang ada pada memasukan data pada MySQL (Gambar 4 Grafik rata-rata waktu MySQL) bersifat linear yang artinya semakin naik untuk penggunaan data yang banyak. Penggunaan waktu yang digunakan oleh Streambase (Gambar 3 Grafik rata-rata waktu Streambase) waktu yang dihasilkan adalah linear namun berbeda dalam hal kisaran waktu yang dihasilkan atau dibandingkan oleh MySQL. Apabila MySQL perlu waktu hingga puluhan detik maka Streambase hanya perlu waktu beberapa detik saja. Tabel 3 Hasil TPS untuk MySQL dan Streambase TPS Uji
Gambar 3 Grafik rata-rata waktu Streambase
Selain itu pada test 06, test 16 tidak bisa dijalankan. Test 06 adalah membuat indeks. Indeks tidak bisa dijalankan melalui client ke server tidak seperti MySQL yang dapat menjalankan pembuatan index dari client ke server. Pembuatan indek hanya bias dilakukan pada server, sehingga saat dijalankan secara otomastis tabel untuk menampung data stream telah terindek. Pada test 16 juga tidak bisa dijalankan karena pada streambase tidak mengenal drop table tapi menggunakan truncate untuk mengosongkan tabel sehingga untuk menjalankan proses truncate ini dengan memasukan data untuk memicu pengosongan tabel. Walau dalam test terlihat bawah kecepatan Streambase unggul dalam memasukan namun dalam tes 12 dan 13 Streambase lebih lambat dalam mengambil data. Rata-rata Streambase melakukan test ini adalah 60% lebih cepat daripada MySQL Berikut adalah hasil peghitungan waktu dengan menggunakan data PSB sebagai studi kasus. Pada kasus yang pertama melakukan ujicoba pada beda subnet dengan menggunakan data sebanyak 7883 data atau 1/5 dari data pada psb sehingga mendapatkan perhitungan waktu seperti ini yang dihitung dalam detik. Lalu dari hasil perhitungan sebanyak 10 kali tersebut maka di rata-rata untuk mendapatkan waktu ratarata memasukan data. Hasil waktu juga digunakan untuk mendapatkan TPS dengan membagi jumlah transaksi yang dilakukan dalam hal ini memasukan data lalu membaginya dengan waktu untuk tiap uji coba. Waktu TPS untuk setiap
Data
MYSQL
Streambase
1
3941
81.31097
5862.98971
2
7883
82.55846
7739.43136
3
19709
80.75254
12209.1473
4
39418
80.65141
14057.8143
Rata-rata
81.31835
9967.35
Pada TPS MySQL rata-rata memerlukan 80 data untuk setiap detik melakukan proses sedangkan Streambase untuk setiap detik memasukan data sebanyak 14.057 data. Melihat semua uji coba yang ada dari uji coba 1,2,3, dan 4 maka dapat di rumuskan sesuai tabel Tabel 3, maka dapat dihasilkan bahwa rata-rata TPS untuk MySQL adalah 81 TPS (Tabel 3) sehingga untuk setiap jumlah data apapun dengan studi case psb ini maka untuk memasukan data sebanyak 81 data untuk setiap detiknya. Pada Streambase melihat pada tabel bahwa rata yang dihasilkan adalah 9967.35 TPS Untuk penggunaan waktu Select atau mengambil data terlihat pada Error! Reference source not found. bahwa waktu untuk mengukur proses waktu MySQL lebih cepat mengambil data seluruh database dengan jumlah data 3941, 7883, 19709 dan 39418 data. Walaupun sifat dari garis grafik Streambase dan MySQL linear namun waktu yang dihasilkan memiliki perbedaan hingga 80% (Error! Reference source
5
not found.) atau MySQL lebih cepat 80% dibandingkan Streambase namun perbedaan ini masih dalam hitungan satuan beberapa detik
Gambar 6 Penggambaran RDBMS
Di streaming aplikasi data, sebaliknya, catatan data yang mengalir melalui query dan aplikasi pengolah, yang pada gilirannya mengubah data ini ketika sedang bergerak. Hal ini sangat efisien "proses sebelum disimpan" model disebut pemrosesan query inbound. Menjalankan query seperti "terus menerus" SQL seperti query sangat cocok untuk aplikasi dalam dunia jasa keuangan di mana operasi pada data-data yang digunakan seperti pusat kegiatan perdagangan dalam hal ini saham. Di streaming aplikasi data, data yang mengalir melalui query dan aplikasi pengolah, yang pada gilirannya mengubah data ini ketika sedang bergerak (Gambar 7). Hal ini sangat efisien yang biasa disebut "proses sebelum disimpan" atau disebut pemrosesan query inbound.
Gambar 5 Grafik perbedaan waktu rata-rata pengambilan data
Kecepatan waktu yang dihasilkan MySQL dalam melakukan pengambilan seluruh data lebih cepat dibandingkan Streambase karena Streambase pada saat bersamaan harus melakukan insert dan menunggu server memberikan datanya kepada client. Penghitungan waktu dilakukan dengan menghitung waktu yang datang terakhir kali dengan waktu yang datang pertama. Tabel 4 Grafik perbandingan MySQL dan Streambase dalam detik waktu yang dihabiskan untuk mengambil data Uji
Data
MySQL
Streambase
Perbedaan
1
3941
0.043
0.25
0.20
82%
2
7883
0.084
0.49
0.40
83%
3
19709
0.195
1.08
0.89
82%
4
39418
0.331
2.22
1.89
85%
RATA-RATA
Gambar 7 Penggambaran Streambase
Menjalankan query seperti "terus menerus" pada saat server dijalankan serta SQL yang digunakan untuk membuat query sangat cocok untuk aplikasi dalam dunia jasa keuangan di mana operasi pada data-data yang digunakan sangat banyak dan untuk pengolahan harus cepat seperti pusat kegiatan perdagangan dalam hal ini saham. Pengolahan inbound, query dijalankan pada data streaming melalui window tertentu sebelum ditempatkan dalam penyimpanan. Memang, karena tidak semua data perlu disimpan, pengolahan inbound tidak mendatangkan masalah yang signifikan dari pengindeksan, penyimpanan, dan pengambilan. Tentu saja, banyak aplikasi mengharuskan bahwa beberapa atau semua streaming data disimpan untuk pengambilan berikutnya (misalnya, untuk memenuhi persyaratan arsip atau audit)
83%
5.3 Evaluasi Faktor berikut yang mempengaruhi adalah penggunaan latency pada sistem manajemen data tersebut. Pada atabase relasional (RDBMS) akan melakukan proses pemaksaan data yang masuk ke dalam query secara terus menerus. Dalam model RDBMS yang berlaku di mana data yang masuk pertama disimpan dan kemudian diindeks ke dalam sebuah disk berbasis RDBMS dan secara terus menerus. Setelah data disimpan dan diindeks, tugas query dan pengolahan dapat diimplementasikan dalam Structured Query Language (SQL). Pendekatan ini disebut pemrosesan query outbound, di mana query dijalankan setelah data streaming diindeks dan disimpan. Pertama mari menggambarkan model pengolahan outbound, dimana data diindeks dan disimpan sebelum query dijalankan dan hasilnya disampaikan (Gambar 6)
6
BAB 6 KESIMPULAN DAN SARAN 3.
6.1 Kesimpulan Hasil pengamatan selama perancangan, implementasi, dan proses uji coba perangkat lunak yang dilakukan, dapat diambil kesimpulan sebagai berikut : 1. Hasil perbandingan waktu yang dilakukan terhadap Streambase dengan MySQL dengan menggunakan JDBC dalam memasukan data menghasilkan perbedaan waktu hingga 99% lebih cepat pada memasukan data di sebanyak 25000 data pada SQLite Testing dan memiliki rata-rata kecepatan 60% dibandingkan MySQL 2. Hasil Rata-rata TPS yang dihasilkan dari MySQL dengan menggunakan JDBC pada studi kasus PSB ini adalah 81 TPS dan rata-rata kecepatan hingga 219,85 detik 3. Hasil Rata-rata TPS pada Streambase akan semakin tinggi untuk jumlah data yang banyak dengan ratarata peningkatan 35% 4. Walaupun waktu yang dibutuhkan untuk proses memasukan data bersifat linear pada MySQL atau Streambase namun dari hasil waktu MySQL butuh waktu puluhan detik untuk memproses sedangkan Streambase hanya perlu beberapa detik 5. Pada proses mengambil seluruh data pada database dengan jumlah data 3941, 7883, 19709, dan 39418 MySQL lebih cepat daripada Streambase yang menunggu data dari server yaitu dengan rata-rata 83% lebih cepat 6. Walaupun dalam pengambilan data MySQL lebih cepat dalam mengambil data namun perbedaan tersebut dengan rata-rata 0,85 detik
4.
5.
6.
6.2 Saran Berikut merupakan beberapa saran untuk pengembangan sistem di masa yang akan datang, berdasar pada hasil perancangan, implementasi, dan uji coba yang telah dilakukan. 1. Membuat implementasi Streambase untuk web menggunakan java sebagai bahasa pemrograman misal menggunakan JSP ataupun GWT. 2. Penggunaan Streambase terbatas hanya sampai 20.000 baris saja karena menggunakan edisi pengembangan. Untuk mendapatkan penggunaan yang lebih silahkan registrasi untuk mendapatkan yang edisi perusahaan atau yang digunakan di perusahaan 3. Penggunaan Streambase untuk masa waktu terbatas hanya 1 bulan sehingga untuk penggunaan yang lebih daftarkan untuk edisi entreprise. DAFTAR PUSTAKA 1. Streambase System, Inc. Streambase Studio[Internet].2011[tanggal terakhir akses : 24 Juli 2011 ]. Bisa dilihat di : http://www.streambase.com/productsStreamBaseStudio.htm 2. Streambase System, Inc. Stream SQK[Internet].2011[tanggal terakhir akses 24 Juli 2011].
7
Bisa dilihat di : http://www.streambase.com/productsstreamsql.htm Streambase System, Inc. SQLStream Guide[Internet].2011[tanggal terakhir akses 24 Juli 2011]. Dapat dilihat di: http://www.streambase.com/developers/docs/latest/streams ql/iinde.html Streambase System, Inc. Inbound Processing [Internet].2011[tanggal terakhir akses 24 Juli 2011]. Dapat dilihat di: http://www.streambase.com/products-inboundprocessing.htm#top Conjecture Corporation. What Is Online Transaction Processing? [Internet]. 2003 – 2011[tanggal terakhir akses 24 Juli 2011].Dapat dilihat di: http://www.wisegeek.com/what-is-online-transactionprocessing.htm SQLite. Database Speed Comparison [Internet]. 2011. [Tanggal Terakhir diakses : 24 Juli 2011]. Daoat dilihat di http://www.sqlite.org/speed.html