Building High-Performance Database Menggunakan Microsoft SQL Server 2000

SQL Server 2000 dirancang untuk mendukung proses perkembangan dari perangkat sistem besar, yang dibangun dalam arsitektur Windows DNA, yang membagi pemrosesan unit dari suatu sistem pemrosesan data server 3 tiers. Seperangkat SQL Server 2000 Federated Database Servers dapat membentuk data services tier dari web site paling besar yang ada. Adanya distributed partitioned views (pembagian views secara terdistribusi) memungkinkan sekumpulan federated database server menjalankan SQL Server 2000 untuk mendukung pemrosesan beban yang dilakukan oleh sebuah scaled-out, multi-tiered Windows 2000 cluster.

Sebuah teknologi roadmap baru dimulai dengan adanya peluncuran Microsoft windows 2000 dan Microsoft SQL serverTH 2000, yang menggabungkan industri sistem operasi paling modern dengan sistem database architectures. Salah satu hasil terbaik dari record benchmark yang dilakukan oleh Microsoft, dicapai untuk Transaction Processing Council’s TPC-C standard OLTP benchmark, dimana pengukuran aplikasi dilakukan dengan membagi beban kerja pada setiap server. Penggunaan pendekatan ini untuk pertama kali, akan memungkinkan pelanggan membangun sebuah aplikasi dengan level scalability dan availabity tertinggi yang belum pernah ada sebelumnya dan merupakan pendahulu dari implementasi lengkap shared-nothing clustering.



Dimensi Baru: Scaling-Out
Windows 2000 telah membuat perluasan penggunaan software scale out untuk middle tier application server dan web server. Software scale-out memungkinkan suatu perkerjaan dipartisi atau dibagi pada beberapa independent server yang ada. Pada windows 2000, windows network load balancing services dan windows component load balancing service menyediakan software scale-out untuk web dan aplikasi tiers secara respective. Dengan SQL Server 2000, pelanggan dapat mengambil keuntungan dari software scale-out yaitu adanya headroom yang hampir tidak terbatas untuk aplikasi e-commerce.
Kunci keuntungan software scale-out adalah kemampuannya dalam meningkatkan sistem scalability yang sederhana, yaitu dengan menambah server. Seiring dengan perkembangan SMP system, node tunggal seringkali menghadapi rintangan yang terjadi akibat mengecilnya diminishing return dan mahalnya harga hardware. SMP server juga tidak selalu mempunyai kapasitas untuk menambah processor atau memory. Dalam kasus ini satu server harus diberhentikan dan digantikan dengan sistem yang lebih mahal yang mempunyai tambahan kapasitas yang dibutuhkan. Lebih jauh lagi, ada batasan pada jumlah kapasitas yang disediakan oleh SMP server terbesar sekalipun.
Scaling-out memberikan solusi dari rintangan ini dengan membagi beban kerja dan database pada node-node SMP atau cluster. Pembagian bersifat transparan untuk aplikasi, dan database diprogram dan diatur sebagai sebuah entity tunggal. Dengan software scale-out, penambahan scalability dengan memberi tambahan server pada sebuah database cluster, lebih dari baik daripada menggantikan sistem yang lama dengan sistem baru yang lebih besar dan lebih mahal.
Keuntungan lain yang penting yang digunakan oleh scale-out pada database tier adalah aplikasi yang transparan. Sekumpulan server bersama-sama untuk membuat satu kesatuan view dari data yang dibagi. Aplikasi tidak perlu mengetahui pada server mana data berada: lokasi data bersifat transparan untuk aplikasi. Transparansi dari aplikasi yang lengkap ini disediakan dengan menggunakan sebuah feature baru yang disebut distributed partitioned views.
Bentuk software scale-out yang lebih advance adalah shared-nothing clustering. Yaitu penambahan kemampuan scaling dengan menambah server dan transparansi dari aplikasi, shared-nothing clustering menawarkan sebuah kesatuan sistem image dan kesatuan manajemen. Pada SQL server 2000, microsoft tidak mengimplementasikan shared-nothing clustering sepenuhnya. Sistem tidak menyediakan sebuah kesatuan sistem image atau kesatuan manajemen. Masing-masing server diberi hak untuk mengatur secara bebas.

