3.1.1 Teleprocessing
Arsitektur tradisional untuk sistem multi-user adalah teleprocessing, dimana ada satu komputer
dengan satu unit central processing (CPU) dan sejumlah terminal. Terminal mengirim pesan melalui
subsistem kontrol komunikasi dari sistem operasi untuk program aplikasi pengguna, yang pada gilirannya
menggunakan jasa . Sayangnya, arsitektur ini menempatkan beban luar biasa pada komputer pusat, yang
harus tidak hanya menjalankan program aplikasi dan DBMS, tetapi juga melaksanakan sejumlah besar
pekerjaan atas nama terminal (seperti data format untuk ditampilkan di layar ). Sekarang ada tren
diidentifikasi dalam industri menuju perampingan, yaitu, menggantikan komputer mainframe mahal
dengan jaringan lebih hemat biaya dari komputer pribadi yang mencapai hal yang sama, atau bahkan
lebih baik, hasil. Tren ini telah melahirkan dua arsitektur berikutnya: File-server dan client-server.
Sebuah komputer terpasang ke jaringan dengan tujuan utama memberikan penyimpanan bersama
file komputer seperti dokumen, spreadsheet, gambar, dan database.
File Server
Dalam lingkungan server-file, pengolahan didistribusikan tentang jaringan, biasanya jaringan area lokal
(LAN). File-server memegang file yang dibutuhkan oleh aplikasi dan DBMS. Namun, aplikasi dan
DBMS dijalankan pada masing-masing workstation, meminta file dari file-server bila diperlukan,
Client-server mengacu pada cara di mana komponen software berinteraksi untuk membentuk suatu
sistem. Seperti namanya, ada proses klien, yang membutuhkan beberapa sumber daya, dan server, yang
menyediakan sumber daya. Tidak ada persyaratan bahwa klien dan server harus berada pada mesin yang
sama. Dalam prakteknya, sangat umum untuk menempatkan server di salah satu situs di LAN dan klien di
situs lain.
Pada tahun 1995, variasi baru dari model client-server dua-tier tradisional muncul untuk memecahkan
masalah perusahaan skalabilitas.Arsitektur baru ini diusulkan tiga lapisan, masing-masing berpotensi
berjalan pada platform yang berbeda:
(1) Pengguna lapisan antarmuka, yang berjalan pada komputer pengguna akhir (klien).
(2) Logika bisnis dan lapisan pengolahan data. Tingkat menengah ini berjalan pada server dan sering
disebut server aplikasi.
(3) A DBMS, yang menyimpan data yang dibutuhkan oleh tingkat menengah. Lapis ini dapat dijalankan
pada server terpisah yang disebut database server
Desain three-tier memiliki banyak keuntungan lebih dari dua-tier atau single-tier desain tradisional, yang
meliputi:
• pemeliharaan Aplikasi ini terpusat dengan transfer logika bisnis bagi banyak pengguna akhir ke server
aplikasi tunggal. Ini menghilangkan kekhawatiran distribusi software yang bermasalah dalam model
client-server dua-tier tradisional.
• modularitas menambahkan membuatnya lebih mudah untuk memodifikasi atau mengganti satu lapis
tanpa mempengaruhi tingkatan lainnya.
• Load balancing lebih mudah dengan pemisahan logika bisnis inti dari fungsi database. Keuntungan
tambahan adalah bahwa arsitektur three-tier peta secara alamiah dengan lingkungan Web, dengan browser
Web yang bertindak sebagai klien "tipis", dan server Web bertindak sebagai server aplikasi.
3.1.6 Middleware
Sebuah sistem software yang dirancang untuk mendukung interaksi mesin-tomachine interoperable lebih
layanan network.
. Contoh layanan Web meliputi :
• Maps Bing Microsoft dan Google Maps layanan Web menyediakan akses ke layanan locationbased,
seperti peta, arah mengemudi, pencarian kedekatan, dan geocoding (yaitu, mengubah alamat ke
koordinat geografis) dan reverse geocoding.
• Amazon Simple Storage Service (Amazon S3) adalah antarmuka layanan Web sederhana yang dapat
digunakan untuk menyimpan dan mengambil sejumlah besar data, setiap saat, dari mana saja di Web.
Ini memberikan setiap akses pengembang untuk yang sangat scalable, handal, cepat, infrastruktur
penyimpanan data yang murah yang sama yang menggunakan Amazon untuk menjalankan jaringan
global sendiri situs Web. Tuduhan didasarkan pada kebijakan "pay-as-you-go", saat ini $ 0,125 per GB
untuk pertama 50TB / bulan penyimpanan yang digunakan.
• GeoNames menyediakan sejumlah layanan Web terkait lokasi; misalnya, untuk kembali satu set entri
Wikipedia sebagai dokumen XML untuk nama tempat tertentu atau untuk mengembalikan zona waktu
untuk diberikan lintang / bujur.
• layanan DOTS Web dari Layanan Objects Inc, adopter awal layanan Web, menyediakan berbagai
layanan seperti informasi perusahaan, reverse lookup nomor telepon, validasi alamat email, informasi
cuaca, IP address-to-penentuan lokasi.
• Xignite adalah layanan Web B2B yang memungkinkan perusahaan untuk menggabungkan informasi
keuangan ke dalam aplikasi mereka. Layanan mencakup US informasi ekuitas, real-time quotes
sekuritas, harga ekuitas AS, dan berita keuangan.
Kunci pendekatan layanan Web adalah penggunaan teknologi diterima secara luas dan standar, seperti:
• WSDL (Web Services Description Language) Protokol, Lagi berdasarkan XML, digunakan untuk
menggambarkan Dan menemukan layanan Web.
• UDDI (Universal Discovery, Deskripsi, Dan Integrasi) Protokol Adalah platformindependent, Berbasis
XML registry Bisnis PT Diri di Internet. Penyanyi dirancang diinterogasi Oleh Pesan SOAP Dan
untuk memberikan Akses Ke Dokumen WSDL menggambarkan mengikat protokol Format Dan Pesan
Yang diperlukan interact dengan layanan Web Yang tercantum direktorinya.
Berikut ini adalah serangkaian prinsip SOA umum yang memberikan pendekatan desain yang unik untuk
membangun layanan Web untuk SOA:
• Loose coupling:Jasa harus dirancang untuk berinteraksi secara longgar ditambah
• Reusability: Logika yang dapat berpotensi digunakan kembali dirancang sebagai layanan terpisah
• Contract: Jasa mematuhi kontrak komunikasi yang mendefinisikan pertukaran informasi dan
informasi deskripsi layanan tambahan, ditentukan oleh satu atau lebih layanan dokumen deskripsi
• Abstraction: Beyond apa yang dijelaskan dalam kontrak layanan, layanan menyembunyikan
logika dari dunia luar
• Composability:Layanan dapat menulis layanan lainnya, sehingga logika yang dapat diwakili pada
tingkat yang berbeda dari granularity sehingga meningkatkan usabilitas dan penciptaan lapisan
abstraksi;
• Autonomy:Jasa memiliki kendali atas logika mereka merangkum dan tidak tergantung pada
layanan lain untuk melaksanakan pemerintahan ini;
• Stateless: Jasa seharusnya tidak diperlukan untuk mengelola informasi negara, karena hal ini dapat
mempengaruhi kemampuan mereka untuk tetap longgar digabungkan;
• Discoverability: Layanan dirancang untuk menjadi lahiriah deskriptif sehingga mereka dapat
ditemukan dan dinilai melalui mekanisme penemuan yang tersedia.
Distributed
Sebuah koleksi logis saling terkait data bersama (dan deskripsi data ini), secara fisik didistribusikan
melalui jaringan komputer.
Didistribusikan DBMS
Databasesistem perangkat lunak yang memungkinkan pengelolaan database terdistribusi dan membuat
distribusi transparan kepada pengguna.
Sebuah sistem manajemen database terdistribusi (DDBMS) terdiri dari database logis tunggal yang dibagi
menjadi beberapa fragmen. Setiap fragmen disimpan pada satu atau lebih komputer (replika) di bawah
kendali DBMS yang terpisah, dengan komputer yang terhubung dengan jaringan komunikasi. Setiap situs
yang mampu secara mandiri memproses permintaan pengguna yang membutuhkan akses ke data lokal
(yaitu, setiap situs memiliki beberapa tingkat otonomi daerah) dan juga mampu mengolah data yang
tersimpan di komputer lain dalam jaringan. Pengguna mengakses database didistribusikan melalui
aplikasi. Aplikasi diklasifikasikan sebagai orang-orang yang tidak memerlukan data dari situs lain
(aplikasi lokal) dan orang-orang yang memang membutuhkan data dari situs lain (aplikasi global). Kami
memerlukan DDBMS memiliki setidaknya satu aplikasi global. Oleh karena itu A DDBMS memiliki
karakteristik sebagai berikut:
• koleksi data bersama secara logis terkait
• Data dibagi menjadi beberapa fragmen
• fragmen dapat direplikasi
• fragmen / replika dialokasikan ke situs
• situs yang dihubungkan oleh jaringan komunikasi
• data pada setiap situs adalah di bawah kendali DBMS
• DBMS pada setiap situs dapat menangani aplikasi lokal, secara otonomi
• setiap DBMS berpartisipasi dalam sedikitnya satu aplikasi global.
- Distributed processing
Hal ini penting untuk membuat perbedaan antara DBMS terdistribusi dan pemrosesan terdistribusi:
Sebuah database terpusat yang dapat diakses melalui komputer network.Distributed pengolahan
Titik kunci dengan definisi DBMS terdistribusi adalah bahwa sistem terdiri dari data yang didistribusikan
secara fisik di sejumlah situs dalam jaringan.
Data warehouse : Sebuah konsolidasi / tampilan data perusahaan yang diambil dari sumber data
operasional yang berbeda dan berbagai akses alat akhir pengguna mampu mendukung untuk pertanyaan
yang sangat kompleks untuk mendukung pengambilan keputusan.
Data diadakan di sebuah gudang data digambarkan sebagai subject-oriented, integrated, time-variant , dan
nonvolatile (Inmon, 1993).
• Subject-oriented, sebagai gudang yang diselenggarakan di sekitar mata pelajaran utama dari organisasi
(seperti pelanggan, produk, dan penjualan) daripada area aplikasi utama (seperti faktur pelanggan, kontrol
stok, dan penjualan produk). Hal ini tercermin dalam kebutuhan untuk menyimpan data pendukung
keputusan bukan data applicationoriented.
• Integrated,, karena datang bersama-sama dari sumber data organisasi sistem aplikasi yang berbeda.
Sumber data sering tidak konsisten, menggunakan, misalnya, jenis data yang berbeda dan / atau format.
Sumber data yang terintegrasi harus dibuat konsisten untuk menyajikan pandangan terpadu dari data ke
pengguna.
• Time-variant, karena data di gudang akurat dan hanya berlaku di beberapa titik waktu atau lebih dari
beberapa interval waktu.
• Nonvolatile, karena data tidak diperbarui secara real time tetapi di-refresh dari sistem operasional
secara teratur. Data baru selalu ditambahkan sebagai suplemen untuk database, bukan pengganti.
Arsitektur khas dari gudang data ditunjukkan pada Gambar 3.13. Sumber data operasional untuk data
warehouse disuplai dari mainframe, sistem file proprietary, workstation pribadi dan server, dan sistem
eksternal seperti Internet. Sebuah menyimpan data operasional (BPO) adalah gudang data operasional
saat ini dan terintegrasi yang digunakan untuk analisis. Hal ini sering terstruktur dan disertakan dengan
data dalam cara yang sama seperti data warehouse, tetapi mungkin sebenarnya bertindak hanya sebagai
area pementasan untuk data yang akan dipindahkan ke gudang. Manajer beban melakukan semua
Cloud computing adalah istilah yang diberikan untuk penggunaan beberapa server melalui jaringan digital
seolah-olah mereka satu komputer. The 'Cloud' itu sendiri adalah virtualisasi sumber daya-jaringan,
server, aplikasi, penyimpanan data, dan layanan-yang akhir-pengguna memiliki akses on-demand untuk.
Virtualisasi adalah penciptaan versi virtual dari sesuatu, seperti server, sistem operasi, perangkat
penyimpanan, atau sumber daya jaringan. Tujuannya adalah untuk menyediakan sumber daya ini dengan
manajemen yang minimal atau interaksi penyedia layanan. Cloud computing menawarkan sumber
pengguna tanpa persyaratan memiliki pengetahuan tentang sistem atau lokasi sistem yang memberikan
mereka. Selain itu, awan dapat memberikan pengguna dengan berbagai jauh lebih besar dari aplikasi dan
layanan. Oleh karena itu, tujuan dari awan adalah untuk menyediakan pengguna dan bisnis dengan
layanan scalable dan disesuaikan. NIST memandang model cloud sebagai terdiri dari lima karakteristik
penting, tiga model layanan, dan empat model penyebaran. Karakteristik penting adalah sebagai berikut:
• akses jaringan luas. Karakteristik yang paling penting dari komputasi awan, yaitu bahwa hal itu
didasarkan jaringan, dan dapat diakses dari mana saja, dari setiap platform standar (misalnya, komputer
desktop, laptop, perangkat mobile).
• Sumber Daya pooling. Sumber penyedia awan komputasi dikumpulkan untuk melayani
beberapa konsumen, dengan sumber daya yang berbeda fisik dan virtual yang ditetapkan secara dinamis
dan dipindahkan sesuai dengan permintaan konsumen. Contoh sumber daya termasuk penyimpanan,
pemrosesan, memori, dan bandwidth jaringan.
• elastisitas cepat. Sumber daya pooling menghindari belanja modal yang diperlukan untuk
pembentukan jaringan dan infrastruktur komputasi. Dengan outsourcing ke awan, konsumen dapat
memenuhi lonjakan permintaan untuk layanan mereka dengan menggunakan kapasitas komputasi
penyedia awan, dan risiko pemadaman dan gangguan layanan secara signifikan berkurang. Selain itu,
kemampuan dapat elastis ditetapkan dan dirilis, dalam beberapa kasus secara otomatis, skala cepat
berdasarkan permintaan. Untuk konsumen, kemampuan tersedia untuk penyediaan sering muncul menjadi
tidak terbatas dan dapat dipanggil dalam jumlah setiap saat.
Manfaat dan Risiko komputasi Cloud Computing Cloud menawarkan sejumlah manfaat yang berbeda
untuk perusahaan dibandingkan dengan pendekatan yang lebih tradisional: Biaya-reduksi. Cloud
computing memungkinkan organisasi untuk menghindari belanja modal muka yang terkait dengan server
mahal, lisensi perangkat lunak, dan personil IT, menggeser tanggung jawab ini ke penyedia awan. Hal ini
memungkinkan perusahaan-perusahaan kecil untuk memiliki akses ke infrastruktur komputasi yang kuat
bahwa mereka mungkin sebaliknya tidak mampu membayar. Selain itu, organisasi hanya membayar
untuk fasilitas komputasi yang mereka gunakan daripada membayar terlepas dari apakah atau tidak
fasilitas yang digunakan untuk kapasitas penuh.
3.5.2 Cloud Berbasis aaS, solusi database berbasis cloud jatuh ke dalam dua kategori dasar: Data sebagai
Service (DaaS) dan Database sebagai Service (DBaaS). Perbedaan utama antara keduanya adalah
terutama bagaimana data dikelola:
• DaaS. Daas menawarkan kemampuan untuk mendefinisikan data di awan dan kemudian query data
yang on demand. Tidak seperti solusi database tradisional, DaaS tidak mengimplementasikan interface
DBMS khas seperti SQL (lihat Bab 6). Sebaliknya, data tersebut diakses melalui seperangkat API. DaaS
memungkinkan organisasi dengan data berharga untuk membuat garis pendapatan baru berdasarkan data
mereka sudah sendiri. Contoh DaaS yang Perkotaan Pemetaan, layanan geografi data, yang menyediakan
data bagi pelanggan untuk menanamkan ke dalam situs web mereka sendiri dan aplikasi; Xignite, yang
membuat data keuangan tersedia untuk pelanggan; dan Hoovers, sebuah Dun & Bradstreet perusahaan,
yang menyediakan data bisnis di berbagai organisasi.
• DBaaS. DBaaS menawarkan fungsionalitas database lengkap untuk pengembang aplikasi. Dalam
DBaaS, lapisan manajemen bertanggung jawab untuk pemantauan terus menerus dan mengkonfigurasi
database untuk mencapai skala dioptimalkan, ketersediaan tinggi, multi-tenancy (yaitu, melayani
beberapa organisasi klien), dan alokasi sumber daya yang efektif di awan, sehingga hemat pengembang
dari tugas-tugas administrasi database yang sedang berlangsung.
Ada sejumlah isu arsitektur yang terkait dengan DBaaS hubungannya dengan bagaimana data satu
organisasi diisolasi dari data organisasi lain . Kami mempertimbangkan pilihan berikut:
•server terpisah
•Shared server, proses database server terpisah
•database server bersama, database yang terpisah
•Bersama basis data, skema
•terpisah,Database Bersama bersama skema
Dengan arsitektur server terpisah, masing-masing tenant memiliki host mesin server yang hanya berfungsi
database mereka. Arsitektur ini mungkin tepat untuk organisasi yang membutuhkan tingkat tinggi isolasi,
memiliki database besar, sejumlah besar pengguna, atau yang memiliki persyaratan kinerja yang sangat
spesifik. Pendekatan ini cenderung mengarah ke biaya yang lebih tinggi untuk menjaga peralatan dan
back up data penyewa. Arsitektur diilustrasikan pada Gambar 3.15.
Dengan arsitektur ini, masing-masing tenant memiliki database yang terpisah mereka sendiri tetapi
berbagi server database tunggal (dan proses server tunggal) dengan semua penyewa lainnya. Perbaikan
atas pendekatan sebelumnya adalah bahwa proses server database tunggal dapat berbagi sumber daya
seperti cache database efektif antara penyewa, mendukung penggunaan sumber daya mesin. Arsitektur ini
diilustrasikan pada Gambar 3.17.
Dengan arsitektur ini, ada server database tunggal bersama dan masing-masing tenant memiliki data
dikelompokkan ke dalam skema yang dibuat khusus untuk penyewa. DBMS harus database yang
memiliki struktur izin untuk memastikan bahwa pengguna hanya memiliki akses ke data yang mereka
berhak.
Dengan arsitektur ini, ada server database tunggal bersama dan masing-masing tenant memiliki data
dikelompokkan ke dalam skema bersama tunggal. Setiap tabel database harus memiliki kolom yang
digunakan untuk mengidentifikasi pemilik baris. Setiap aplikasi mengakses baris harus mengacu pada
kolom ini di setiap query untuk memastikan bahwa salah satu penyewa tidak dapat melihat data lain
penyewa. Pendekatan ini memiliki biaya hardware dan cadangan terendah, karena mendukung jumlah
terbesar dari penyewa per server database. Namun, karena beberapa penyewa berbagi tabel database yang
sama, pendekatan ini mungkin menimbulkan upaya pengembangan tambahan dalam keamanan, untuk
memastikan bahwa penyewa tidak dapat mengakses data penyewa lain. Pendekatan ini sesuai jika penting
bahwa aplikasi harus melayani sejumlah besar penyewa dengan sejumlah kecil server, dan calon
pelanggan bersedia untuk menyerah isolasi data dalam pertukaran untuk biaya yang lebih rendah bahwa
pendekatan ini memungkinkan.
DBMS adalah potongan-potongan yang sangat kompleks dan canggih dari perangkat lunak yang
bertujuan untuk menyediakan layanan yang dibahas dalam Bagian 2.4. Sebuah DBMS dibagi menjadi
beberapa komponen software (atau modul), yang masing-masing diberikan sebuah operasi tertentu.
Seperti yang dinyatakan sebelumnya, beberapa fungsi dari DBMS yang didukung oleh sistem operasi
yang mendasarinya. Namun, sistem operasi hanya menyediakan layanan dasar dan DBMS harus dibangun
di atasnya.
• prosesor Query. Ini adalah komponen DBMS utama yang mengubah query ke dalam serangkaian
instruksi tingkat rendah diarahkan ke database manager. Kami membahas pemrosesan query dalam Bab
23.
•database manager (DM). DM interface dengan program aplikasi yang dikirimkan pengguna dan
permintaan. DM menerima query dan menguji skema eksternal dan konseptual untuk menentukan apa
catatan konseptual yang diperlukan untuk memenuhi permintaan tersebut. DM kemudian menempatkan
panggilan ke file manager untuk melakukan permintaan. Komponen DM ditunjukkan pada Gambar 3.21.
•Manajer file. File manager memanipulasi penyimpanan file yang mendasari dan mengelola alokasi
ruang penyimpanan pada disk. Ini membangun dan mempertahankan daftar struktur dan indeks
didefinisikan dalam skema internal. Jika file hash yang digunakan, itu panggilan pada fungsi hashing
untuk menghasilkan alamat record. Namun, file manager tidak langsung mengelola input fisik dan output
data. Sebaliknya, melewati permintaan ke metode akses yang sesuai, yang baik membaca data dari atau
menulis data ke dalam sistem penyangga (atau Cache).
•DML preprocessor. Modul ini mengubah pernyataan DML tertanam dalam sebuah program aplikasi ke
dalam fungsi panggilan standar dalam bahasa tuan rumah. DML preprocessor harus berinteraksi dengan
query processor untuk menghasilkan kode yang sesuai.
•DDL compiler. DDL compiler mengkonversi pernyataan DDL ke dalam satu set tabel yang berisi
metadata. Tabel ini kemudian disimpan dalam katalog sistem sedangkan informasi kontrol disimpan
dalam header
• Manajer Katalog. Manajer katalog mengelola akses ke dan memelihara sistem katalog. Sistem katalog
diakses oleh sebagian besar komponen DBMS.
4.2 Terminologi
Tuple Tuple adalah baris dari relasi.
Alternatif Terminology
Relasi Matematika
Untuk memahami arti sebenarnya dari hubungan panjang, kita harus meninjau beberapa
konsep dari matematika. Misalkan kita memiliki dua set, D1 dan D2, dimana D1={2, 4} dan D2 = {1, 3,
5}. Produk Cartesian dua set, ditulis D1x D2, adalah himpunan semua pasangan terurut seperti bahwa
elemen cemara adalah od anggota D1 dan elemen keduaadalah anggota D2. alternatif
cara mengekspresikan ini adalah untuk mencari semua kombinasi elemen dengan yang pertama dari D1
dan yang kedua dari D2. dalam kasus yang kami miliki :
D1 x D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}
S ={(2, 1)}
D1 × D2 × D3 = {(1, 2, 5), (1, 2, 6), (1, 4, 5), (1, 4, 6), (3, 2, 5), (3, 2, 6), (3, 4, 5), (3, 4, 6)}
X Di
I=1
Lihat A1, A2, . . . . ., An menjadi atribut dengan domain D1, D2, . . . ., Dn . Kemudian set
{A1:D1, A2:D2, . . . An:Dn} adalah sebuah skema relasi . Sebuah relasi R didefinisikan oleh
database relasional, atau hanya skema relasional,R, sebagai:
Foreign Key Atribut , atau set atribut , dalam satu hubungan yang cocok dengan kunci
kandidat dari beberapa (mungkin sama ) hubungan .
Ketika sebuah atribut muncul di lebih dari satu relasi, penampilan biasanya
merupakan hubungan antara tuple dari dua relasi. Misalnya, masuknya
cabang dalam hubungan kedua Cabang dan Staf sangat disengaja dan
menghubungkan setiap cabang ke rincian staf yang bekerja di cabang. Dalam
hubungan Cabang, branchNo adalah primaryKey tersebut.
4.2.6 Mewakili Schemas Relational Database
Klien (Noklien, fnama, lnama, telNo, prefTipe, maxsewa)
PrivateOwner (ownerNo, fname, lname, alamat, telNo)
manipulasirelasional.
4.3.1 NULLS
4.3.3 Integritas referensial
Intergritas referensial Jika kunci asing ada dalam hubungan , baik nilai kunci asing harus sesuai
dengan nilai candidate key dari beberapa tuple dalam kaitannya rumah
atau nilai foreign key harus sepenuhnya nol .
4.3.4 Kendala umum
4.4 Tampilan
4.4.1 Terminology
Basis Hubungan Suatu relasi bernama sesuai dengan entitas dalam skema konseptual , yang tupel
secara fisik disimpan dalam database .
Kita dapat menentukan pandangan dalam hal hubungan dasar