|
Pembahasan secara teknis artikel kali ini akan mengetengahkan kapan
dan seperti apa situasinya yang sebaiknya menggunakan SQL CLR di
dalam Yukon. Sebagaimana kita ketahui masuknya CLR ke dalam engine
SQL Yukon menambah fungsionalitas objek database yaitu function,
stored procedure, trigger, aggregate, dan user defined data type.
Beberapa hal yang perlu dipertimbangkan adalah:
- Tidak semua aplikasi di middle-tier dipindahkan ke sisi
database tier untuk diproses oleh SQL CLR Yukon. Karena meskipun
CLR memungkinkan pemrosesan data dapat dilakukan pada sisi
database namun ada aspek lain yang perlu dijadikan pertimbangan
yaitu kemampuan server dimana database tersebut diinstall (CPU
power) dan memory yang diallocate untuk network roundtrip
dan latency antara middle-tier dengan database tier. Jika
pemrosesan data lebih cepat bila dilakukan di database server
dari pada dilakukan pada application server maka tepat kiranya
pemindahan pemrosesan data dilakukan oleh SQL CLR, namun perlu
disesuaikan dengan kemampuan resource dari database server.
- Usahakan menggunakan UDT (user defined data type) yang
sesimple mungkin seperti UDT hanya untuk zip code, signed
integer, dan lain-lain untuk memudahkan dalam query dan
indexing.
- Jika Anda menggunakan extended stored procedure maka rewrite
code extended stored procedure dengan SQL CLR Yukon karena CLR
merupakan environment yang aman dalam eksekusi stored procedure
dan lebih skalabel.
- Bila Anda menggunakan store procedure yang berhubungan
dengan COM object lewat sp_OA, kini saatnya gunakan SQL CLR
karena sp_OA berbasis late bound execution sedangkan CLR
berbasis early bound sehingga mengurangi kemungkinan error yang
terjadi selama eksekusi database object yang dicreate
lewat CLR.
- Perlu diiingat bahwa semua database object (kecuali UDT)
tidak bisa diakses langsung oleh client application. Sedangkan
kemudahan akses UDT dicapai lewat API data akses yaitu
System.Data.SqlClient versi 2.0.
- SQL CLR dapat melakukan versioning dan servicing sebelum
dilakukan deployment ke database server. Sehubungan dengan
registrasi assembly ke database maka CLR menyediakan 3 opsi
keyword yaitu : SAFE, EXTERNAL_ACCESS, dan UNSAFE. Ketiga
keyword ini akan mempengaruhi impact ketergantungan assembly
terhadap assembly lainnya. Yang perlu diingat bahwa assembly
yang merefer ke assembly lain akan menambah kompleksitas dalam
versioning dan servicing.
- Bila di dalam SQL CLR stored procedure yang didalamnya hanya
melakukan operasi DML maka sebaiknya operasi tersebut tetap
menggunakan T-SQL untuk menghindari overhead yang timbul,
sehingga T-SQL tetap merupakan pilihan yang paling baik dalam
manipulasi data.
Demikianlah beberapa aspek yang perlu dipertimbangkan kapan
sebaiknya SQL CLR digunakan. Semoga membantu dalam decision dalam
penggunaan SQL CLR secara tepat. Untuk membaca tulisan menarik lainnya
silakan menuju ke situs Sony AK Knowledge Center dengan alamat di
www.sony-ak.com.
Kasim Wirama adalah pemegang sertifikasi MCSD.NET dan MCDBA.
Tulisan ini bersumber dari blog beliau yang ada pada alamat
http://blogs.netindonesia.net/kasim.wirama/
Terimakasih.
| Send
your comments or suggestions |
|
|
|