it-swarm.asia

Apa yang harus diketahui DBA tentang SSAS?

Saya telah melihat banyak materi yang mencakup aspek bisnis SSAS, tetapi tidak terlalu banyak tentang aspek penting administrasi dan manajemen.

Dari sudut pandang mengelola contoh SQL Server Analysis Services, apa yang harus diketahui DBA tentang SSAS untuk mengelolanya dengan benar dan efisien?

40
ivanmp

Gambaran singkat SSAS untuk DBA

Jadi, Anda SQL Server DBA dan Anda baru saja mewarisi beberapa kubus untuk mengelola. Kursus kilat cepat tentang administrasi SSAS tampaknya sudah beres.

Dari sudut pandang administrasi, SSAS adalah aplikasi yang cukup mudah, jika haus sumber daya. Ini jauh lebih sederhana daripada platform DBMS, meskipun berbeda dalam beberapa hal. Juga, ada beberapa tugas administratif seperti pengoptimalan berbasis penggunaan khusus untuk SSAS yang mungkin harus Anda lakukan.

Cadangkan file konfigurasi Anda

Semua data konfigurasi tinggal dalam file bernama msdmsrv.ini. Ini file XML. Jika Anda mengotak-atik konfigurasi melalui SSMS (Sambungkan ke server, klik kanan pada server, pilih properti) Anda dapat mengatur opsi yang akan memecah server saat start up. Ambil salinan msmdsrv.ini sebelum Anda bermain dengan apa pun.

Parameter penting

Memori: SSAS adalah babi memori alkitabiah. Ini suka build 64 bit jika memungkinkan, dan banyak memori. Parameter 'Memory\LowMemoryLimit' dan 'Memory\HighMemoryLimit' mengontrol kebijakan penggunaan memori. LowMemoryLimit bukan alokasi memori minimum. Ini adalah ambang batas di mana SSAS menganggap sistem rendah pada memori dan mulai membuang hal-hal dari cache. HighMemoryLimit adalah maksimum absolut yang akan digunakan.

Perhatikan bahwa SSAS menyimpan datanya dalam file (banyak file - ia tidak memiliki mekanisme yang setara dengan filegroup), sehingga SSAS banyak menggunakan caching sistem file O/S untuk file-file tersebut. Perhatikan bahwa standar untuk batas-batas ini adalah sekitar 65% dan 80% dari memori mesin masing-masing, jadi jika Anda ingin server OLAP untuk hidup berdampingan dengan contoh SQL Server, Anda harus menolaknya sehingga tidak memperebutkan memori dengan server database.

Direktori: Lima parameter yang menarik mencakup ini: DataDir, DiizinkanBrowsingFolders, BackupDir, LogDir, dan TempDir. DataDir dan DiizinkanBrowsingFolders adalah yang paling penting.

  • AllowedBrowsingFolders memengaruhi daftar folder tempat server OLAP akan memasukkan file datanya. Apa pun dengan antarmuka pengguna (mis. Panduan penyebaran) akan membatasi opsi Anda ke daftar di daftar DiizinkanBrowsingFolders. Nilainya adalah daftar direktori yang dibatasi pipa ('|').

  • DataDir adalah jalur default untuk file. Jika Anda ingin mempartisi kubus pada beberapa volume, Anda perlu mengonfigurasi DiizinkanBrowsingFolders dengan tepat.

  • LogDir adalah tempat server menempatkan berbagai file log termasuk perekam penerbangan dan log kueri. Log perekam penerbangan digunakan untuk pemecahan masalah dan OLAP log permintaan digunakan untuk optimasi berbasis penggunaan (lebih lanjut tentang ini nanti).

  • TempDir adalah lokasi untuk file sementara yang dibuat SSAS saat memproses. Jika Anda memproses volume data yang besar dan mengalami masalah kinerja, Anda dapat mengambil manfaat dengan mengalihkannya ke volume lain dari data.

  • BackupDir adalah apa yang tertulis di kaleng.

Lain-lain: Beberapa parameter lain-lain mungkin juga menarik. Beberapa set yang Anda mungkin harus Tweak adalah:

  • DefaultMaxDrillthroughRows: Ini membatasi ukuran set baris drillthrough. Anda mungkin perlu mengotak-atik ini untuk memungkinkan lebih banyak.

  • Utas/Timeout: Anda mungkin perlu menyesuaikan ini. Saya tidak pernah repot.

Itulah dasar-dasarnya. Anda mungkin perlu Tweak yang lain untuk alasan tertentu, tetapi Anda bisa melakukan pekerjaan rumah Anda tentang itu.

Panduan referensi untuk properti server SSAS dapat ditemukan di sini.

Operasi

Penempatan: Anda dapat mengkompilasi sebuah proyek dalam BIDS dan mendapatkan satu set file yang dapat digunakan dengan panduan penempatan. Anda mungkin perlu menyesuaikan jalur file untuk partisi dan beberapa hal lainnya.

Tugas admin terprogram dan batch: Perintah dikeluarkan untuk SSAS melalui API layanan web yang disebut XML/A. Microsoft menyediakan alat interaktif untuk mengeluarkan MDX dan XML/A connands. Jika Anda harus menanamkan MDX dalam perintah XML/A, hati-hati dengan kebutuhan untuk menggunakan XML escape seperti &. Ini bukan masalah dengan editor MDX dan alat kueri di SSMS.

