A. Batch Processing
Batch processing adalah pelaksanaan dari serangkaian program (“pekerjaan”) pada komputer tanpa intervensi manual.
Pekerjaan
Batch ditetapkan sehingga mereka dapat dijalankan sampai selesai tanpa
intervensi manual, sehingga semua data input dipilih sebelumnya melalui
script atau parameter baris perintah. Hal ini berbeda untuk “online”
atau program interaktif yang meminta pengguna untuk input tersebut.
Sebuah program membutuhkan set file data sebagai masukan, memproses
data, dan menghasilkan satu set file output data. Lingkungan operasi ini
disebut sebagai “batch processing” karena input data dikumpulkan ke
dalam batch file dan diproses dalam batch oleh program ini.
Manfaat Batch Processing
Batch processing memiliki manfaat:
* Hal ini memungkinkan berbagi sumber daya komputer antara banyak pengguna dan program,
* Ini menggeser waktu pemrosesan pekerjaan untuk saat sumber daya komputasi kurang sibuk,
* Ini menghindari diparkir sumber daya komputasi dengan intervensi manual oleh menit-menit dan pengawasan,
* Dengan menjaga tingkat pemanfaatan yang tinggi secara keseluruhan,
lebih baik lurus mengamortisasi biaya komputer, terutama salah satu yang
mahal.
Sejarah
Batch
processing telah dikaitkan dengan komputer mainframe sejak hari-hari
awal komputasi elektronik di tahun 1950-an. Ada berbagai alasan mengapa
batch processing didominasi komputasi awal. Salah satu alasannya adalah
bahwa masalah bisnis yang paling mendesak untuk alasan profitabilitas
dan daya saing adalah masalah akuntansi yang terutama, seperti
penagihan. Penagihan secara inheren proses bisnis berorientasi batch,
dan praktis setiap bisnis tagihan harus, handal dan tepat waktu. Selain
itu, setiap sumber daya komputasi yang mahal, sehingga penyampaian
berurutan pekerjaan batch cocok kendala sumber daya dan evolusi
teknologi pada saat itu. Kemudian, sesi interaktif dengan baik interface
komputer berbasis teks terminal atau antarmuka pengguna grafis menjadi
lebih umum. Namun, komputer awalnya bahkan tidak mampu memiliki beberapa
program dimuat ke memori utama.
Batch
processing masih meresap dalam komputasi mainframe, tapi hampir semua
jenis komputer sekarang mampu setidaknya beberapa batch processing,
bahkan jika hanya untuk “rumah tangga” tugas. Itu termasuk komputer
berbasis UNIX, Microsoft Windows, Mac OS X, dan bahkan smartphone,
semakin. Virus scanning adalah bentuk batch processing, dan begitu juga
dijadwalkan pekerjaan yang secara berkala menghapus file-file sementara
yang tidak diperlukan lagi. E-mail sistem sering memiliki pekerjaan
batch yang secara berkala arsip dan kompres pesan lama. Seperti komputer
pada umumnya menjadi lebih meresap dalam masyarakat dan di dunia,
pengolahan begitu juga akan batch.
Modern Systems
Disamping
sejarah panjang mereka, aplikasi batch masih kritis di sebagian besar
organisasi sebagian besar karena banyak proses inti bisnis secara
inheren batch-oriented dan mungkin akan selalu. (Billing adalah contoh
yang terkenal bahwa hampir setiap bisnis memerlukan berfungsi.) Meskipun
sistem online juga dapat berfungsi ketika intervensi manual tidak
diinginkan, mereka tidak biasanya dioptimalkan untuk melakukan volume
tinggi, tugas yang berulang. Oleh karena itu, bahkan sistem baru
biasanya berisi aplikasi batch satu atau lebih untuk memperbarui
informasi di akhir hari, menghasilkan laporan, dokumen cetak, dan tugas
non-interaktif lain yang harus menyelesaikan andal dalam tenggat waktu
usaha tertentu.
Aplikasi
batch modern menggunakan kerangka batch modern seperti Batch Spring,
yang ditulis untuk Java, dan framework lain untuk bahasa pemrograman
lain, untuk memberikan toleransi kesalahan dan skalabilitas yang
diperlukan untuk pemrosesan volume tinggi. Dalam rangka untuk memastikan
proses berkecepatan tinggi, aplikasi batch sering terintegrasi dengan
solusi komputasi grid untuk partisi pekerjaan batch selama beberapa
besar prosesor, meskipun ada tantangan pemrograman yang signifikan dalam
melakukannya. Batch processing volume tinggi tempat terutama kebutuhan
berat pada sistem dan aplikasi arsitektur juga. Arsitektur yang kuat
fitur input / output kinerja dan skalabilitas vertikal, termasuk
komputer mainframe modern, cenderung untuk memberikan kinerja yang lebih
baik daripada alternatif batch.
bahasa Scripting menjadi populer saat mereka berevolusi bersama dengan batch processing.
Penggunaan Umum Batch Processing
Pengolahan data
Jadwal
batch pengolahan khas termasuk akhir hari-pelapor (EOD). Secara
historis, banyak sistem memiliki jendela batch dimana subsistem online
adalah dimatikan dan kapasitas sistem yang digunakan untuk menjalankan
pekerjaan umum untuk semua data (account, pengguna, atau pelanggan) pada
sebuah sistem. Di bank, misalnya, pekerjaan EOD termasuk perhitungan
bunga, generasi set laporan dan data ke sistem lain, pencetakan
(pernyataan), dan proses pembayaran. Banyak bisnis telah pindah ke
online bersamaan dan arsitektur batch dalam rangka mendukung
globalisasi, Internet, dan lain tuntutan bisnis yang relatif baru.
arsitektur tempat yang unik tersebut menekankan pada desain sistem,
teknik pemrograman, teknik ketersediaan, dan layanan TI.
Percetakan
Sebuah prosedur batch processing populer komputerisasi sedang mencetak.
Hal ini biasanya melibatkan operator memilih dokumen-dokumen yang mereka
butuhkan dicetak dan menunjukkan ke software pencetakan batch kapan, di
mana mereka harus menjadi output dan prioritas dari pekerjaan cetak.
Maka pekerjaan itu dikirim ke antrian cetak dari mana daemon pencetakan
mengirimkannya ke printer.
Database
Batch processing juga digunakan untuk update database massal yang
efisien dan pengolahan transaksi otomatis, sebagai kontras dengan proses
transaksi interaktif online (OLTP) aplikasi. Ekstrak itu, transformasi,
load (ETL) langkah dalam mengisi data gudang secara inheren proses
batch di sebagian besar implementasi.
Gambar
Batch processing sering digunakan untuk melakukan berbagai operasi
dengan gambar digital. Tidak ada program komputer yang membiarkan satu
ukuran, mengkonversi, watermark, atau mengedit file gambar.
Konversi
Batch processing juga digunakan untuk mengkonversi beberapa file
komputer dari satu format yang lain. Hal ini untuk membuat file portabel
dan fleksibel terutama untuk file milik dan warisan di mana pemirsa
tidak mudah didapat.
1. Prinsip Umum dan Pedoman Batch Arsitektur
Batch
processing adalah suatu model pengolahan data, dengan menghimpun data
terlebih dahulu, dan diatur pengelompokkan datanya dalam
kelompok-kelompok yang disebut batch. Tiap batch ditandai dengan
identitas tertentu, serta informasi mengenai data-data yang terdapat
dalam batch tersebut. Setelah data-data tersebut terkumpul dalam jumlah
tertentu, data-data tersebut akan langsung diproses.
Contoh dari penggunaan batch processing adalah e-mail dan transaksi batch processing.
Dalam suatu sistem batch processing, transaksi secara individual
dientri melalui peralatan terminal, dilakukan validasi tertentu, dan
ditambahkan ke transaction file yang berisi transaksi lain, dan kemudian
dientri ke dalam sistem secara periodik. Di waktu kemudian, selama
siklus pengolahan berikutnya, transaction file dapat divalidasi lebih
lanjut dan kemudian digunakan untuk meng-up date master file yang
berkaitan.
Berikut
ini adalah beberapa prinsip kunci, pedoman, dan
pertimbangan-pertimbangan umum untuk mempertimbangkan ketika membangun
sebuah solusi batch. Sebuah arsitektur batch biasanya mempengaruhi
arsitektur secara on-line dan sebaliknya. Desain dengan kedua arsitektur
dan lingkungan dalam pikiran dengan menggunakan blok bangunan umum bila
memungkinkan.
Menyederhanakan sebanyak mungkin dan menghindari bangunan struktur logis kompleks dalam aplikasi batch tunggal.
Proses
data sebagai dekat dengan tempat tinggal data fisik mungkin atau
sebaliknya (yaitu, menyimpan data Anda di mana terjadi pemrosesan Anda).
Minimalkan penggunaan sumber daya sistem, terutama I / O. Melakukan
usaha sebanyak mungkin dalam memori internal.
Review
aplikasi I / O (menganalisis laporan SQL) untuk memastikan bahwa fisik
yang tidak perlu I / O adalah dihindari. Secara khusus, keempat berikut
kelemahan umum perlu dilihat untuk:
1. Membaca data untuk setiap transaksi bila data bisa dibaca sekali dan disimpan dalam cache atau penyimpanan kerja;
2. Membaca ulang data untuk transaksi dimana data dibacakan sebelumnya dalam transaksi yang sama;
3. Menyebabkan tidak perlu meja atau scan indeks;
4. Tidak menetapkan nilai-nilai kunci pada klausa WHERE dari pernyataan SQL.
Jangan
melakukan sesuatu dua kali dalam menjalankan batch. Misalnya, jika Anda
membutuhkan data summarization untuk keperluan pelaporan, selisih
disimpan total jika mungkin saat awalnya data sedang diproses, sehingga
aplikasi pelaporan Anda tidak perlu memproses ulang data yang sama.
Mengalokasikan memori yang cukup pada awal aplikasi batch untuk
menghindari realokasi memakan waktu selama proses tersebut. Selalu
mengasumsikan yang terburuk berkaitan dengan integritas data. Masukkan
pemeriksaan yang memadai dan validasi record untuk menjaga integritas
data.
Melaksanakan
checksums untuk validasi internal di mana mungkin. Sebagai contoh, file
datar harus memiliki catatan trailer menceritakan total catatan dalam
file dan agregat bidang kunci. Merencanakan dan melaksanakan tes stres
sedini mungkin dalam lingkungan produksi seperti dengan volume data yang
realistis.
Dalam
batch backup sistem yang besar dapat menantang, terutama jika sistem
berjalan bersamaan dengan on-line secara 24-7. Database backup biasanya
diurus dengan baik dalam desain on-line, tetapi file backup harus
dianggap sama pentingnya. Jika sistem tergantung pada file flat, file
prosedur cadangan tidak hanya berada di tempat dan didokumentasikan,
tetapi juga diuji secara teratur.
2. Strategi Pengolahan Batch
Untuk
membantu merancang dan mengimplementasikan sistem batch, batch blok
aplikasi dan pola dasar pembangunan harus disediakan untuk para desainer
dan programer dalam bentuk grafik struktur sampel dan kerang kode.
Ketika mulai desain pekerjaan batch, logika bisnis harus didekomposisi
menjadi serangkaian langkah-langkah yang dapat diimplementasikan dengan
menggunakan blok bangunan standar berikut:
Konversi Aplikasi:
Untuk
setiap jenis file yang disediakan oleh atau yang dihasilkan ke sistem
eksternal, aplikasi konversi perlu diciptakan untuk mengubah catatan
transaksi yang disertakan ke dalam format standar yang diperlukan untuk
diproses. Jenis aplikasi batch dapat sebagian atau seluruhnya terdiri
dari utilitas terjemahan modul (lihat Dasar Batch Layanan).
1. Validasi Aplikasi:
Aplikasi
Validasi memastikan bahwa semua input / output catatan benar dan
konsisten. Validasi biasanya didasarkan pada header file dan trailer,
dan algoritma checksum validasi serta tingkat catatan pemeriksaan
silang.
2. Ambil Aplikasi:
Sebuah
aplikasi yang membaca satu set catatan dari database atau file input,
memilih catatan berdasarkan aturan yang telah ditetapkan, dan menulis
catatan ke file output.
3. Ekstrak / Update Aplikasi:
Sebuah
aplikasi yang membaca data dari database atau file masukan, dan membuat
perubahan pada database atau output file didorong oleh data yang
ditemukan di setiap record input.
4. Pengolahan dan Memutakhirkan Aplikasi:
Sebuah
aplikasi yang melakukan proses transaksi input dari ekstrak atau
aplikasi validasi. pemrosesan biasanya akan melibatkan membaca database
untuk memperoleh data yang diperlukan untuk pengolahan, berpotensi
pembaruan basis data dan membuat catatan untuk pemrosesan output.
5. Output Aplikasi Format /:
Aplikasi
membaca file input, merestrukturisasi data dari catatan ini sesuai
dengan format standar, dan menghasilkan output file untuk pencetakan
atau transmisi ke program lain atau sistem.
Selain
aplikasi dasar shell harus disediakan untuk logika bisnis yang tidak
dapat dibangun dengan menggunakan blok bangunan yang telah disebutkan
sebelumnya. Selain blok bangunan utama, setiap aplikasi dapat
menggunakan satu atau lebih dari langkah-langkah utilitas standar,
seperti:
1. Urutkan
Program
yang membaca file input dan menghasilkan output file mana catatan telah
kembali diurutkan menurut bidang semacam kunci dalam catatan. Macam
biasanya dilakukan oleh sistem utilitas standar.
2. Split
Sebuah
program yang membaca sebuah file input tunggal, dan menulis catatan
masing-masing ke salah satu dari beberapa output file berdasarkan nilai
lapangan. Splits dapat disesuaikan atau dilakukan oleh parameter-driven
utilitas standar sistem.
3. Merge
Sebuah
program yang membaca catatan dari beberapa input file dan menghasilkan
satu file output dengan data gabungan dari file input. Penggabungan
dapat disesuaikan atau dilakukan oleh parameter-driven utilitas standar
sistem.
3. Batch Aplikasi Tambahan Dapat Dikategorikan Oleh Sumber Masukan
1. Database
aplikasi berbasis didorong oleh baris atau nilai diambil dari database.
File aplikasi berbasis didorong oleh catatan atau nilai diambil dari
sebuah file. Pesan aplikasi berbasis didorong oleh pesan diambil dari
antrian pesan.
2. Landasan
dari setiap sistem batch adalah strategi pengolahan. Faktor-faktor yang
mempengaruhi pemilihan strategi meliputi: batch volume sistem
diperkirakan, konkurensi dengan on-line atau dengan sistem lain batch,
windows batch tersedia (dan dengan perusahaan lebih ingin menjadi dan
berjalan 24×7, ini tidak meninggalkan jendela batch jelas).
4. Pilihan Pengolahan Khas Untuk Batch Adalah
1. Normal pengolahan di jendela batch selama off-line
2. Batch serentak / pengolahan on-line
3. Pengolahan
paralel banyak menjalankan batch yang berbeda atau pekerjaan pada saat
yang sama Partisi (pengolahan yaitu banyak contoh pekerjaan yang sama
pada saat yang sama)
4. Kombinasi ini (Partisi Menggunakan partisi)
Urutan
dalam daftar di atas mencerminkan kompleksitas pelaksanaan, pengolahan
di jendela batch yang paling mudah dan partisi yang paling kompleks
untuk diimplementasikan.
Beberapa
atau semua pilihan ini mungkin tidak didukung oleh penjadwal komersial.
Pada bagian berikut ini pilihan pengolahan dibahas lebih terinci.
Adalah penting untuk menyadari bahwa komit dan strategi mengunci
diadopsi oleh proses batch akan bergantung pada jenis pengolahan
dilakukan, dan sebagai patokan dan mengunci strategi on-line juga harus
menggunakan prinsip yang sama. Oleh karena itu, arsitektur batch tidak
dapat sekedar renungan ketika merancang arsitektur secara keseluruhan.
Strategi
penguncian dapat menggunakan kunci database hanya normal, atau layanan
tambahan penguncian kustom dapat diimplementasikan dalam arsitektur.
Layanan penguncian akan melacak penguncian database (misalnya dengan
menyimpan informasi yang diperlukan dalam tabel-db dedicated) dan
memberikan atau menolak izin untuk program aplikasi meminta operasi db.
Coba lagi logika juga dapat diterapkan oleh arsitektur ini untuk
menghindari batal pekerjaan batch dalam kasus situasi kunci.
1. Pengolahan
normal di jendela batch batch sederhana Untuk proses yang berjalan di
jendela terpisah batch, dimana data yang diperbarui tidak diperlukan
oleh pemakai online atau proses batch lainnya, konkurensi tidak menjadi
masalah dan komit tunggal dapat dilakukan pada akhir dari menjalankan
batch.
Dalam
kebanyakan kasus pendekatan yang lebih kuat yang lebih sesuai. Hal yang
perlu diingat adalah bahwa sistem batch memiliki kecenderungan untuk
tumbuh waktu berjalan dengan, baik dari segi kompleksitas dan volume
data yang akan menangani. Jika tidak ada strategi penguncian adalah di
tempat dan sistem yang masih mengandalkan komit titik tunggal,
memodifikasi program batch bisa menyakitkan. Oleh karena itu, bahkan
dengan batch sistem sederhana, mempertimbangkan kebutuhan untuk
melakukan logika untuk pilihan restart-recovery serta informasi mengenai
kasus-kasus yang lebih kompleks di bawah ini.
2. Batch
serentak / on-line aplikasi Batch Pengolahan data yang secara bersamaan
dapat diperbarui oleh pengguna on-line, tidak harus mengunci data
apapun (baik dalam database atau file) yang dapat diminta oleh pengguna
on-line selama lebih dari beberapa detik. Update juga harus berkomitmen
untuk database pada akhir setiap transaksi sedikit. Ini meminimalkan
bagian data yang tidak tersedia untuk proses lainnya dan waktu yang
telah berlalu data tidak tersedia.
Pilihan
lain untuk meminimalisir penguncian fisik adalah memiliki penguncian
tingkat-baris logis diimplementasikan dengan baik sebagai Optimis
Mengunci Pola atau Pola Mengunci Pesimistis.
Penguncian Optimis
menganggap rendah dan kemungkinan pertentangan catatan. Ini biasanya
berarti menyisipkan kolom timestamp di setiap tabel database yang
digunakan secara bersamaan oleh kedua batch dan pengolahan on-line. Bila
aplikasi yang menjemput baris untuk pengolahan, juga menjemput cap
waktu itu. Sebagai aplikasi kemudian mencoba untuk memperbarui baris
diproses, memperbarui menggunakan cap waktu asli dalam klausa WHERE.
Jika cap waktu cocok, data dan informasi waktu akan berhasil diupdate.
Jika cap waktu tidak cocok, ini menunjukkan bahwa aplikasi lain telah
diperbarui baris yang sama antara mengambil dan upaya pembaruan dan
karena itu update tidak dapat dilakukan.
Penguncian Pesimistis
adalah setiap strategi penguncian yang mengasumsikan ada kemungkinan
rekor tinggi dan karena itu pertentangan baik kunci fisik atau logis
perlu diperoleh pada waktu pengambilan. Salah satu jenis penguncian
logis pesimis menggunakan kunci khusus-kolom dalam tabel database. Bila
aplikasi yang mengambil baris untuk update, itu set bendera dalam kolom
kunci. Dengan bendera di tempat, aplikasi lain mencoba untuk mengambil
baris yang sama secara logis akan gagal. Bila aplikasi yang mengatur
update bendera baris, juga membersihkan bendera, sehingga baris yang
akan diambil oleh aplikasi lain. Harap dicatat, bahwa integritas data
harus dijaga juga antara fetch awal dan pengaturan bendera, misalnya
dengan menggunakan kunci db (misalnya, SELECT UNTUK UPDATE). Perhatikan
juga bahwa metode ini menderita dari downside sama seperti penguncian
fisik kecuali yang agak lebih mudah untuk mengelola membangun mekanisme
time-out yang akan mendapatkan kunci dirilis jika pengguna pergi untuk
makan siang saat merekam terkunci.
Pola
ini tidak selalu cocok untuk batch processing, tetapi mereka dapat
digunakan untuk batch konkuren dan pengolahan on-line (misalnya dalam
kasus-kasus dimana database tidak mendukung penguncian tingkat-baris).
Sebagai aturan umum, penguncian optimis lebih cocok untuk aplikasi
on-line, sedangkan penguncian pesimis lebih cocok untuk aplikasi batch.
Setiap kali penguncian logis digunakan, skema yang sama harus digunakan
untuk semua aplikasi yang mengakses data yang dilindungi oleh entitas
kunci logis.
Perhatikan
bahwa kedua solusi ini hanya alamat penguncian record tunggal.
Seringkali kita mungkin perlu untuk mengunci kelompok secara logis
terkait rekaman. Dengan kunci fisik, Anda harus mengatur ini sangat
hati-hati untuk menghindari kebuntuan potensial. Dengan kunci logis,
biasanya terbaik untuk membangun manajer kunci logis yang memahami
kelompok-kelompok catatan logis Anda ingin melindungi dan dapat
memastikan bahwa kunci yang koheren dan non-deadlocking. Ini manajer
kunci logis biasanya menggunakan tabel sendiri untuk manajemen kunci,
pelaporan pendapat, time-out mekanisme, dll
3. Paralel
Paralel Pengolahan pengolahan memungkinkan menjalankan beberapa batch /
pekerjaan berjalan secara paralel untuk meminimalkan waktu pemrosesan
batch total berlalu. Ini bukan masalah selama pekerjaan yang tidak
berbagi file yang sama, db-meja atau ruang indeks. Jika mereka
melakukannya, layanan ini harus dilaksanakan dengan menggunakan data
dipartisi. Pilihan lain adalah untuk membangun sebuah modul arsitektur
untuk menjaga saling ketergantungan menggunakan tabel kontrol. Sebuah
meja kontrol harus berisi baris untuk setiap sumber daya bersama dan
apakah itu sedang digunakan oleh aplikasi atau tidak. Arsitektur batch
atau aplikasi dalam pekerjaan paralel kemudian akan mengambil informasi
dari tabel bahwa untuk menentukan apakah itu bisa mendapatkan akses ke
sumber daya yang dibutuhkan atau tidak.
Jika
akses data tidak masalah, pengolahan paralel dapat diterapkan melalui
penggunaan benang tambahan untuk memproses secara paralel. Dalam
lingkungan mainframe, kelas paralel pekerjaan secara tradisional telah
digunakan, untuk memastikan waktu yang cukup CPU untuk semua proses.
Apapun, solusi yang harus cukup kuat untuk memastikan interval waktu
untuk semua proses yang berjalan.
Isu-isu
penting lainnya dalam pengolahan paralel mencakup load balancing dan
ketersediaan sumber daya sistem umum seperti file, database buffer kolam
dll Juga catat bahwa tabel kontrol sendiri dengan mudah dapat menjadi
sumber daya kritis.
4. Partisi
Menggunakan partisi memungkinkan beberapa versi aplikasi batch besar
untuk dijalankan secara bersamaan. Tujuan dari ini adalah untuk
mengurangi waktu yang dibutuhkan untuk memproses berlalu batch pekerjaan
lama. Proses yang dapat dipartisi adalah yang berhasil di mana file
input dapat dibagi dan / atau tabel database utama dipartisi untuk
memungkinkan aplikasi untuk dijalankan terhadap set data yang berbeda.
Selain
itu, proses yang dipartisi harus dirancang untuk hanya memproses data
mereka ditugaskan ditetapkan. Sebuah arsitektur partisi harus terkait
erat dengan desain database dan strategi partisi database. Harap
dicatat, bahwa partisi database tidak selalu berarti partisi fisik dari
database, walaupun dalam banyak kasus ini adalah dianjurkan. Gambar
berikut ini menggambarkan pendekatan partisi:
Arsitektur
harus cukup fleksibel untuk memungkinkan konfigurasi dinamis jumlah
partisi. Kedua konfigurasi dikendalikan otomatis dan pengguna harus
dipertimbangkan. Konfigurasi otomatis mungkin didasarkan pada parameter
seperti ukuran file input dan / atau jumlah record input.
4.1.
Partisi Pendekatan Berikut ini daftar beberapa pendekatan partisi
mungkin. Memilih pendekatan partisi harus dilakukan berdasarkan kasus
per kasus.
1. Tetap dan Bahkan Break-Up of Record Set
Hal
ini melibatkan memecahkan rekor input set menjadi nomor bahkan dari
bagian (misalnya 10, dimana setiap bagian akan memiliki tepat 1/10th
dari catatan seluruh set). Setiap bagian kemudian diolah dengan satu
contoh bets / ekstrak aplikasi.
Untuk
menggunakan pendekatan ini, preprocessing akan diminta untuk membagi
recordset up. Hasil split ini akan menjadi nomor penempatan batas bawah
dan atas yang dapat digunakan sebagai input ke batch / ekstrak aplikasi
untuk membatasi pemrosesan untuk porsinya sendiri.
Preprosesing bisa menjadi overhead besar karena harus menghitung dan menentukan batas-batas setiap bagian catatan set.
2. Breakup oleh Kolom Kunci
Hal
ini melibatkan memecah rekor input yang ditetapkan oleh kolom kunci
seperti kode lokasi, dan data menetapkan dari setiap tombol ke turunan
batch. Untuk mencapai hal ini, nilai kolom dapat menjadi
3. Ditetapkan ke batch contoh tabel partisi melalui (lihat di bawah untuk rinciannya).
4. Ditugaskan ke turunan curah dengan sebagian nilai (misalnya nilai 0000-0999, 1000-1999, dll)
Di
bawah opsi 1, penambahan nilai-nilai baru akan berarti konfigurasi
manual bets / ekstrak untuk memastikan bahwa nilai baru ditambahkan ke
contoh tertentu.
Di
bawah opsi 2 ini akan memastikan bahwa semua nilai ditanggung melalui
sebuah instance dari pekerjaan batch. Namun, jumlah nilai yang diproses
oleh satu contoh adalah tergantung pada penyebaran nilai-nilai kolom
(yaitu mungkin ada sejumlah besar lokasi di kisaran 0.000-0.999, dan
sedikit dalam rentang 1000-1999). Di bawah pilihan ini, rentang data
harus dirancang dengan partisi dalam pikiran.
Dalam
kedua pilihan, bahkan distribusi optimal catatan terhadap kasus batch
tidak dapat direalisasikan. Tidak ada konfigurasi dinamis jumlah batch
contoh yang digunakan.
5. Perpisahan oleh Tampilan
Pendekatan
ini pada dasarnya Breakup dengan kolom kunci, namun pada tingkat
database. Ini melibatkan putus recordset ke dalam pandangan. Pandangan
ini akan digunakan oleh setiap instance dari aplikasi batch selama
pengolahannya. Breakup akan dilakukan dengan mengelompokkan data.
Dengan
pilihan ini, setiap instance dari aplikasi batch harus dikonfigurasi
untuk mencapai pandangan tertentu (bukan tabel master). Juga, dengan
penambahan nilai-nilai data baru, kelompok baru ini data harus
dimasukkan ke dalam tampilan. Tidak ada kemampuan konfigurasi dinamis,
sebagai perubahan dalam jumlah kasus akan mengakibatkan perubahan untuk
tampilan.
6. Penambahan sebuah Indikator Pengolahan
Hal
ini melibatkan penambahan kolom baru pada tabel input, yang bertindak
sebagai indikator. Sebagai langkah preprocessing, semua indikator akan
ditandai untuk non-olahan. Selama tahap mengambil catatan aplikasi
batch, catatan dibaca pada kondisi bahwa catatan ditandai non-olahan,
dan begitu mereka membaca (dengan kunci), mereka ditandai pengolahan.
Ketika selesai merekam, indikator diperbarui baik lengkap atau
kesalahan. Banyak contoh aplikasi batch dapat dimulai tanpa perubahan,
sebagai kolom tambahan memastikan bahwa sebuah record hanya diproses
sekali.
Dengan
pilihan ini, I / O pada tabel meningkat secara dinamis. Dalam kasus
aplikasi batch update, dampak ini berkurang, sebagai tulis akan tetap
harus terjadi.
7. Extract Tabel ke Flat File
Hal
ini melibatkan ekstraksi tabel menjadi file. File ini kemudian dapat
dipecah menjadi beberapa segmen dan digunakan sebagai masukan bagi
instansi batch.
Dengan
pilihan ini, biaya tambahan untuk penggalian meja ke sebuah file, dan
proses pemisahan itu, dapat membatalkan efek multi-partisi. Dynamic
konfigurasi dapat dicapai melalui pemisahan mengubah file script.
8. Penggunaan Kolom Hashing
Skema
ini melibatkan penambahan kolom hash (kunci / indeks) ke tabel database
digunakan untuk mengambil catatan driver. Hash kolom ini akan memiliki
indikator untuk menentukan turunan dari aplikasi batch akan proses ini
baris tertentu. Misalnya, jika ada kasus batch tiga harus dimulai, maka
indikator ‘A’ akan menandai baris yang untuk diproses oleh misalnya 1,
indikator ‘B’ akan menandai baris yang untuk diproses oleh misalnya 2,
dll
Prosedur
yang digunakan untuk mengambil catatan kemudian akan memiliki klausa
WHERE tambahan untuk memilih semua baris ditandai dengan indikator
tertentu. The memasukkan dalam tabel ini akan melibatkan penambahan
bidang penanda, yang akan gagal untuk salah satu contoh (misalnya ‘A’).
Sebuah
aplikasi batch sederhana akan digunakan untuk memperbarui indikator
seperti untuk mendistribusikan beban antara kasus yang berbeda. Ketika
sejumlah cukup besar baris baru telah ditambahkan, batch ini dapat
dijalankan (kapan saja, kecuali di jendela batch) untuk mendistribusikan
kembali baris baru terhadap kasus lainnya.
Tambahan
contoh dari aplikasi batch hanya membutuhkan jalannya aplikasi batch
seperti di atas untuk mendistribusikan indikator untuk melayani nomor
baru contoh.
4.2. Database dan desain Prinsip Aplikasi
Sebuah
arsitektur yang mendukung aplikasi multi-partisi yang dijalankan
terhadap tabel database dipartisi menggunakan pendekatan kolom kunci,
harus menyertakan sebuah repositori pusat partisi untuk menyimpan
parameter partisi. Ini memberikan fleksibilitas dan memastikan rawatan.
Repositori biasanya akan terdiri dari satu tabel dikenal sebagai tabel
partisi.
Informasi
yang tersimpan dalam tabel partisi akan statis dan secara umum harus
dipelihara oleh DBA. tabel harus terdiri dari satu baris informasi untuk
setiap partisi dari aplikasi multi-dipartisi. tabel harus memiliki
kolom untuk: Program ID Code, Partisi Nomor (Logis ID partisi), rendah
Nilai kolom kunci db untuk partisi ini, Tinggi Nilai kolom kunci db
untuk partisi ini.
Pada
program start-up program dan id nomor partisi yang harus dilalui untuk
aplikasi dari arsitektur (Control Pengolahan Tasklet). Variabel ini
digunakan untuk membaca tabel partisi, untuk menentukan apa yang
sejumlah data aplikasi adalah proses (jika pendekatan kolom kunci
digunakan). Selain nomor partisi harus digunakan di seluruh pengolahan:
Tambahkan
ke file output / update database agar proses penggabungan untuk bekerja
dengan baik Laporan normal pengolahan log batch dan setiap kesalahan
yang terjadi selama proses eksekusi terhadap penangan kesalahan
arsitektur.
4.3.
Meminimalkan kebuntuan Ketika aplikasi dijalankan di contention paralel
atau dipartisi, sumber daya database dan deadlock dapat terjadi.
Juga
memastikan bahwa tabel database indeks ini dirancang dengan pencegahan
kebuntuan dan kinerja dalam pikiran. Kebuntuan atau hot spot sering
terjadi dalam administrasi atau arsitektur tabel seperti tabel log, meja
kontrol, dan tabel kunci. Implikasi dari hal ini harus diperhitungkan
juga. Stress test yang realistis sangat penting untuk mengidentifikasi
kemungkinan kemacetan di arsitektur.
Untuk
meminimalkan dampak konflik pada data, arsitektur harus menyediakan
layanan seperti menunggu-dan-coba lagi interval ketika melekat pada
database atau ketika menghadapi kebuntuan. Ini berarti mekanisme
built-in untuk bereaksi terhadap kode kembali database tertentu dan
bukannya mengeluarkan sebuah penanganan error langsung, menunggu jumlah
yang telah ditetapkan waktu dan mencoba kembali operasi database.
4.4. Parameter Passing dan Validasi
Arsitektur
partisi harus relatif transparan untuk pengembang aplikasi. Arsitektur
harus melakukan semua pekerjaan yang berhubungan dengan menjalankan
aplikasi dalam mode dipartisi termasuk:
a. Ambil partisi parameter sebelum aplikasi start-up
b. Validasi partisi parameter sebelum aplikasi start-up
c. Pass Parameter ke aplikasi saat start-up
Validasi harus termasuk pemeriksaan untuk memastikan bahwa:
a. Aplikasi memiliki partisi yang cukup untuk menutup seluruh data rentang
b. Tidak ada kesenjangan antara partisi dan menjamin bahwa tidak satu partisi partisi span database.
B. ONLINE PROCESSING
Merupakan
sebuah sistem yang mengaktifkan semua periferal sebagai pemasok data,
dalam kendali komputer induk. Informasi-informasi yang muncul merupakan
refleksi dari kondisi data yang paling mutakhir, karena setiap
perkembangan data baru akan terus diupdatekan ke data induk.
Pemrosesan
online dikembangkan untuk mengatasi masalah file yang ketinggalan
jaman. Terobosan teknologi yang memungkinkan pengolahan online adalah
penyimpanan piringan magnetik. Setiap transaksi diproses pada semua file
master yang berkaitan sementara data transaksi berada dalam penyimpanan
primer. Catatan persediaan yang sesuai dibaca dalam penyimpanan primer,
diperbarui dengan data transaksi, kemudian ditulis kembali pada DASD.
Kemudian catatan piutang diperbarui dengan cara yang sama, dilanjutkan
dengan catatan analisis penjualan. Ketiga file DASD tersebut diperbarui
sebelum transaksi selanjutnya dimasukkan.
Salah satu contoh penggunaan online processing adalahtransaksi online (E-commerce, Ebay, Internet Banking, Reservation Ticket, Pendaftaran Online,dll).
Dalam sistem pengolahan online, transaksi secara individual dientri
melalui peralatan terminal, divalidasi dan digunakan untuk meng-update
dengan segera file komputer. Hasil pengolahan ini kemudian tersedia
segera untuk permintaan keterangan atau laporan.
Salah Satu Contoh Perkembangan Online Processing (E-Commerce).
Perkembangan teknologi informasi saat ini sangatlah pesat. Kebutuhan masyarakat akan
informasi pun meningkat seiiring berkembangnya teknologi informasi.
Perkembangan teknologi informasi yang paling berkembang di masyarakat
saat ini adalah teknologi jaringan internet. Kebutuhan masyarakat akan
informasi pun terjawab dengan adanya teknologi jaringan internet yang
bisa memenuhi kebutuhan akan informasi dengan cepat. Masyarakat dari
berbagai kalangan pun sudah tak asing lagi dengan teknologi jaringan
internet ini. Mereka sudah bisa mengakses atau menggunakan jaringan internet sesuai kebutuhan mereka, ada yang memanfaatkan jaringan Wi-fi (Wireless
Fidelity) yang memungkinkan seseorang dengan komputer dengan kartu
nirkabel (wireless card) atau personal digital assistant (PDA) untuk
terhubung dengan internet dengan menggunakan titik akses (atau dikenal
dengan hotspot) terdekat, ada juga yang mengunakan layanan dari berbagai
provider. Belum lagi saat ini semua
provider bersaing untuk memberikan fasilitas internet pada telphone
genggam dengan gratis atau tarif yang sangat rendah. Dengan demikian
kapan pun, di mana pun semua orang sudah bisa mengakses internet.
Di
dunia usaha, perkembangan teknologi informasi digunakan untuk
mempermudah pekerjaan karyawan, menghemat waktu dalam pekerjaan, membuat
laporan usaha,dan juga bisa
sebagai media promosi dan transaksi. Dengan membuat sebuah situs web
(website) dan mendaftarkannya ke jaringan internet, sebuah perusahaan
dapat mempromosikan usahanya, memberikan informasi, sarana komunikasi
dan juga bisa melakukan transaksi
dengan konsumen tanpa harus bertatap muka, kegiatan ini di sebut dengan
E-commerce. E-Commerce merupakan salah satu fasilitas yang mendukung
dalam kegitan jual-beli yang dilakukan secara elektronik. Dengan
E-Commerce ini dimungkinkan terjadinya kegitan transaksi jual-beli
dengan kecepatan sangat tinggi jika dibandingkan dengan kecepatan
kegiatan transaksi secara konvensional (tatap muka) Karena sifat jaringan internet yang mendunia, oleh karena itu perusahaan dapat menjangkau konsumen dari berbagai daerah bukan hanya wilayah domestik saja bahkan bisa menjangkau kawasan mancanegara.
Banyak perusahaan yang menggunakan E-Commerce untuk mendukung kegiatan pembelian dan
penjualan, pemasaran produk, jasa, dan informasi lainnya. CV. Maju Raya
merupakan salah satu badan usaha yang bergerak di bidang percetakan.
Perusahaan ini sangat
memperhatikan kepuasan konsumennya dalam jasa percetakannya. Media
promosi yang sudah dilakukan perusahaan untuk memberikan informasi
tentang perusahaan dirasakan masih kurang. Sering terjadi kesalahan dalam penulisan nama di kartu undangan,
dikarenakan kesalahan teknis dari konsumen ataupun bisa juga dari pihak
karyawan dan sering terjadi kesulitan dalam mencari data konsumen.
Dengan dibangunnya E-Commerce, konsumen tidak perlu datang secara fisik
cukup via internetsemua kegiatan transaksi bisa di lakukan.
Dengan
menggunakan E-commerce dapat dijadikan solusi untuk membantu perusahaan
dalam mengembangkan perusahaan dan menghadapi tekanan bisnis. Tingginya
tekanan bisnis yang muncul akibat tingginya tingkat persaingan
menharuskan perusahaan untuk dapat memberikan respon. Penggunaan
E-commerce dapat meningkatkan efisiensi biaya dan produtifitas
perusahaan, sehingga dapat meningkatkan kemampuan perusahaan dalam
bersaing.
Pada
online processing, data yang dimasukkan atau diinput akan langsung
dimasukkan ke dalam database untuk mengupadate master file pada saat itu
juga.Waktu yang dibutuhkan untuk mengupdate database relatif lebih
cepat daripada batch processing. Online processing lebih ditunjukan
untuk pengolahan data yang memerlukan suatu tingkat transaksi dengan
kecepatan tinggi, karena kebutuhan informasi yang harus segera diperoleh
pada saat yang sama.
C. Realtime System
Sistem Real Time merupakan
suatu sistem pengolahan data yang membutuhkan tingkat transaksi dengan
kecepatan tinggi. Hal ini mengingat bahwa kebutuhan transaksi harus
diperoleh pada saat yang sama, sebagai bagian dari pengendalian sistem
secara keseluruhan. Sistem ini memungkinkan untuk mengirimkan data ke
komputer pusat, diproses di komputer pusat seketika pada saat diterima
dan kemudian mengirimkan kembali hasil pengolahan ke pengirim data saat
itu juga.
Suatu
realtime system memungkinkan untuk mengirimkan data ke pusat komputer,
diproses di pusat komputer seketika pada saat data diterima dan kemudia
mengirimkan kembali hasil pengolahan ke pengirim data saat itu juga.
American Airlines merupakan perusahaan yang pertama kali mempelopori
sistem ini. Dengan realtime system ini, penumpang pesawat terbang dari
suatu bandara atau agen tertentu dapat memesan tiket untuk suatu
penerbangan tertentu dan mendapatkan hasilnya kurang dari 15 detik,
hanya sekedar untuk mengetahui apakah masih ada tempat duduk di pesawat
atau tidak.
Sistem
ini memungkinkan untuk mengirimkan data ke komputer pusat, diproses di
komputer pusat seketika pada saat diterima dan kemudian mengirimkan
kembali hasil pengolahan ke pengirim data saat itu juga.
Pada sistem Real Time,
pengolahan data harus berpusat pada CPU yang relatif besar karena
sistem ini didukung dengan sistem operasi yang rumit dan sistem aplikasi
yang panjang dan kompleks. Hal itu juga mengingat diperlukannya memori
penyimpanan yang cukup besar untuk menampung antrian data pesan-pesan
dari terminal.
Kemudian file induk atau master file harus
diupdate dan harus tersedia setiap saat jika dipergunakan sehingga
diperlukan sentralisasi dalam pengorganisasian file agar sistem bisa
lebih efektif dan efisien. Disamping itu, mengingat file-file tersebut
harus selalu siap sedia setiap saat jika dibutuhkan dalam pengolahan
data, maka file-file tersebut harus disimpan pada input output device yang bisa diakses secara langsung.
Sistem
realtime ini juga memungkinkan penghapusan waktu yang diperlukan untuk
pengumpulan data dan distribusi data. Dalam hal ini berlaku komunikasi
dua arah, yaitu pengiriman dan penerimaan respon dari pusat komputer
dalam waktu yang relatif cepat. Penggunaan sistem ini memerlukan suatu
teknik dalam hal sistem disain, dan pemrograman, hal ini disebabkan
karena pada pusat komputer dibutuhkan suatu bank data atau database yang
siap untuk setiap kebutuhan. Biasanya peralatan yang digunakan sebagai
database adalah magnetic disk storage, karena dapat mengolah secara direct access (akses langsung), dan perlu diketahui bahwa pada sistem ini menggunakan kemampuan multiprogramming, untuk melayani berbagai macam keperluan dalam satu waktu yang sama.
sumber: http://en.wikipedia.org/wiki/Batch_processing