1 Mei 2011

Optimasi Database Sangat Penting

Optimasi Database

Sistem manajemen database yang meresap dalam dunia modern. Gagasan tentang sebuah perpustakaan terus-menerus, berlebihan, dan sangat didistribusikan informasi telah menjadi konsep yang paling penting dalam repertoar teknologi informasi. Bahkan, hampir setiap manusia di dunia barat berinteraksi dengan sistem manajemen database dari beberapa jenis setiap hari-sering tanpa menggunakan komputer pribadi di setiap saat sepanjang hari.
Dengan jutaan data transaksi yang terjadi setiap detik, ia datang sebagai kejutan kecil yang optimasi database adalah daerah penelitian kunci untuk lembaga akademik dan penelitian pengembangan perusahaan dan departemen. Dari perspektif sebuah perusahaan perangkat lunak, database relasional yang paling sering berfungsi sebagai inti dari aplikasi perangkat lunak data-driven, dan kurangnya optimasi database sedemikian areakunci dapat menimbulkan biaya yang signifikan untuk kedua kliendan perusahaan.

Dengan jutaan data transaksi yang terjadi setiap detik, ia datang sebagai kejutan kecil yang optimasi database adalah daerah penelitian kunci.

Tujuan artikel ini adalah untuk membahas optimasi database dasar menggunakan estimasi biaya matematika untuk berbagai jenis pertanyaan, ulasan dari kinerja dan dampak berbagai struktur akses fisik pada contoh query tertentu. Audiens yang dituju harus akrab dengan SQL dan dasar konsep data baserelasional - biasanya database developer berpengalaman. Contoh-contoh spesifik akan diberikan dalam konteks MS SQL Server 2005,namun konsep mereka akan menggambarkan secara umum mampuuntuk mendaftar ke SQL-mendukung relasional DBMS (DatabaseManagement System). Setelah meninjau kertas, pembaca diharapkan memiliki pemahaman yang lebih baik tentang bagaimana RDBMS merumuskan strategi eksekusi untuk query yang kompleks dan dapat menggunakan pengetahuan ini untuk mengambil informasi dengan biaya lebih rendah.

Menggunakan Database untuk Optimasi Database Indeks
DATABASE INDEKS TINJAUAN

Sebuah indeks database struktur akses fisik untuk tabel database yang berfungsi selain nama akan menyarankan: ini adalah file yang menginformasikan diurutkan database di mana catatan berada secara fisik pada disk. Untuk mendapatkan gambaran tentang indeks sebagai pertimbangkan buku pelajaran. Dalam rangka untuk mencari bagian tertentu, pembaca bisa mulai membaca buku itu dan terus membaca sampai dia menemukan apa dia mencari, atau, sebagai alternatif, ia dapat berkonsultasi daftar isi dan langsung ke bagian yang diinginkan. fungsi database indeks A banyak seperti indeks buku teks tidak.
Menambahkan indeks yang tepat untuk tabel besar adalah bagian paling penting optimasi database, seperti yang akan kita lihat ketika kita membahas beberapa contoh perkiraan biaya. Membuat indeks tunggal untuk sebuah meja besar, tidak ada indeks yang ada dapat mengurangi waktu eksekusi sebuah query ini dengan urutan besarnya. Sebagai contoh, pertimbangkan skenario berikut.Katakanlah kita memiliki sebuah tabel database bernama KARYAWAN dengan 100.000 catatan. Asumsikan bahwa kita ingin melakukan query sederhana berikut di atas meja dan tidak ada indeks ada di atas meja:

SELECT FirstName, LastName FROM KARYAWAN WHERE = EmpID 12345;
Dalam rangka untuk mencari catatan karyawan dengan EmpID yang sesuai, database berpotensi harus scan melalui semua catatan 100.000 karyawan untuk mengembalikan hasil yang benar.Jenis scan ini disebut sebagai meja full scan.

