Ikhtisar partisi SQL

Database


pengantar

Ada berbagai jenis partisi SQL di SQL Server. Namun, secara umum, partisi adalah cara membagi tabel (terkadang tampilan) menjadi bagian-bagian yang lebih kecil untuk tujuan kinerja. Pada artikel ini kami akan menjelaskan apa arti partisi untuk tabel partisi dan SSAS. Kami juga akan memberikan tips untuk mengotomatisasi proses partisi.

Apa yang dimaksud dengan partisi SQL?

Mari kita mulai dengan partisi Tabel. Jika kita memiliki tabel besar dengan TB atau gigabyte data, mungkin perlu waktu lama untuk mengeksekusi pilihan untuk mencari satu baris. Untuk mengatasi masalah tersebut, partisi klasik adalah membagi tabel menjadi bagian-bagian yang lebih kecil dibagi dengan bulan. Anda dapat mempartisi berdasarkan bulan, hari, tahun. Semua tergantung dari kebutuhan Anda.

Ini seperti buku tebal. Mencari halaman untuk sesuatu membutuhkan waktu lama. Bahkan dengan indikator. Namun, jika kita memecah buku menjadi buku-buku yang lebih kecil, pencarian halaman akan lebih cepat dan lebih mudah. Pencadangan dan pemulihan data akan lebih cepat.

Mari kita mulai dengan skenario partisi tabel dan kemudian kita akan berbicara tentang jenis partisi lainnya.

Apa arti partisi SQL dalam sebuah tabel?

Partisi tabel berarti membagi data menjadi beberapa tabel untuk mencapai kinerja yang lebih baik ketika tabel menangani sejumlah besar data.

Ada 2 jenis utama partisi dalam sebuah tabel. Partisi horizontal dan partisi vertikal.

Di partisi vertikal, misalnya, Anda dapat membagi data menjadi 2 tabel:


Partisi tabel vertikal

Pada gambar sebelumnya, kami membagi tabel Karyawan menjadi 2 tabel. Tabel karyawan berisi nama depan dan belakang dan tabel lain EmployeePicture. Gambar menghabiskan banyak sumber daya, jadi sebaiknya kelola data secara terpisah. Ini adalah praktik yang baik untuk menyimpan gambar dalam filegroup dan hard drive terpisah.

Di sisi lain, kami memiliki Partisi Horizontal


Partisi tabel horizontal

Dalam partisi horizontal, kami membagi tabel besar menjadi tabel yang lebih kecil. Gambar di atas menunjukkan partisi laporan menjadi tabel per bulan.

Untuk informasi lebih rinci tentang partisi tabel dan bagaimana melakukannya langkah demi langkah, lihat artikel terkait kami:

Apa arti partisi untuk otomatisasi?

Kami menjelaskan ini sebelumnya dan menyediakan tautan untuk membuat partisi horizontal. Kami dapat mengotomatiskan proses partisi tabel menggunakan skrip dan memantau partisi yang hilang menggunakan kueri T-SQL. Untuk memantau partisi, Anda dapat menggunakan tabel sistem seperti berikut:

  • sys.indexes
  • sys.objects
  • Sys.system_internals_allocation_units
  • Sistem partisi_skema
  • sys.partition_functions
  • Sys.partition_range_values

Tautan di bawah ini memberikan tutorial tentang cara memelihara partisi Anda secara otomatis.

Apa arti partisi SQL di SSAS Azure Tabular?

Kami telah membahas tentang partisi Tabel yang digunakan dalam mesin database SQL Server. Kami bekerja dengan database OLTP (pemrosesan transaksi online) yang terkenal dan tradisional. Database transaksional adalah database tradisional untuk memasukkan, memperbarui, menghapus data dalam transaksi.

SQL Server memasukkan database OLAP kemudian sebagai konsep database baru untuk mengelola laporan dengan data dalam jumlah besar. Basis data OLTP tradisional terlalu lambat untuk menghasilkan laporan ketika beberapa koneksi diperlukan dan beberapa gigabyte digunakan dalam basis data. Itulah sebabnya Microsoft pertama kali membuat database OLAP (Online Analytical Process) dengan membeli teknologi OLAP dari Perangkat Lunak Panorama Kanada, dan kemudian Microsoft meningkatkan teknologi ini.

Microsoft menciptakan SSAS (SQL Server Analysis Services), yang merupakan teknologi yang digunakan untuk membuat database OLAP. Microsoft mulai bekerja dengan database multidimensi. Teknologi ini sangat kuat, tetapi agak sulit bagi pengembang DBA atau OLTP untuk memahaminya karena ia mengelola arsitektur, struktur, dan komponen yang berbeda.