Pekerjaan offline dapat dilakukan melalui berbagai tugas pemrosesan kubus SSIS, utilitas baris perintah yang disebut ascmd.exe atau .Net API disebut AMO. Anda juga bisa mendapatkan berbagai alat PowerShell dan sejenisnya. ascmd.exe mengambil file XML/A dan mempostingnya ke server. Jika Anda harus mencari file secara programatik, Anda mungkin lebih baik bekerja dengan sedikit alat .Net daripada mencoba memanipulasi file XML dari skrip .cmd.

The panduan operasi membahas hal ini lebih detail.

Keamanan

Keamanan pada SSAS cukup sederhana. Ini memiliki peran 'Server' global yang memiliki izin administratif di seluruh sistem. Sayangnya Anda membutuhkan 'Server' untuk membuat basis data, jadi kemungkinan besar Anda harus memberikannya kepada pengembang pada pengembangan apa pun OLAP server yang Anda miliki.

Keamanan lainnya hanya dapat diterapkan pada skema kubus individu. Anda dapat memberikan izin untuk membaca, memproses, menelusuri, menulis balik, dan sejenisnya pada setiap item ke peran dalam skema. Peran pada OLAP skema dapat didefinisikan dalam BIDS dan digunakan dengan kubus. Grup AD atau pengguna dapat ditugaskan ke peran tersebut melalui SSMS.

Contoh bagaimana mengelola keanggotaan peran secara terprogram dapat dilihat di sini.

Optimalisasi berbasis penggunaan

Sebagai DBA, Anda mungkin terlibat dalam hal ini, tetapi pertama-tama sedikit latar belakang tentang penyimpanan fisik. SSAS bekerja dengan menghitung dan mempertahankan agregat pra-bangun bersama dengan data dasar. Jika kueri dapat dipenuhi dengan menekan agregat, server OLAP akan menggunakan ini sebagai preferensi terhadap data dasar, karena agregat akan melibatkan jauh lebih sedikit I/O dan oleh karena itu akan lebih cepat untuk mengambil data.

Namun, Anda harus menentukan agregat mana yang akan dihitung (mis. Kombinasi atribut dimensi apa yang menghasilkan rollup). BIDS memiliki alat yang akan menebak ini dan menghasilkan beberapa untuk Anda. Beberapa alat, seperti pembantu BIDS juga akan memungkinkan Anda untuk mengedit agregat secara manual.

Optimalisasi berbasis penggunaan bekerja dengan mengambil log dari kueri aktual yang dikeluarkan ke server, dan kemudian menggunakan log itu untuk menyusun sekumpulan agregat yang akan optimal untuk kueri tersebut. Sebagai DBA, Anda dapat mengatur OLAP logging log untuk menangkap data ini, dan kemudian menjalankan optimasi pada kubus. Sebuah uraian tentang pengaturan log kueri dapat ditemukan di sini .

Alat untuk melakukan ini disebut 'Wisaya optimasi berbasis penggunaan.' Ini tinggal di SSMS, dan dapat ditemukan dengan membuka partisi int Explorer dan memilih 'Optimasi Berbasis Penggunaan' dari klik kanan Tidak bisa.

The panduan kinerja masuk ke tuning lebih detail.

[~ # ~] mdx [~ # ~]

MDX terlihat agak seperti SQL tetapi bekerja sangat berbeda. Sebuah risalah tentang 'MDX for SQL programmer' adalah seluruh topik dengan sendirinya. Saya sarankan membaca beberapa tutorial di atasnya dan/atau mendapatkan buku tentang itu. Plus, orang-orang yang ramah di sini di dba.se dapat membantu dengan pertanyaan jika Anda memiliki pertanyaan.

MDX tidak memiliki konsep baris pemfilteran. Bahasa ini memiliki banyak operasi yang ditetapkan untuk mencari tahu apa yang akan ditampilkan pada berbagai sumbu kueri1, ditambah 'PILIH'. Anda dapat menggunakan pernyataan with yang sedikit mirip CTE untuk menentukan ukuran dan set.

Beberapa sumber daya pemrograman MDX pengantar dapat ditemukan di sini dan di sini (yang ini cukup lama dan sangat panjang lebar). Ada juga beberapa buku bagus tentang masalah ini; this SO pertanyaan memiliki sedikit penggemar untuk sumber daya SSAS.

1 Meskipun memiliki operator tidak kosong yang membatasi hasil untuk kombinasi yang benar-benar memiliki data. Sebagian besar permintaan MDX terdiri dari menentukan irisan apa yang akan ditampilkan pada sumbu, dan operator yang tidak kosong akan diperlukan untuk menghindari permintaan yang mengembalikan jumlah sel kosong pada tingkat kombinatorik.

Anda mungkin mendapatkan beberapa jawaban mengenai administrasi SSAS dari kertas putih yang panjang ini Panduan Operasi Layanan Analisis SQL Server 2008 R2 . Beginilah pengantar dimulai:

Dalam panduan ini Anda akan menemukan informasi tentang cara menguji dan menjalankan Layanan Analisis Microsoft SQL Server di SQL Server 2005, SQL Server 2008, dan SQL Server 2008 R2 dalam lingkungan produksi. Fokus dari panduan ini adalah bagaimana Anda dapat menguji, memantau, mendiagnosis, dan menghapus masalah produksi bahkan pada kubus berskala terbesar sekalipun. Makalah ini juga memberikan panduan tentang cara mengkonfigurasi server untuk kinerja terbaik.

Jelas itu ditargetkan untuk DBA/admin. Jika Anda juga mengembangkan aplikasi menggunakan SSAS, Anda juga dapat melihat Analisis Layanan 2008 Panduan Kinerja Whitepaper

6
DaniSQL