Diarsipkan di bawah: Sistem Basis Data
Yah…
aku jadi yang posting kedua de
hehehheheh…
Ya uda de
ga pa2 la
Mode Serius : on
Seperti yang disebutkan kak Ratih, salah satu hal yang harus diperhatikan dalam SBD adalah pemrosesan query
Langkah dasar pemrosesan query :
1. Parsing dan translasi
a. Translasi query menjadi bentuk internal kemudian translasikan ke aljabar relasional
b. Parser memeriksa sintaks dan verifikasi relasi-relasi
2. Optimasi : memilih evaluasi plan yang paling rendah costnya
3. Evaluasi : query-execution engine memakai query-evaluation plan, mengeksekusi plan tersebut, dan mengembalikan hasilnya
Cost umumnya diukur sebagai total waktu diperlukan untuk menyelesaikan query
1. Banyak faktor yang menentukan cost : Kecepatan akses disk, CPU, atau sampai komunikasi jaringan
2. Kecepatan akses disk adalah faktor utama penentu cost dan relatif mudah diperkirakan. Kecepatan ini diukur dengan :
a. Number of seeks * average-seek-cost
b. Number of blocks read * average-block-read-cost
c. Number of blocks written * average-block-write-cost
Cost untuk menulis sebuah blok lebih besar dari cost untuk membaca blok karena setelah menulis, data akan dibaca lagi untuk memastikan data yang ditulis berhasil.
Operasi-operasi dalam pemrosesan query :
1. Selection dengan menggunakan algoritma searching seperti A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11
2. Sorting
Untuk relasi yang muat di memori, teknik ini seperti quicksort, sedangkan untuk relasi yang tidak cocok pada memori, external sort-merge cukup bagus.
3. Join diimplementasikan dengan beberapa algoritma seperti nested-loop join, block nested-loop join, indexed nested-loop join, merge-join, hash-join
4. Duplicate elimination dapat diimplementasikan dengan hashing atau sorting
5. Agregation dapat diimplementasikan dengan cara yang sama pada duplicate elimination
6. Projection diimplementasikan dengan melakukan proyeksi pada setiap tupel yang diikuti dengan duplicate elimination
7. Set operations (^,V,-) dapat digunakan sebagai varian dari merge-join setelah sorting atau varian dari hash-join
8. Outer join adalah modifikasi dari join dengan diikuti tambahan NULL sesuai dengan ruas yang diinginkan
Wah… akhirnya beres juga postingannya
hehehehheheh
tapi sayangnya g ga ngerti ama postingan g sdnr ni
hix…. ToT
Ya moga2 tar bs mengerti sendiri la
Database tuning, maksudnya peningkatan performansi basis data. Performansi adalah nilai efisiensi suatu aplikasi atau beberapa aplikasi yang dijalankan di lingkungan yang sama. Yang menjadi penilaian dalam performansi diantaranya :
- troughput : jumlah task yang dapat dikerjakan dalam suatu waktu tertentu
- response time : waktu yang dibutuhkan 1 task untuk diselesaikan
Tuning yang dapat dilakukan meliputi :
- Tuning pada hardware : tidak terlalu menjadi bahasan dalam SBD.
- Tuning pada skema : dapat dilakukan dengan berbagai cara, seperti splitting table(baik secara vertikal atau horizontal), denormalisasi, menambahkan kolom redundan, menambahkan kolom turunan, collapsing table, dan duplicating table. Semuanya bertujuan untuk meningkatkan performansi sistem. Misal, IPK, nilainya dapat diturunkan dari perhitungan atribut-atribut lain dari berbagai tabel. Namun, jika hanya untuk menghitung IPK harus demikian, maka akan memakan waktu sangat lama. Oleh karena itu, pada tabel yang membutuhkan informasi IPK, tambahkan saja atribut IPK yang nilainya disimpan dan dihitung dari proses lain. Ini merupakan contoh tuning skema dengan menambahkan kolom turunan.
- Tuning dengan index
- Tuning pada materialized view
- Tuning pada transaksi
-Nitia-
Diarsipkan di bawah: Sistem Basis Data
Sistem basis data adalah sistem terkomputerisasi dimana tujuannya adalah untuk menyimpan data, dan membolehkan pengguna untuk mengambil dan mengubah data sesuai dengan permintaan. Sistem basis data terdiri dari empat komponen yaitu :
- Data
- Perangkat keras
- Perangkat lunak mis. DBMS
- Pengguna
Mengapa dibutuhkan sistem basis data??
Sistem basis data dibutuhkan karena pada sistem yang hanya terdiri dari satu orang pengguna hanya membutuhkan kecepatan, keakuratan data akan tetapi pada sistem yang penggunanya lebih dari satu, kebutuhan akan data menjadi lebih kompleks. Kebutuhan ini meliputi konsistensi dari data sehingga data yang redundan benar-benar harus dijaga, kecepatan dalam mengambil data, keamanan data, transaksi yang dilakukan secara konkuren, dan sebagainya.
Berdasarkan kebutuhan yang muncul pada sistem tersebut, sistem basis data haruslah memperhatikan hal-hal berikut ini :
- Pemrosesan query
- Optimasi query
- Integritas basis data
- Manajemen transaksi
- Keamanan basis data
- Arsitektur sistem
- Efisiensi basis data
Biasanya dalam suatu sistem, misalnya di perusahaan, terdapat administrator yang mengurusi tentang sistem basis data di perusahaan tersebut. Tugas dari administrator ini adalah mendefenisikan model data konseptual, mendefenisikan skema basis data, berhubungan dengan pengguna, menjaga keamanan dari data, menjaga keberlangsungan dari data dengan melakukan back up untuk setiap periode tertentu serta memonitor performansi dan bertanggung jawab terhadap segala perubahan yang akan terjadi.
Sistem basis data dapat dibangun dengan arsitektur tertentu misalnya centralized system, clien-server system, parallel system atau distributed system. Centralized system adalah sistem yang berjalan pada sistem komputer tunggal. Client-server system yaitu sistem basis data yang memfasilitasi client-client nya untuk mengakses basis data yang ada di server. Parallel system terdiri dari beberapa prosessor dan disk yang terhubung dengan jaringan yang memiliki interkoneksi yang cepat. Paralel system dapat berupa sistem yang berbagi memori, berbagi disk, tidak berbagi apapun dan sistem hirarki. Distributed database yaitu sistem dimana data tersebar di beberapa node atau site. Sehingga jika data antar node atau site berbeda tipe menyebabkan data tersebut tidak dapat digunakan langsung, harus diproses terlebih dahulu. Distributed database terdiri dari sistem basis data terdistribusi homogen dan heterogen. Homogen distributed database yaitu sistem basis data terdistrusi yang semua software atau skema nya sama antar semua site / node sedangkan heterogen distributed database system software/skema antar site berbeda.
Diarsipkan di bawah: Sistem Basis Data
tips2 dlm FD
1. Semua F+ dapat dicari dengan Armstrong’s Axioms:
– if b C= a, then a -> b (reflexivity)
– if a -> b, then xa -> xb (augmentation)
– if a -> b, and b -> c, then a -> c (transitivity)
2. rules tambahan
– If a -> b and a -> c, then a -> bc (union)
– If a -> bc, then a -> b and a -> c (decomposition)
– If a -> b and xb -> d, then ax -> d (pseudotransitivity)
3. Testing :
-. a adl super key, jika a+ mengandung semua atribut R.
-. a adl candidate key, jika a super key dan a minimal
-. a -> b adl FD, jika b C= a+.
4. Canonical cover dari F adl himpunan FD yg minimal dan tidak memiliki redundansi FD atau atribut extra.
5. Fc adl canonical cover dari F jika
-. F dapat menurunkan Fc.
-. Fc dapat menurunkan F.
-. Tidak ada atribut extra pada Fc.
-. Setiap ruas kiri di Fc unik.
6. Testing untuk atribut extra.
Misalkan a -> b pada F
-. atribut x E a adl extra jika (a-x)+ pada F mengandung x
-. atribut x E b adl extra jika a+ pada F’ mengandung x dimana F’=(F-(a -> b))U(a -> (b-x))
7. Algoritma mencari canonical cover dari F :
repeat
Use the union rule to replace any dependencies in F
a -> b and a -> c with a -> bc
Find a functional dependency a -> b with an
extraneous attribute either in a or in b
If an extraneous attribute is found, delete it from a -> b
until F does not change