Headroom untuk Aplikasi E-commerce
Partisi Scale-Out pada aplikasi e-commerce dikhususkan untuk mempersiapkan pertumbuhan di masa yang akan datang. Pada scenario scale-up satu atau beberapa SMP server dapat dijalankan untuk memberikan jumlah nilai scalabilitas yang benar. Sejalan dengan waktu, penambahan SMP servers dapat dilakukan sekali waktu dan tanpa membuang perangkat yang berharga.

Achieving High Availability
Software Scale-out dapat digunakan bersama dengan Microsoft Cluster Services pada Microsoft Windows NT Server 4.0 dan Windows 2000 untuk medapatkan scalability dan high availability. Microsoft Cluster Services bekerja dengan menyediakan failover berupa satu atau beberapa server jika terjadi kegagalan pada sebuah server atau maintenance. Dengan SQL Server 2000 dan Windows 2000 Datacenter Server, failover dapat bekerja dalam sebuah konfigurasi sampai dengan 4 server dalam sebuah cluster.
Dengan SQL Server 2000 yang diinstall dalam sebuah failover cluster, masing-masing server mengatur sebuah partisi dari database aplikasi. Setiap instansi dari SQL Server dapat dibuat sebagai virtual server yang meneruskan untuk memberikan layanan meskipun jika node sumbernya sedang offline, karena kesalahan hardware atau perawatan sistem. Untuk mendapatkan feature ini, SQL Server database ditempatkan pada shared SCSI disks yang diakses pada beberapa server dalam failover cluster. Jika satu server rusak, salah satu dari server-server yang lain akan mengambil alih kepemilikan disks dan merestart database service pada node baru. Restart ini akan memperbaiki SQL Server database dan mulai menerima client connection. Dari pihak client sendiri, client secara otomatis akan melakukan koneksi ulang ke virtual server pada saat server utama gagal. Microsoft Cluster Service mengijinkan perpindahan nama virtual server dan alamat IP antar node, sehingga client tidak menyadari perpindahan server tersebut.
SQL Server failover bersifat otomatis secara keseluruhan. Proses mendeteksi dan memperbaiki failure dapat dilakukan kurang dari satu menit. Meskipun demikian tetap tergantung dari aplikasi dan query yang sedang aktif pada saat terjadinya failure sistem. Ketika sebuah node yang fail diperbaiki, dia akan melakukan restart dan menjadi sebuah backup server yang baru. Jika diinginkan, server yang menjalankan SQL Server juga dapat kembali menjadi original server jika telah diperbaiki.


Gambar 1. Symmetric Virtual Server

Dalam Shared-nothing clustering, tiap server dalam cluster menangani prosesor, memory, storage, record locks dan transaksi yang terpisah dan melakukan koordinasi dengan server lain melalui jaringan dengan menggunakan high speed, low-latency interconnect technology seperti Compaq ServerNet II dan Giganet cLAN.
Berlawanan dengan shared-nothing Clustering archietectures, shared-disk clustering architectures, seperti Oracle Parallel Server, yang menggunakan server-server independent dan berbagi sebuah sistem penyimpanan tunggal. Setiap server mempunyai prosesor dan memori sendiri, tetapi berbagi disk resources. Untuk berbagi disk resources ini semua server harus menggunakan sebuah coordinated lock manager, yang menjamin bahwa proses yang berjalan pada server yang berbeda tidak mencoba melakukan update data pada waktu yang sama. Lock manager menambahkan sejumlah proses khusus pada sistem yang membatasi potensi scalability. Jarang ada sebuah shared-disk cluster yang mendukung lebih dari 6 node. Implementasi utama dari shared-disk clustering adalah bukan untuk scalability. Shared-disk clustering ini diimplementasikan untuk availability dimana hanya sebuah node yang digunakan untuk memproses dan menambah node cadangan sebagai failover node.