Untuk menyederhanakan proses pembuatan laporan, Microsoft memperkenalkan fitur baru yang disebut Model Tabular. Teknologi ini lebih mudah dipahami dan membuat laporan dan kueri. Untuk membuat database multidimensi baru dari awal, lihat tautan berikut:

Jika Anda ingin membuat database tabular, lihat tautan berikut:

Teknologi ini dimulai sebagai teknologi domestik. Namun, Microsoft menempatkan semua upayanya ke cloud.

Sekarang, teknologi ini ada di Azure, lalu partisi SQL untuk database Tabular dan Multidimensional ada di Azure.

Saat Anda menggunakan SSDT, Anda membuat kolom, DAX (Ekspresi Analisis Data), MDX (Ekspresi Multidimensi), XMLA (XML untuk Analisis), dan kueri TMLS (Bahasa Skrip Model Tabel) jika model di tempat Ya, sudah jelas. Atau dalam bahasa biru

Pada artikel ini, kami akan menjelaskan apa yang dimaksud dengan partisi dalam model tabel Azure. Namun, konsepnya sama untuk model tabel lokal.

Apa arti partisi dalam model tabel?

Dapat dikatakan bahwa membagi tabel menjadi bagian-bagian yang lebih kecil menggunakan query adalah konsep yang sama. Partisi dalam model tabular adalah bagian dari tabel yang dibagi menjadi bagian-bagian yang lebih kecil menggunakan kueri.

Dalam contoh ini kami akan menunjukkan bagaimana melakukannya. Saya berasumsi Anda sudah menginstal instance tabular dan menggunakan proyek tabular AdventureWorks (jika tidak, lihat artikel Implementasi Model Tabular SSAS).

Dalam proyek Tabular Adventureworks, pilih penjualan online Meja.


Penjualan online SSDT

Dalam menu, untuk Ekstensi > Tabel > Partisi.


Partisi tabel SSDT

Anda akan melihat partisi yang berbeda untuk penjualan online. Partisi dalam contoh ini adalah dalam tahun.

Penjualan online 2010, 2011,…2014.

Perbedaan utama antara partisi adalah pada klausa Where. Rentang tanggal setiap partisi berbeda. Misalnya, untuk partisi Internet Sales 2011, pernyataan Where adalah:

di mana ([OrderDate] >= T’01-01-2011 00:00:00′) dan ([OrderDate] < T'01-01-2012 00:00:00′))

Sedangkan untuk penjualan online 2012 adalah:

di mana ([OrderDate] >= T’01-01-2012 00:00:00′) dan ([OrderDate] < T'01-01-2013 00:00:00′))


Partisi tabular SSAS lama

Seperti yang Anda lihat, perbedaannya sangat sederhana. Mari kita buat partisi baru.

tekan Baru Tekan dan tulis Penjualan Internet 2015 di kotak teks Nama Partisi dan dalam kueri, ubah klausa WHERE ke formulir berikut dan tekan OK.

di mana ([OrderDate] >= N’2015-01-01 00:00:00′) dan ([OrderDate] < T'01-01-2016 00:00:00′))


Buat partisi baru

Partisi SQL tidak hanya meningkatkan kueri yang diterapkan ke partisi tertentu, tetapi juga mengurangi waktu pemrosesan data. Jika Anda memiliki kueri yang hanya dimiliki oleh partisi 2012, kueri akan lebih cepat daripada model yang tidak dipartisi, karena bila Anda memiliki partisi, hanya kueri yang termasuk dalam rentang kueri yang digunakan untuk pencarian.

Apa arti partisi dalam hal otomatisasi untuk model Azure Tabular?

Jika Anda ingin mengotomatiskan partisi dalam model tabular Azure Analysis Services, sebaiknya baca tautan ini:

Hasil

Pada artikel ini, kami mempelajari apa arti partisi SQL dalam dua skenario berbeda. Pada tabel partisi, kami menjelaskan apa itu partisi horizontal dan vertikal. Kita perlu membuat filegroup, menambahkan file dan membuat partisi dan skema partisi.

Di sisi lain, kami memiliki partisi di SSAS, yang merupakan teknologi khusus untuk pelaporan. Kami belajar cara membuat partisi dalam model Tabular menggunakan proyek SSAS Tabular.

Kami akhirnya mempresentasikan artikel kami tentang Partisi Dinamis di Azure SSAS.

Daniel Calbimonte
Postingan terbaru Daniel Calbimonte (Lihat semua)



Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *