Diarsipkan di bawah: Sistem Basis Data
akhir-akhir ini, kesukesan dari sebuah organisasi ditentukan dari kemampuannya untuk mendapatkan data yang akhurat dan terpercaya dari operasi yang dijalankjannya. Banyaknya informasi yang ada saat ini menjadi hal berharga bagi perusaahaan yang menjadi salah satu komponen penting penentu kemajuan sebuah perusahaan. Untuk mengorganisasikan data secara efektif agar bisa digunakan untuk menganalisa data yang ada dibutuhkan sistem manajemen data yang powerful dan fleksibel dibuat untuk tujuan tersebut.
Oleh karena itu, teknologi sistem basis data hadir sebagai solusi permasalahan diatas. Basis data merupakan kumpulan dari data, yang digunakan oleh aplikasi dari suatu perusahaan. Sistem basis data adalah sistem terkomputerisasi untuk penyimpanan catatan/data. Sistem Basis Data melibatkan 4 komponen penting:
1. Data
2. Hardware
3. Software
4. User
Pada beberapa pustaka, terminologi dari teknologi ini biasa disamakan dengan sistem manajemen basis data. DBMS (Database management system) merupakan sebuah perangkat lunak kompleks, yang dioptimalkan untuk beberapa task tertentu (seperti memberikan query kompleks atau menangani rekuest konkuren), dan performa yang dimilikinya tidak berkurang untuk aplikasi apapun. Terdapat beberapa keuntungan penggunaan sistem basis data untuk pengelolaan data, yaitu :
- Data yang independen
- Keamanan dan integritas Data
- Administrasi data
- Akses konkuran dan crash crecovery
- Mengurangi waktu pengembangan aplikasi
Dengan keuntungan yang banyak ini, tidak ada alasan seseorang tidak menggunakan sistem basis data.
Created by: Ogie
Diarsipkan di bawah: Uncategorized
Basis data terdistribusi adalah sekumpulan basis data yang saling terhubung secara lojik dan secara fisik terdistribusi pada berbagai tempat melalui jaringan komputer.
Ciri-ciri sistem basis data terdistribusi antara lain :
- Data disimpan di sejumlah tempa. Setiap tempat secara lojik terdiri dari prosesor tunggal.
- Prosesor pada tempat yang berbeda tersebut dihubungkan dengan jaringan komputer.
- Sistem basis data terdistribusi bukan terdiri dari sekumpulan file yang berada pada berbagai tempat tetapi pada sebuah basis data di berbagai tempat.
- Setiap tempat mempunyai kemampuan untuk secara mandiri memproses permintaan user yang membutuhkan akses ke data di tempat tersebut dan juga mampu untuk memproses data yang tersimpan di tempat lain.
Keuntungan yang diberikan oleh sistem basis data terdistribusi antara lain :
- Pengelolaan secara transparandata yang terdistribusi dan replicated
- Mengacu pada struktur organisasi
- Meningkatkan kemampuan untuk berbagi dan otonomi lokal
- Meningkatkan ketersediaan data
- Meningkatkan kehandalan
- Meningkatkan performansi kerja
- Memudahkan pengembangan sistem
Kerugian yang diberikan sistem basis data terdistribusi antara lain :
- Kompleksitas manajemen
- Kontrol integritas lebih sulit
- Biaya pengembangan
- Keamanan
- Sulitnya standarisasi
- Menambah kebutuhan penyimpanan
- Lebih sulit dalam mengatur lingkungan data
Diarsipkan di bawah: Sistem Basis Data
Udah lama ga posting
. Tema sekarang sistem basis data ya.. Walau udah lupa coba kita refresh ingatan kita (buat yang udah ngambil mata kuliah sistem basis data), dan mempelajari hal baru (buat yang belum ngambil). Tema postingan kali ini adalah pengenalan tentang recovery.
Berbagai jenis failure yang sering terjadi dibagi menjadi tiga jenis, yaitu:
- Transaction failure, yaitu yaitu failure yang terjadi selama proses transaksi. Contohnya failure jenis ini yaitu logical error dan system error. Logical error terjadi jika transaksi tidak dapat terselesaikan dengan semestinya karena terjadi error. Sedangkan system error adalah error yang menyebabkan sistem basis data menghentikan semua transaksi yang aktif.
- System crash, yaitu failure yang terjadi sehingga dapat menyebabkan sistem crash.
- Disk Failure, yaitu failure yang terjadi pada disk atau storage.
Dalam posting ini, yang akan dibahas adalah transaction failure, karena level failure yang dapat ditangani oleh basis data adalah sejauh ini. Terjadinya failure dapat menyebabkan inkonsistensi pada basis data. Karena itu dibutuhkan suatu mekanisme untuk menangani transaction failure. Algoritma recovery adalah teknik untuk mengatasi failure untuk menjamin konsistensi basis data. Algoritma recovery dibagi menjadi dua macam, yaitu:
1. Recovery dilakukan selama transaksi masih berlangsung, yaitu sebelum terjadi failure.
2. Recovery dilakukan setelah terjadinya failure.
Sebelum melangkah lebih jauh lagi, mari kita meninjau lagi tentang storage.
Jenis storage ada tiga, yaitu volatile, nonvolatile, dan stable storage. Volatile storage adalah storage yang bersifat tetap, misalnya main memory dan cache memory, sehingga tidak dapat diandalkan jika terjadi system crash karena mungkin data tidak dapat diselamatkan. Sedangkan nonvolatile storage adalah storage sementara seperti flash disk dan disk. Stable storage adalah storage yang dapat diandalkan meskipun terjadi failure jenis apapun. Pendekatannya dengan cara menyimpan banyak backup pada media nonvolatile yang berbeda-beda. Stable storage adalah storage yang sangat ideal, sehingga dalam dunia nyata mungkin tidak pernah ada, benarkah?
Mari kita kembali ke topik semula, recovery. Jika kita mengubah basis data tanpa memastikan bahwa transaksi telah commit, mungkin akan menyebabkan basis data tidak konsisten. Contoh yang umum digunakan, misalnya Transaksi T1 mengirim uang sebesar $10 dari account A ke account B. Misalnya terjadi failure ketika account A telah dipotong sebesar $10, namun account B belum ditambah sebesar $10. Seharusnya kedua account balance. Jika transaksi T1 berhasil (telah commit), basis data berarti telah dimodifikasi. Bila transaksi belum selesai, tidak ada modifikasi yang dilakukan pada basis data.
bersambung..
Saran: Terlalu luas nih bahasannya.. Trus postingnya jangan terlalu kompleks (saran aja sih tp terserah),, jadi ga usa tlalu panjang..
Maap ya sebelumnya,, deadliner bgt nih,, jadi cuma bisa translate-rangkum.. hehehe.. ga keulang lagi dech..
Sebenarnya saya ingin mencari hubungannya dengan manajemen transaksi sistem basis data, namun dapetnya justru database transaction.
Dari wiki http://en.wikipedia.org/wiki/Database_transaction (Jangan terlalu dipercaya)
Transaksi basisdata adalah suatu unit interaksi dengan DBMS atau sistem yang serupa yang diperlakukan terpisah dengan transaksi lain secara coherent dan reliable. Transaksi basisdata haruslah atomik sehingga tidak dapat dibagi atau terpisah–terjadi atau tidak terjadi sama sekali. Idealnya, sistem basisdata harus menjamin ACID (Atomicity, Consistency, Isolation and Durability) pada setiap transaksi yang akan berguna pada praktiknya dilapangan.
Purpose of Transaction. Dalam database kemampuan dalam mengelola transaksi memberikan user keyakinan integritas dari suatu basisdata. Sebuah transaksi mungkin membutuhkan beberapa query, yang membaca atau menulis informasi dalam basisdata. Ketika hal ini terjadi, harus dipastikan tidak ada query yang terlewat yang akan digunakan pada basisdata. Contoh pada pemindahan uang, jika terjadi debit pada akun seseorang, maka harus terjadi kredit pada akun lain. Transaksi juga tidak boleh ter-interferensi oleh transaksi lain.
Transaksi sederhana dalam sistem basisdata biasanya SQL berbentuk:
1. Mulai transaksi
2. Eksekusi beberapa query
3. Mengakhiri transaksi
Jika salah satu query gagal, sistem basis data akan me-rollback seluruh transaksi atau query yang gagal tergantung dari DBMS atau settingannya. Transaksi tersebut juga dapat di-rollback secara manual kapan saja sebelum transaksi berakhir.
Diarsipkan di bawah: Sistem Basis Data
Integrity constraint merupakan hal yang sangat penting dalam sistem basis data karena SBD dipakai oleh banyak orang dan berdampak pada tingkat akurasi dan kebenaran suatu database dapat menurun jika integrity constraintnya tidak diperhatikan.
SQL menyediakan beberapa fasilitas untuk memastikan Integrity constraint tersebut. Salah dua nya adalah Assertion dan Triggers.
Assertion adalah predikat yang menunjukkan kondisi yang selalu harus dipenuhi di dalam suatu basis data. Sintaks SQL untuk assertion adalah
create assertion <assertion-name> check <predicate>
Sistem akan melakukan validasi ketika assertion dibuat dan ketika terjadi peng-update-an data. Salah satu contoh dari assertion misal : jumlah dari seluruh loan di suatu cabang harus lebih kecil dibandingkan jumlah semua account di cabang tersebut. Assertion yang dapat dibuat adalah
create assertion batasan-jumlah check (not exist (select * from branch where (select sum(amount) from loan where loan.branch-name = branch.branch-name) >= (select sum(amount) from account) where account.branch-name = branch.branch-name)))
Triggers adalah statement atau perintah yang akan dieksekusi otomatis oleh sistem ketika terjadi perubahan pada basis data. Untuk membuat trigger, ada dua hal yang harus diperhatikan yaitu kondisi spesifik saat trigger dijalankan dan aksi spesifik yang akan trigger lakukan.
Contoh : ketika balance pada account seseorang berjumlah minus, maka ada beberapa hal yang dapat dilakukan sistem, diantaranya adalah men-set balance menjadi 0, membuat loan sejumlah minus balance dari account tersebut. Contoh SQL nya.. ntar aja dahh.. msih ga ngerti bentuknya..hehehehe…
Diarsipkan di bawah: Asistensi
Judul : [Nama-NIM] Judul
Perhatikan kategori yang ada di sebelah kanan pada saat memposting. Sesuaikan kategorinya dengan kategori yang ada. Jika ingin menambah kategori baru, pilih link Kelola >> Kategori, kemudian Anda dapat menambah kategori baru.
Posting trus yak, biar rame blognya
hehhehehhe
sebenarnya sik aku pengen sering2 posting, tapi ga ada AI3 ni
hehheheheh….
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: Basis Data
terpaksa menjadi deadliner…
baru tahu tema posting j-1 T.T
kali ini mau ngebahas beberapa konsep dalam functional dependency yang mungkin rada “asing”
1. trivial
sering denger kan syarat ini?? ternyata arti dari trivial itu sendiri adalah sisi kanan dari FD merupakan subset dari sisi kirinya, misalnya
AD–>A
maka FD ini trivial, karena A yang ada pada sisi kanan merupakan subset dari AD pada sisi kiri
2. irreducible
sebuah set FD dikatakan irreducible jika memenuhi 3 syarat :
* setiap sisi kanan dari FD hanya mengandung 1 atribut
* setiap sisi kiri dari FD tidak dapat dikurangi, maksudnya jika atribut dari sisi kiri FD ada yang dibuang, maka akan ada informasi yang hilang
* membuang salah satu FD akan mengubah set artinya tidak ada FD yang tidak diperlukan
nah, jika suatu set FD telah memenuhi syarat diatas, maka set FD tersebut akan menjadi canonical cover
segitu dulu aja d, da dket deadline ni =p