Microsoft SQL Server 2000 distributed partitioned views
Microsoft SQL Server 2000 distributed partitioned views adalah kumpulan perluasan dari feature-feature SQL Server yang mendukung transparansi, partisi horizontal dari data yang melewati beberapa database server. Meskipun server-server database bekerja sama dalam mengatur partisi data, tetapi mereka beroperasi autonomous. Setiap server diatur terpisah, mempunyai operational rules yang terpisah dan dapat mendukung data dan prosesnya sendiri. Autonomous server ini dikenal sebagai federated servers. SQL Server 2000 dirancang untuk mendukung kebutuhan yang terus berkembang dari sistem besar yang dibangun dengan Windows DNA Architecture yang membagi proses unit dari sebuah system pemrosesan data menjadi:
  • User services tier, yang menghadirkan interface yang dapat dilihat oleh user, dan typically memanggil second tier untuk bussines logic processing.
  • Business services tier, berisi business logic yang mengontrol operasi dari web site, dan menggunakan penyimpan data yang ada yang disediakan oleh third tier.
  • Data Service tier, yang menyimpan data yang ada yang diperlukan untuk menjalankan Web site.
Overall performance dari federated server akan meningkat jika mereka beroperasi dalam sebuah high-throughput system area network (SAN), seperti yang disediakan oleh Compag ServerNet II.


Gambar 2. Windows DNA processing unit tiers

Distributed partitioned views mengijinkan sekumpulan dari federated database servers menjalankan SQL Server 2000 untuk mendukung pemrosesan beban yang dilakukan oleh scaled-out, multi-tiered windows 2000 cluster dan dapat melakukan partisi data secara horizontal melewati federated database servers pada saat ia sedang menyiapkan kapasitas performance dari sebuah load balanced database cluster.
Mempartisi sebuah table secara horizontal dengan membagi sebuah table menjadi beberapa table yang lebih kecil dikenal sebagai member table. Setiap member table mempunyai format dan sifat yang sama seperti table asli, bedanya hanya jumlah baris. Setiap table di tempatkan pada file atau server yang berbeda untuk memperluas proses load melewati resources. Contohnya sebuah perusahaan mendaftarkan ID customer dari 1 sampai 999. Customer table dapat dipartisi menjadi tiga member table, dangan tiap tablenya memiliki interval customer ID yang sama; table 1 mempunyai customer ID 1 sampai 333, table 2 mempunyai customer ID 334 sampai 666; dan table 3 mempunyai customer 667 sampai 999.
Jika tanpa views, partisi horizontal akan memaksa setiap aplikasi untuk mengimplementasikan logic untuk menentukan member table mana yang mempunyai data yang diinginkan oleh user dan secara dinamik membangun SQL statement mereferensikan table-table. Aplikasi akan memerlukan queri kompleks yang digabung dalam member table. Merubah cara member table di partisi akan berpengaruh pada pengkodean aplikasi.
Views menangani masalah ini dengan membuat member table terlihat seperti satu table. SQL UNION operator menggabungkan hasil sets dengan identical format menjadi satu. Karena semua member table mempunyai format yang sama, hasil dari select * statements untuk setiap table mempunyai format yang sama, dan dapat di satukan bersama untuk membentuk sebuah hasil set tunggal yang beroperasi sama dengan table original. Contoh, untuk tabel customers.
Customers view membuat lokasi data menjadi transparan untuk aplikasi. Aplikasi akan merujuk pada view gantinya memutuskan member table mana yang berisi data tersebut. Transparansi memungkinkan database administrator mempartisi kembali table tanpa melakukan recoding pada aplikasi. Pada situasi yang membutuhkan partisi data, maka hanya distributed partitioned view saja yang perlu diupdate, proses lebih sederhana.


Gambar 3. SQL UNION operator

