January 2006 - Posts
Ternyata dengan SQL kita bisa juga mengakses Registry, jadi sql juga bisa juga loh bukan Cuma bahasa pemrograman
jadi hanya dengan TSQL script kita juga bisa bermain main dengan registry dari compy kita
see more http://blogs.netindonesia.net/kiki/articles/8464.aspx
Artikel dibawah ini sangat menarik, dimana dari SQL kita bisa langsung menghasilkan PDF file dengan data yang kita ambil dari SQL server kita. artikel ini saya sarikan dari SQLCentral.Com semoga bermanfaat
see more http://blogs.netindonesia.net/kiki/articles/8460.aspx
Masalah klasik yang sering dihadapi oleh sebuah aplikasi dengan skala enterprise adalah masalah performance dari aplikasi yang biasanya perlahan tetapi pasti semakin lama semakin lambat sehingga perlu tunning.
Dilihat dari presentase pengaruhnya terhadap performace aplikasi dapat kita lihat seperti tampak pada tabel berikut ini:
|
App Design |
DB Design |
SQL |
Hardware tuning |
Perf Monitoring workload changes |
|
25% |
25% |
20% |
10% |
20% |
Jika kita lihat Desain aplikasi dan Desain database merupakan hal yang paling berpengaruh pada performace aplikasi secara keseluruhan, baru diikuti dengan database server (SQL) dan Workload Changes baru yang terakhir adalah Hardware tunning.
Peranan Application design dan Db design akan sangat berpengaruh pada skalability dan reability dari aplikasi yang dibangun. sehingga umur dari aplikasi akan semakin lama digunakan tanpa perlu melakukan perubahan yang radikal di sisi desain.
Dengan menggunakan Performace Monitoring kita bisa melakukan deteksi terhadap semakin lambatnya sistem aplikasi kita. sehingga kita bisa melakukan improvement disisi aplikasi maupun disisi database. Apa yang dilakukan permance monitoring adalah dengan melakukan monitoring terhadapt sistem dan aplikasi yang ada termasuk IO, Memory dan Software yang ada di server.
Permasalahan umum yang terjadi yang menyebabkan applikasi menjadi semakin lambat disisi SQL (TSQL atau SP) adalah kesalahan dalam hal
- Cache management,
- Query Plan yang digunakan,
- Recompilation issue,
- Transaction Management / concurrency
- Resource Utilization
Dari semua hal diatas tidak bisa memperbaiki kesalahan yang terjadi yang disebabkan Bad Design sehingga design yang Baik bukan hanya dibutuhkan di sisi aplikasi tetapi perlu juga disisi database.
Untuk lebih jelas tentang bagaimana Microsoft mempersiapkan tool box untuk keperluan performace tunning berikut ini adalah article dari SQL Magazine tentang “Opening Microsoft's Performance-Tuning Toolbox” yang bisa dilihat disini :
http://f5.grp.yahoofs.com/v1/MLfUQ8vbYJw_EDkwXFrH1hVR3EMhaiWdtTNFtTTjHzICJaGz-c6eAL40GuY-OV6r0W6e__cCrqyCAPOEB9MQMw/Performance%20Tunning%20Tool%20Box.pdf
Dalam setiap masalah performance berikut ini adalah step yang selalu dilakukan oleh company sebagai user application:
- Tunning Database, dengan harapan dengan database bisa ditunning maka aplikasi bisa mengalami perbaikan dalam hal performace aplikasi. jika tidak berhasil maka
- kemungkinan kekurangan resource disisi mesin server sehingga dicoba untuk melakukan upgrade server database menjadi mesin server yang high end untuk bisa meningkatkan performa aplikasi, tapi jika msih belum berhasil maka
- kurangi fiture aplikasi sehingga transaksi yang berat tidak dijalankan melalui aplikasi, kalo bisa jadi batch prosess saja. namun jika kebutuhan business tidak bisa kompromi dengan ini maka
- Oprasi besar harus dilakukan yaitu amputasi atau REWRITE CODE
kita bisa lihat betapa mahalnya biaya aplikasi yang dikembangkan dengan Bad design dan tidak ada capacity planning yang baik disisi Aplikasi dan Database.
Oleh sebab itu hendaknya kita mulai memikirkan bagaimana membuat aplikasi yang berumur panjang dengan memiliki kemampuan yang stabil dari sisi performa. Desain aplikasi yang baik bukan hanya memberikan kwalitas aplikasi yang baik tetapi umur aplikasi yang panjang.
Apakah Partitioned View itu?
Jika kita bekerja dengan jumlah data besar apalagi jika dalam jumlah data mendekati tera byte, maka kita akan menghadapi performance issue khususnya dalam mengakses data dalam jumlah row yang besar.
Ukuran table akan yang akan diakses akan sangat berpengaruh kepada waktu akses yang dibutuhkan, hal ini tidak dapat diatasi dengan hanya menentukan index column yang tepat pada suatu table, tentunya ukuran data akan sangat menentukan lama akses suatu table.
Sementara itu untuk keperluan data ware house availability dari data sebisa mungkin di keep selamanya didalam system seperti pada transaksi perbankan atau pun finance yang menuntut agar semua data dapat disimpan selama mungkin.
Untuk mengatasi masalah ini ada satu best practice yang bisa kita ikuti yaitu dengan memecah table menjadi partisi partisi data sehingga jumlah data akan selalu terjaga dan yang paling penting adalah waktu aksesnya tetap cepat.
|--------- > Sales_Jan
|--------- > Sales_Feb
Table Sales_Data,dipecah |--------- > Sales_Mar
|--------- > Sales_Apr
|--------- > dst…
Saya coba tuliskan sedikit artikel untuk partition view ini disini : http://blogs.netindonesia.net/kiki/articles/8390.aspx
It's not recommended, but sometimes writing scripts against the system tables and getting information is a great way to work with SQL Server. Alex Grinberg brings us a look at some of the things you can get from system tables along with some sample scripts.
please find out:
http://www.sqlservercentral.com/columnists/aGrinberg/workingwithsystemtables.asp
Ada 10 hal utama yang tidak boleh dilakukan di SQL khususnya buat developer yang biasa melakukan code dari application sampai database desain.
1. Access the Database from the Application with the "sa" Account
2. Accept All Input
3. You Don't Protect the Database Connection String
4. Prefix Stored Procedures with "sp_"
5. Create Stored Procedures without Exception Handling
6. Abuse SELECT *
7. Include SQL Data Manipulation Language in Application Code
8. Fetch Semi-static Data on Each Request of a Resource
9. @@IDENTITY vs. SCOPE_IDENTITY
10. Add a Low Privilege Account to the Admin Role
untuk lebih jelasknya kenapa hal tersebut perlu dihindari dapat dilihat di artikel berikut ini http://blogs.netindonesia.net/kiki/archive/2006/01/03/8249.aspx