Untungnya, saat saya surfai dari kebanyakan pengembang database dapat membuat indeks pada kolom EmpID untuk mencegah scan tersebut dari apa yang telah terjadi. Selain itu, jika bidang ini memiliki kendala UNIK, DBMS internal akan mengkompilasi indeks sebagai tabel hash, dengan masing-masing ID karyawan hashing ke alamat disk fisik rekaman yang diinginkan. Memindai pun demikian menjadi sama sekali tidak diperlukan, dan lokasi catatan dilakukan dalam waktu yang konstan. Setelah menambahkan pengembang database indeks ini, DBMS segera dapat menemukan catatan karyawan dengan EmpID 12345 reduksi-potensi dari 100.000 operasi.

JENIS indeks

Indeks jatuh ke salah satu dari dua kategori: bergerombol dan unclustered. Perbedaan utama antara dua kategori adalah bahwaindeks unclustered tidak mempengaruhi bahwa pemesanan sebenarnya adalah catatan pada disk dan mengindeksmengelompok tidak. Karena cluster pengindeksan mempengaruhif isik pemesanan catatan, akan ada paling banyak satu clustered index untuk setiap tabel. Batasan yang sama tidak berlaku untuk indeks unclustered, sehingga kita dapat membuat sebanyak ruang disk memungkinkan (walaupun ini tidak selalu ide yang baik, seperti yang akan kita lihat sebentar lagi).

Clustered Indeks
Unclustered Indeks

Tuning Pilihan tab memungkinkan pengembang database untuk mengkonfigurasi apakah mereka ingin penasihat untukmenggantikan indeks yang sudah ada atau hanya pertimbangkan untuk menambahkan yang baru. Pengembang database harus mengevaluasi indeks yang ada untuk menentukan apakah atau tidak indeks yang ada harus segera dijatuhkan.

Setelah opsi-opsi konfigurasi diatur, mengklik "Analisis Start " akanmulai tuning. Setelah analisis selesai, jendela dengan rekomendasiakan ditampilkan bersama dengan peningkatan kinerja estimasiquery yang sedang dioptimalkan. Rekomendasi ini meliputi:

Membuat indeks.
Membuat statistik.

Rekomendasi dapat diterapkan secara otomatis melalui item>Tindakan menu Terapkan Rekomendasi.
Estimasi Biaya untuk Optimasi Database
Estimasi biaya merupakan proses penerapan ukuran berarti dankonsisten biaya eksekusi untuk query tertentu. Berbagai metrikdapat digunakan untuk tujuan ini, tetapi yang paling umum danpaling relevan metrik adalah jumlah blok akses yang diperlukan olehquery. Karena disk I / O adalah seperti operasi mahal dalam halkonsumsi waktu, tujuan kami adalah untuk meminimalkan jumlah akses blok sebanyak mungkin sementara tidak mengorbankanfungsionalitas.
Estimasi Biaya Operasi SELECT
Estimasi Biaya Operasi JOIN
Nested Loop
Single Loop (menggunakan indeks)
Urutkan-Gabung Gabung
Kesimpulan
Setelah membaca tulisan ini, pengembang database diharapkanakan memiliki pemahaman yang lebih baik teknik optimasi database dasar dan bagaimana DBMS memformulasikan strategi eksekusi untuk berbagai jenis pertanyaan, walaupun contoh yang diberikan sangat terbatas dalam cakupan. Pengembang database juga harus mengerti pentingnya menciptakan indeks benar-benar baik dan apa kriteria masuk ke memilih kolom untuk pengindeksan." Sampai disini dulu penjelasan dari saya tentang Optimasi Database yang memang sangat penting untuk kita pelajari, terimakasih dan semoga bermanfaat bagi semua pembaca.

1 komentar:

BIN HAKIM mengatakan...

Nice Post

Lama tak berkunjung kangen jg.

Gimana kabarnya bro?
Sehat kan?

Anda boleh mempublikasikan tulisan kami dengan catatan : 1. Wajib mencantumkan sumber kami dengan LINK AKTIF yang menuju HALAMAN INI. 2. Tidak mengubah baik sebagian atau pun keseluruhan tulisan. Termasuk SEMUA LINK YANG ADA DI DALAM ARTIKEL harus tetap ada dan aktif. Mengcopy artikel kami tanpa memberi link aktif berarti mengambil hak milik penulis. Hak cipta dilindungi oleh Undang-Undang.
 
Template by Dunia Optimasi .
Template Name : Simple Optimasi | sedang pengembangan