Implementasi Microsoft SQL Server 2014 Database
Latar belakang
Sejak dulu platform Microsoft terkenal dengan kemudahannya, hal ini menyebabkan sedikitnya IT Profesional yang mengetahui cara konfigurasi software secara optimal. Microsoft SQL Server 2014 merupakan platform Database yang sangat mudah instalasinya dan penggunaannya dengan adanya GUI dan Wizards. Instalasi yang sangat mudah mengakibatkan adanya implentasi Microsoft SQL Server 2014 yang tidak optimal dan potensi untuk mengundang masalah di kemudian hari.
Agar implementasi Microsoft SQL Server 2014 dapat berjalan optimal ada beberapa hal yang harus dilakukan :
Database Storage Configuration
Monitoring and Tracing
Database Maintenance
Indexing
Execution Plan
Columnstore Indexes
Memory Optimized Table and Stored Procedures
Failover Clustering
Always On Availability Group
Replication
Database Storage Configuration
Hal-hal yang kelihatan sepele seperti penempatan file-file pada physical drives dapat mempengaruhi baik Performance maupun Maintenance dari Microsoft SQL Server Database. Membagi-bagi file-file sebuah Database di lokasi physical drives yang terpisah merupakan salah satu rekomendasi Best Practices pada implementasi Microsoft SQL Server.
Monitoring and Tracing
Pada saat terjadi masalah sangatlah berguna kalau ada mekanisme yang membantu kita untuk mendeteksi penyebabnya untuk kemudian memperbaikinya. Mekanisme-mekanisme Monitoring dan Tracing yang secara built-in out of the box ada di Microsoft SQL Server kalau diimplementasikan maka akan mempermudah dalam Troubleshooting pada saat terjadi krisis atau masalah.
Database Maintenance
Di dalam Microsoft SQL Server ada beberapa hal yang sering kita lakukan secara periodik misalnya :
Integrity Database Checking
Reorganize Indexes
Update Statistics
Backup Database
Dsb.
Hal-hal tersebut di atas memang dapat dilakukan secara manual dengan membuat SQL Server Agent Job yang kemudian kita schedule untuk dijalankan. Namun demikian sebenarnya ada cara yang lebih mudah lagi yaitu dengan menggunakan Database Maintenace yang tersedia baik dalam bentuk GUI (mirip Visio) dan Wizard.
Indexing
Untuk meningkatkan Read Performance dari Query cara yang paling umum adalah dengan mengoptimalkan design dan implementasi Index.
Execution Plan
Sebelum Query dapat dieksekusi oleh Microsoft SQL Server, sebuah Query Execution Plan harus dibuat terlebih dahulu dengan menggunakan input-input seperti Indexes, Statistics dan sebagainya. Beberapa Query dengan hasil eksekusi yang sama dapat mempunyai Execution Plan yang berbeda-beda. Hasil yang Optimal akan dicapai bila sebuah Query didisain dengan Execution Plan Cost yang paling rendah.
Columnstore Indexes
Secara default data di dalam Database Microsoft SQL Server disimpan dalam bentuk Rowstore, hal ini didisain sesuai dengan sifat operasi transaksi namun demikian pada saat terjadi operasi Read dengan filter pada suatu kolom tertentu maka tetap SQL Server harus melewati kolom-kolom yang lain dan hal ini akan memperlama proses. Dengan format Columnstore maka data dapat disimpan lebih efisien dan operasi Read dengan filter akan lebih cepat dan optimal prosesnya.
Memory Optimized Table and Native Stored Procedures
Dewasa ini memory semakin murah harganya dan tidaklah heran sejak Microsoft SQL Server 2014 data sebuah Table dapat dikompilasi sebagai sebuah dll dan disimpan In-Memory. Selain itu Stored Procedures juga dapat dikompilasi sebagai sebuah dll dan disimpan In-Memory. Peningkatan Performance yang bisa didapatkan dengan cara ini bisa sampai 30 kali lebih besar.
Failover Clustering
Untuk kebutuhan High Availability maka Microsoft SQL Server dapat dikonfigurasi dalam bentuk High Availability Failover Clustering.
Always On Availability Group
Untuk kebutuhan High Availability dan Disaster Recovery maka Microsoft SQL Server dapat dikonfigurasi dalam bentuk High Availability Always On Availability Group.
Replication
Untuk membawa data lebih dekat kepada End-User maka dapat diimplementasikan Replication pada Microsoft SQL Server.
(Kursus terkait : “E-DB01: Mastering Microsoft SQL Server 2014 Database”)