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.
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.
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:
Bagaimana Query Processor menggunakan Distributed Partitioned ViewsMicrosoft 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.
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.
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.
Seja o primeiro a comentar
Posting Komentar