Local partitioned views merujuk pada member-member table yang ada pada satu server. Distributed partitioned views merujuk pada member table pada beberapa server. Sebuah server yang berisi sebuah member table disebut member server.
SQL Server versi 7.0 dan SQL Server 2000 mendukung partitioned views. SQL Server 2000 juga memberikan key features yang memberi kemungkinan views scale out:
  • SQL Server 2000 partitioned views dapat diupdate. Ini penting dalam pembagian data sehingga lokasi data menjadi tranparan terhadap aplikasi. Updatable views mendukung semua sifat dari table asli; nonupdatable views hanya seperti read-only copies.
  • SQL Server 2000 query optimizer mendukung optimasi baru yang meminimalkan jumlah distributed data yang ditranfer. Distributed execution oleh SQL Server 2000 memberikan performance yang baik untuk sekumpulan queries yang besar dari pada yang dilakukan oleh SQL Server versi 7.0.
SQL Server 2000 partitioned views (baik distributed atau local) merupakan pasangan terbaik untuk tipe-tipe dari SQL Statements yang dikerjakan oleh Web sites dan Online Transaction Processing (OLTP) Systems.

Cara Kerja Distributed Partitioned Views
SQL Server 2000 distributed partitioned views menggunakan fungsi distributed query untuk mengembangkan kemampuan dari partitioned views yang melewati beberapa server.
Langkah-langkah untuk melakukan setting distributed partitioned views antara lain:
1. Lakukan partisi horizontal pada sebuah tabel menjadi member tabel yang mempunyai format yang sama dengan aslinya pada server yang terpisah dan mempunyai subset dari baris-baris pada set asli. Rancanglah member table, sehingga setiap table menyimpan sebuah potongan horizontal dari tabel asli berdasarkan interval nilai kunci. Interval di dasarkan pada nilai data dalam partisi kolom. Nilai interval pada setiap member tabel dibuat oleh sebuah CHECK constrain pada partisi kolom, dan interval tidak dapat tumpang tindih. Contohnya, anda tidak boleh mempunyai satu tabel dengan sebuah interval dari 1 sampai 200 dan dengan interval lain dari 150 samapi 300, karena itu akan menyebabkan ketidakjelasan tabel mana yang memuat nilai dari 150 sampai 200. Contoh CHECK constraint dari kolom CustomerID yang pertama adalah:

CustomerID INTEGER PRIMARY KEY CHECK (CustomerID BETWEEN 1 AND 32999),

2. Pada setiap member server, tentukan pendefinisian server terhubung yang digunakan untuk mengirimkan queri yang terdistribusi pada tiap server member yang lain.
3. Pada setiap member server, tentukan sebuah distributed partitioned view yang mengkombinasikan baris-baris dari member table ke dalam sebuah virtual tabel yang bertindak sebagai tabel asli. Setiap view mempunyai nama yang sama. Ini memungkinkan queri merujuk pada distributed partitioned view name untuk dijalankan pada beberapa member server. System beroperasi sebagai sebuah salinan dari tabel asli pada setiap member server, tetapi masing-masing server hanya mempunyai sebuah member tabel dan sebuah distributed partitioned view. Lokasi data menjadi transparan terhadap aplikasi.
Dimanapun sebuah SQL statement merujuk pada sebuah distributed partitioned view, SQL Server 2000 queri optimizer membangun sebuah dynamic query yang menarik data hanya dari member tabel yang berisi data yang dibutuhkan oleh statement.

Membangun Distributed Partitioned Tables and Views

Langkah-langkah untuk membangun sebuah distributed partitioned views:
  • Tambahkan linked server definitions pada masing-masing member server berisi informasi koneksi yang diperlukan untuk menjalankan distributed queri pada member server – member server yang lainnya. Hal ini memberikan sebuah distribusi partitioned view access untuk data pada server-server yang lain.
  • Buatlah sebuah distributed partitioned view pada setiap member server. Views menggunakan distributed SELECT statement untuk mengakses data dari linked member servers dan menggabungkan distributed rows dengan baris-baris dari member tabel local. Jika contoh lokasi tabel adalah Customer_33 pada Server 1, Customer_66 pada Server2 dan Customer_99 pada Server3, maka yang harus dilakukan pada server 1 adalah:
  • Tambahkan sebuah linked server definition dengan nama server2 dengan informasi koneksi untuk server2 dan sebuah linked server definition dengan nama server3 untuk mengakses server3.
  • Buatlah distributed partitioned view berikut:
