Physical Database Design
Hardware Platform
Storage Considerations(Pertimbangan penyimpanan)
Hal berikutnya kita perlu membeli untuk infrastruktur adalah ruang disk. Dalam Bab 4, saya mengatakan hal itu tidak mungkin untuk memperkirakan jumlah penyimpanan dengan benar pada tahap itu, karena kita tidak menyelesaikan DDS dan desain NDS. Sekarang kita telah menyelesaikan database design bisa kita lakukan estimasi.
Hal ini dilakukan dengan menghitung ukuran fakta dan tabel dimensi untuk mendapatkan ukuran DDS. Kemudian kami memperkirakan ukuran NDS berdasarkan ukuran baris dan jumlah baris untuk setiap tabel. Kemudian kami memperkirakan ukuran database tahap berdasarkan sistem sumber tabel dan metode ekstraksi data. Mari kita mulai dengan DDS, maka NDS, maka database panggung, maka database metadata, dan akhirnya konfigurasi disk
Yang kita lakukan latihan yang sama untuk semua fakta dan tabel dimensi, dan kita akan mendapatkan ukuran semua tabel di DDS. Ini prinsip yang sama di NDS. Kami menghitung ukuran baris dengan mengalikan jumlah kolom dari masing-masing tipe data dengan byte untuk jenis data. Kami memperkirakan jumlah baris dengan query sistem sumber. Jumlah baris dalam tabel NDS akan kira-kira sama dengan jumlah baris dalam sistem sumber. Kita perlu diingat bahwa jika kita memiliki beberapa sistem sumber, jumlah baris di NDS tergantung pada seberapa banyak tumpang tindih wehave antara sistem sumber.
Untuk memperkirakan ukuran database panggung, kita perlu daftar semua tabel sumber. Untuk setiap tabel, query sistem sumber untuk menentukan ukuran baris dan jumlah baris. Jika metode ekstraksi ke panggung incremental, menghitung berapa banyak baris yang dimasukkan atau diperbaharui per hari dalam sistem sumber.
Faktor lain yang mempengaruhi ukuran basis data tahap adalah bahwa Anda mungkin ingin menyimpan bernilai tiga atau lima hari '(atau lebih, tergantung pada strategi backup) data di panggung sebelum pembersihan itu dalam kasus Anda perlu memuat ulang ke NDS
untuk beberapa alasan.
Database lain yang akan kita buat adalah metadata. Hal ini tidak besar, mungkin 10-20GB. Pengalokasian 50GB akan cukup. Ini diperkirakan berdasarkan isi dari database metadata. Basis data menyimpan metadata tujuh jenis metadata: definisi data dan pemetaan metadata, struktur data metadata, sistem sumber metadata, proses ETL metadata, metadata kualitas data, metadata audit, dan penggunaan metadata. Anda juga mungkin ingin mengalokasikan beberapa ruang untuk dua atau tiga lebih kecil DDSS, seperti untuk keperluan data mining atau proyek analisis tertentu. Alasan untuk memiliki DDS terpisah untuk proyek-proyek dan kegiatan adalah karena mereka mungkin perlu memperbarui data untuk mencerminkan skenario bisnis tertentu.
Kita juga perlu membuat volume kuorum untuk mendukung failover cluster, pada RAID level 1. Sebuah volume kuorum adalah drive dapat diakses oleh setiap node di cluster. Hal ini digunakan untuk arbitrase antara node cluster dan storedata yang digunakan untuk pemulihan setelah kegagalan komunikasi dalam cluster
Configuring Databases(Konfigurasi Database)
Sekarang kita telah merancang database, mari kita membuat mereka dalam SQL Server. Berikut adalah beberapa poin yang Anda mungkin ingin mempertimbangkan saat membuat database. Mari kita studi kasus Amadeus Entertainment sebagai contoh dalam poin ini.
• Jauhkan nama database yang pendek dan ringkas . Begitu juga DDS , NDS , Stage, dan Meta . Kita perlu menjaga mereka pendek karena mereka akan digunakan sebagai awalan untuk nama proses ETL dan disimpan nama prosedu
• Ingatlah untuk menjaga pengumpulan semua data warehouse database yang sama , sebaiknya sesuai standar instalasi SQL Server perusahaan didefinisikan oleh SQL Server DBA . Database pemeriksaan mendefinisikan bagaimana SQL Server menangani karakter dan Unicode data, seperti kasus - sensitivitas , urutan , dan halaman kode . r .
• Pertimbangkan sensitivitas kasus yang sangat hati-hati. Hasil query akan berbeda tergantung pada sensitivitas kasus. Kita perlu mengatur kasus sesuai dengan kebutuhan pengguna untuk menyortir order
• Untuk setiap database kita akan membuat enam filegroups, yang terletak di enam disk fisik yang berbeda pada RAID 5, dengan satu file log transaksi terletak di log disk ditunjuk RAID 1. Filegroups adalah kumpulan file database. Mengatur database lokasi default di properti server untuk pertandingan ini
• Mengatur file data untuk mendukung pengaturan filegroup sebelumnya, yang berarti bahwa
saat membuat database, tempatkan file data sesuai dengan lokasi filegroup.
• Berdasarkan ukuran estimasi database dalam bagian sebelumnya ( 400 dan 300 lebih dari dua tahun ) , bertujuan untuk enam bulan saya akan mengatur ukuran awal dari DDS untuk 100GB dengan kenaikan pertumbuhan 25GB dan ukuran awal NDS untuk 75GB dengan kenaikan pertumbuhan 15GB .
• Peningkatan untuk database metadatakarena database metadata mengandung audit dan penggunaan metadata yang bisa berfluktuasi dengan jumlah yang signifikan tergantung pada proses ETL .
• Ukuran file log tergantung pada ukuran beban sehari-hari , model pemulihan , dan metode pembebanan ( ETL atau ELT , panggung atau tidak panggung , saya akan membicarakan hal ini pada bab selanjutnya ) serta operasi indeks. selama proses ini file log akan tumbuh sehingga setelah proses ETL selesai, ukuran log transaksi dari tiga database ini akan menunjukkan ukuran log yang diperlukan.
• Untuk model pemulihan, pilih sederhana daripada massal. Semua perubahan dalam data
gudang berasal dari proses ETL. Ketika pulih dari kegagalan, kita bisa roll ke depan menggunakan ETL dengan mengoleskan sistem sumber diekstraksi data untuk hari tertentu.
• ODS terus diperbarui oleh pengguna, hal ini berguna untuk menerapkan model pemulihan penuh sehingga kami dapat memulihkan ODS untuk setiap titik waktu.
• Untuk database metadata, kita perlu mengatur modus pemulihan penuh. hal ini berguna untuk menerapkan model pemulihan penuh sehingga kami dapat memulihkan database metadata untuk setiap titik waktu.
• Tinggalkan tingkat maksimum paralelisme pada 0 untuk memanfaatkan semua prosesor. Derajat (tingngkat)paralelisme adalah jumlah prosesor yang digunakan untuk mengeksekusi pernyataan SQL tunggal secara paralel.
• Nonaktifkan pengindeksan teks lengkap jika Anda tidak menggunakannya.
• Hal ini berbeda dari DBA untuk DBA, tetapi Anda mungkin ingin menonaktifkan autoshrink dan mengaktifkan pembaruan otomatis statistik, terutama di DDS. Sebuah database dengan autoshrink dapat menyebabkan fragmentasi dan menyebabkan masalah kinerja. Statistik otomatis memperbarui diperlukan untuk SQL Server query optimizer untuk mengetahui jalan terbaik untuk mengeksekusi query
Creating DDS Database Structure
Creating the Normalized Data Store
Hati-hati dengan urutan bagaimana Anda membangun tabel. Karena integritas referensial (kunci asing), Anda perlu untuk membangun mereka dalam urutan tertentu. Dan script mungkin perlu beberapa melewati untuk membangun sukses karena penciptaan kunci asing diletakkan pada script pembuatan tabel (jika kita membuat semua tabel pertama dan kemudian membuat semua kunci asing sesudahnya, kita hanya perlu satu pass)
Using Views