CREATE VIEW Customers AS SELECT * FROM CompanyDatabase.TableOwner.Customers_33 UNION ALL SELECT * FROM Server2.CompanyDatabase.TableOwner.Customers_66 UNION ALL SELECT * FROM Server3.CompanyDatabase.TableOwner.Customers_99 Perform the same steps on Server2 and Server3.

Bagaimana Query Processor menggunakan Distributed Partitioned Views
Microsoft SQL Server 2000 query processor telah diperluas untuk mengoptimasi performance dari distributed partitioned views. Perluasan yang paling penting adalah meminimumkan jumlah data yang harus dipindahkan antar member server. SQL server 2000 membangun intelligent, dynamic plans yang mengefisiensikan penggunaan distributed queries untuk mengakses data dari remote member tabel. Query processor:
  • Gunakan OLE DB untuk menempatkan definisi CHECK constraint dari tiap member tabel untuk memetakan distribusi dari nilai key member tabel.
  • Bandingkan interval key yang diberikan dalam sebuah SQL statement dengan interval peta dari member tabel, lalu buat sebuah execution plan yang hanya menempatkan remote rows yang diperlukan untuk melengkapi SQL statement. Execution plan juga menunda akses ke remote member tabel sampai semua informasi diperlukan.
Sebagai contoh, anggap query ini dijalankan pada server1:
SELECT * FROM Customers WHERE CustomerID BETWEEN 3200000 AND 3400000

SQL Server 2000 akan mengekstrak baris-baris dengan nilai key dari 3200000 sampai 3299999 dari tabel lokal dan menggunakan sebuah distributed query untuk menempatkan baris-baris dengan nilai key dari 3300000 sampai 3400000 dari server2.
SQL Server 2 query processor dapat juga membangun dynamic logic kedalam query execution plans untuk SQL statements dimana nilai nilai key tidak diketahui. Contohnya:

CREATE PROCEDURE GetCustomer @CustomerIDParameter INT AS SELECT * FROM CompanyDatabase.TableOwner.Customers WHERE CustomerID = @CustomerIDParameter

SQL Server 2000 tidak dapat memprediksi nilai parameter yang akan disediakan pada saat prosedur dijalankan, sehingga query optimizer tidak dapat memprediksi member tabel yang harus diakses. Dalam kasus ini SQL Server membuat sebuah execution plan dengan conditional logic tabel untuk mengontrol member tabel mana yang diakses. Contohnya :

IF @CustomerIDParameter BETWEEN 1 and 3299999 Get row in local table CompanyDatabase.TableOwner.Customer_33 ELSEIF @CustomerIDParameter BETWEEN 3300000 and 6599999 Get row in linked table Server2.CompanyDatabase.TableOwner.Customer_66 ELSEIF @CustomerIDParameter BETWEEN 6600000 and 9999999 Get row in linked table Server3.CompanyDatabase.TableOwner.Customer_99


Merancang system yang memaksimalkan Distributed Partitioned View Performance
Untuk memperoleh high performance, scaled-out system harus menyeimbangkan pemrosesan beban melalui beberapa server pada setiap tier. Federated database tier dapat bekerja maksimal jika aplikasi mengirimkan setiap SQL statement kepada setiap member server yang mempunyai semua data yang diperlukan oleh statement dan pada saat federated system menawarkan transparansi data pada aplikasi tier termasuk logic dalam aplikasi tier untuk data yang tergantung pada routing yang meningkatkan performance.
Partisi paling efektif didapat jika tabel dalam sebuah database dapat dipartisi secara simetris dimana:
  • Data yang berhubungan di tempatkan pada member server yang sama, sehingga rute sebagian besar SQL statements lebih minimal. Tujuan dari distributed partitioned view design dapat ditetapkan dengan peraturan 80/20 : rancang partisi sehingga sebagian besar data paling sedikit 80 persen yang diperlukan SQL statement diperoleh di server, dan sisanya sekitar 20 persen diperoleh pada distributed queries.
  • Data dipartisi secara seragam melewati member server -member server yang ada.
Sebagai contoh, sebuah perusahaan yang telah membagi Amerika Utara menjadi daerah regional. Setiap pekerja bekerja dalam satu daerah regional, dan customers membuat sebagian pembelian mereka dalam negara atau propinsi dimana mereka tinggal. Tabel daerah dan tabel pekerja dipartisi sesuai dengan daerah regional. Customer dipartisi diantara daerah regional sesuai negara atau propinsi.
  • Pada saat query-query yang sama memerlukan data dari lebih dari satu daerah regional, data yang diperlukan untuk sebagian query adalah pada server untuk satu daerah regional. Rute aplikasi SQL statements untuk member server berisi daerah regional yang diperolah dari input pengguna.
Untuk data yang kompleks dan partisi simetris sulit dilakukan, maka Asymmetric partitions dapat menyediakan keuntungan-keuntungan sebagai berikut:
  • Secara langsung meningkatan performance dari sebuah database yang tidak dapat di partisi secara symmetric dengan melakukan partition asymmetric pada beberapa tabel.
  • Mempartisi sebuah sistem yang besar dengan membuat sebuah series of iterative, perluasan dari asymmetric. Tabel yang dipilih untuk dipartisi dalam tiap langkah biasanya adalah tabel yang akan memberikan performance tertinggi pada suatu waktu.
Original server biasanya menyisakan beberapa beberapa tabel yang tidak sesuai dengan skema partisi. Performance dari tabel-tabel yang sisa ini biasanya lebih cepat dari pada original system, karena member tabel – member tabel berpindah ke member server, sehingga mengurangi beban dari original server. World-Record benchmark diraih oleh sebuah sistem yang tidak mempartisi 1 dari 9 tabel.
Banyak database dapat dipartisi lebih dari satu cara. Partisi khusus yang dipilih untuk implementasi haruslah yang benar-benar memenuhi keperluan dari SQL statement yang dijalankan oleh business services tier dan dirancang dalam bentuk yang memproduksi routing rules, aplikasi dapat digunakan untuk menentukan member server mana yang paling efective memproses setiap SQL statement. Business services tier harus mampu mencocokkan setiap lembar data pengguna dengan routing rules untuk menemukan member server yang akan memproses SQL statement.

Merancang Application Tier untuk Load Balancing
Performance yang tinggi dari business services tiers dirancang sebagai identical COM+ componen yang berjalan di atas application servers. Windows 2000 Load Balancing dapat mendistribusikan permintaan pengguna melalui business tier. Karena permintaan seorang pengguna dapat diproses pada application server mana saja, maka komponen-komponen business harus mempunyai beberapa metode untuk routing SQL statement ke member server yang tepat. Komponen business harus mampu mencocokkan nilai data yang diterima dari client dengan data routing rules untuk menentukan member server yang akan memproses permintaan.
Solusi yang paling fleksibel melibatkan penyimpanan routing rules dalam sebuah persistent store seperti active directoryTM service dalam windows 2000, atau tabel database. Komponen-komponen business menempatkan rules pada runtime dan menggunakan generic logic untuk membandingkan nilai data seorang pengguna dengan kunci data distribusi yang tersimpan dalam data routing rules. Mempartisi kembali member tabel tidak memerlukan perubahan aplikasi, hanya menyesuaikannya dengan routing rules.

Merancang sistem untuk High Availability
Data untuk sebuah web site besar atau internal OLTP system haruslah mempunyai reliabilitas yang tinggi. Data harus terus tersedia selama 24 jam sehari, 7 hari seminggu, 52 minggu setahun. Dalam sebuah shared-nothing clustered application tier, kehilangan satu server dapat menurunkan performance dari sistem, tetapi tidak akan menghentikan sistem secara keseluruhan. Server yang sisa dalam cluster menyeimbangkan beban sampai penggantian server ditambahkan. Meskipun SQL Server 2000 tidak mendukung load balanced clustering jenis ini, namun ia mendukung microsoft cluster services failover clustering. Dalam failover clustering, setiap database server dibuat oleh dua atau empat physical servers yang tampak pada aplikasi sebagai viitual server tunggal. Jika primary server node fails, node lain mendeteksi kehilangan primary dan memulai melayani semua permintaan yang diberikan pada virtual server secara otomatis. Cluster terus berjalan hingga penggantian server dilakukan. Failover clustering membantu menyediakan availabilitas yang tinggi, namun tidak memberikan load balancing.

Backing Up dan Restoring Federated Database Servers
Kordinasi pemulihan member database perlu untuk menjamin sinkronisasi. SQL Server 2000 memerlukan kordinasi backup melalui member server. Backup dapat dilakukan pada setiap database secara terpisah tanpa campur tangan dari member database lainnya, sehingga backup tidak perlu disinkronisasi, tidak ada proses overhead untuk sinkronisasi dan tidak perlu melakukan blokade pada pekerjaan yang sedang berjalan. SQL Server 2000 mempunyai metode untuk menandai system log files secara simultan pada semua member database dengan sebuah point yang diberi nama pada suatu waktu dalam sebuah coordinated fashion. Dalam sebuah event dari catastrophic failure, semua member system dapat disimpan pada point yang sama dalam satu waktu, menjaga kesatuan transaksi dari federated system yang lengkap.

Penggunaan System Area Networks
SANs menghadirkan kecepatan yang tinggi, reliabilitas jaringan yang tinggi untuk clusters atau sekumpulan server. Sebuah multi-tier, sistem terdistribusi dapat mengenerate lalu lintas jaringan level tinggi antar server. Memperoleh performance yang tinggi dalam sebuah sistem akan mungkin jika kecepatan transmisi pesan cukup untuk meminimumkan waktu yang diperlukan server untuk memproses pesan dan menunggu balasan. Dibandingkan dengan Local Area Networks (LANs) atau Wide Area Networks (WANs), SANs mendukung level tinggi dari lalu lintas pesan dengan mengurangi beban CPU dan message latency. SANs juga lebih handal dari pada LANs atau WANs, dan diimplementasikan dalam sekumpulan atau clusters dari server-server yang lokasinya berdekatan, seperti dalam satu ruang komputer misalnya.
SANs merupakan pasangan yang sesuai dengan SQL Server 2000 untuk penggunaan berikut ini:
  • Application server yang membentuk business services tier dapat menggunakan SAN untuk melakukan komunikasi kecepatan tinggi dengan data services tier. Hal ini dilakukan jika application server dan database server ditempatkan pada lokasi fisik yang sama.
  • SQL Server 2000 servers dapat menggunakan SAN untuk meningkatkan performance dari distributed queries, distributed transactions dan data replication antara database servers pada lokasi yang sama.
Kesimpulan
Software scale-out merupakan sebuah architecture yang menawarkan scalability yang tidak terbatas pada aplikasi generasi yang akan datang dan secara signifikan mengurangi biaya investasi mula-mula maupun jangka panjang. Windows 2000 memperkenalkan software scale-out pada web dan application tiers, SQL Server 2000 memperkenalkan sebuah major installment dari software scale-out pada database tier yang pertama. Implementasi dari software scale out dalam SQL Server 2000 didasarkan pada distributed partitioned views, yang sesuai untuk generasi yang akan datang yaitu Windows DNA 2000 based e-commerce solutions. Aplikasi ini lebih mudah dipartisi dan cenderung mudah untuk di terapkan ada clustered environment.
Diantara industry-leading yang mendukung SMP servers dan implementasi dari software scale-out technology, SQL Server 2000 menawarkan lebih dari scalability yang cukup untuk beberapa customer application dari beberapa ukuran dan beberapa type. Windows 2000 dan SQL Server 2000 menandai sebuah permulaan dari era baru pada saat smallest business dan largest global enterprise mendapat keuntungan dari time-to-market leadership dan superior price/performance dari microsoft platform ketika merasa aman bahwa kebutuhan scalability masa depan telah ditemukan.
Arief Hamdani Gunawan, Penulis adalah engineer pada IT Solution Lab. TELKOMRisTI, R&D Center - PT. Telekomunikasi Indonesia, Tbk. Disclaimer: Isi diluar tanggung jawab Redaksi. (http://www.ristinet.com/)

Comments