Komputer, Teknologi informasi
Apa transaksi? sistem pemrosesan transaksi
Dalam dunia di mana semuanya berubah begitu cepat, kita tidak bisa untuk menit berhenti. Hal ini berlaku untuk penerimaan informasi baru. istilah yang tidak diketahui atau versi terbaru dari perangkat lunak - itu adalah kesempatan untuk mengisi pengetahuan di daerah tertentu. Hari ini kita akan berbicara tentang apa transaksi, cara kerjanya.
Pengantar terminologi
Berbagai software untuk mengotomatisasi proses bisnis mapan di pasar dalam 15 tahun terakhir. Hal ini membutuhkan kemampuan untuk bekerja dengan perangkat lunak pada berbagai tingkat interaksi: sebagai operator, programmer, akuntan, dll Oleh karena itu, penting untuk memahami beberapa mekanisme program. Untuk memulai, mari kita berurusan dengan seperti sering dan menakutkan banyak istilah transaksi. Paling sering, meminjam kata-kata yang indah yang tersembunyi jauh dari fenomena yang kompleks, karena banyak menyadari, mengucapkan istilah baru, mencoba dengan telinga. Mari kita memahami bahwa transaksi tersebut.
definisi
Notasi ini digunakan untuk mengacu pada setiap produk yang mengimplementasikan database. Beberapa operasi logis digabungkan menjadi satu dan berjalan bergantian satu sama lain, dan ada transaksi. Dalam kehidupan sehari-hari, transaksi dapat dianggap sebagai rantai prosedur seperti "terjaga - dicuci - berpakaian - sarapan - pergi bekerja."
Pertimbangkan konsep di atas untuk produk Contoh 1C. Transaksi - ini adalah urutan terpisahkan yang sama. Sebuah model yang baik dapat berfungsi sebagai catatan unit komoditas: membuka direktori yang diinginkan, membuat entri baru, mengisi bidang yang tersedia. Untuk memastikan bahwa semua tindakan ini telah menyebabkan hasil yang diinginkan, perlu untuk menerapkan mereka secara ketat dari pertama sampai terakhir. Hanya kemudian prosedur akan dianggap sukses. Jika tidak, transaksi dibatalkan.
Proses ini dapat berupa otomatis, yang disediakan dalam sistem, dan secara manual oleh pengembang untuk menyelesaikan setelah membeli produk jadi untuk membuat yang terakhir lebih mudah bagi pengguna dari perusahaan tertentu. Selain itu, modus otomatis, ketika perilaku sistem diatur oleh built-in mekanisme, transaksi dapat dikonversi untuk berjalan.
Transaksi di 1C: seluk-beluk bahasa built-in
Apa adalah transaksi dalam kasus umum, kita dapat memahami. Tapi karena masing-masing perusahaan yang bergerak dalam pengembangan perangkat lunak, sehingga cara mereka sendiri, ada perbedaan tertentu antara transaksi pada umumnya dan transaksi di 1C pada khususnya. Sebagai contoh, bersarang (transaksi dalam transaksi) tidak didukung di 1C.
Dari sudut pandang operator sintaks built-in bahasa yang cukup sederhana. Memulai proses diumumkan oleh BeginTransaction prosedur khusus (). ZafiksirovatTranzaktsiyu () prosedur digunakan untuk mencatat modifikasi selama pelaksanaan tindakan. Jika dalam proses gagal, adalah mungkin OtmenitTranzaktsiyu () untuk membatalkan perubahan berkomitmen.
Mengapa menggunakan transaksi adalah lebih? Karena kode dalam prosedur ini jauh lebih cepat. Ini adalah untuk ini dan mencari programmer. Perbedaan kecepatan mungkin tidak terlihat jika pengguna 1C di kantor 1-2 karyawan, tetapi tidak mungkin untuk tidak merasa ketika datang ke seluruh departemen, pada saat yang sama untuk melakukan berbagai karya dalam program ini.
perangkap
Selain keuntungan jelas, yang terdiri dalam peningkatan serius dalam kecepatan membaca dan merekam saat bekerja dengan database, dalam transaksi ada minus. Mari kita kembali ke contoh sebelumnya hidup. Apa adalah transaksi yang tidak dilakukan oleh satu orang, dan seluruh keluarga? Setiap orang mencoba untuk masuk ke kamar mandi untuk mencuci sebelum semua orang di dapur karena itu waktu sarapan. Akibatnya, anggota keluarga tidak puas dengan satu sama lain. Paling-paling, itu hanya awal yang buruk hari, dan paling buruk - terlambat kerja, teguran dari atasannya, untuk menggagalkan.
Dalam program ini ada yang sama. Jika semua pengguna akan mulai memodifikasi data pada saat yang sama dalam dokumen yang sama, yang dianggap sebagai versi terakhir? Data apa yang digunakan untuk menyimpan? Untuk menghindari kebingungan seperti itu, ada mekanisme penguncian. Ini berarti bahwa sementara satu pengguna bekerja pada sebuah dokumen, yang kedua ditempatkan dalam antrian virtual dan menunggu. Setelah berhasil menyelesaikan atau rollback dokumen mungkin tidak bekerja pengguna berikutnya.
Atau mungkin tidak dikendalikan kunci?
Konsep transaksi tidak dapat sepenuhnya ditangani tanpa masalah kunci yang berlebihan. Apa kejahatan yang lebih besar: tidak adanya kunci yang mengarah ke proses abnormal membaca dan menulis dengan hasil yang salah pada output, atau terlalu banyak, operasi menghambat seluruh perusahaan?
Solusi terbaik - dikontrol kunci, yang merupakan rata-rata emas. Seorang programmer yang kompeten dapat menyesuaikan mekanisme yang ada dengan kebutuhan organisasi sehingga dokumen benar-benar penting diproses dalam antrian order. Menurut elemen konfigurasi yang sama, yang tidak memerlukan kunci, Anda dapat mengizinkan editing gratis.
Dengan demikian, analisis tepat waktu dari transaksi dan sikap yang benar untuk mengunci memungkinkan penuh penggunaan fleksibilitas dari sistem "1C: Enterprise" dan mengoptimalkan operasi database, meminimalkan kerugian waktu.
Apa yang menyebabkan kunci yang berlebihan?
Pertanyaannya adalah bukan retoris. Jika menghapus perlu kunci, akan ada kebingungan dan kekacauan. database akan mengumpulkan data yang salah karena saldo write-off simultan, atau, sebaliknya, akrual aset. Namun konsekuensi dari jenis tersebut yang akan muncul sekaligus. Pertama kali, pekerjaan akan pergi dengan cepat, menciptakan ilusi kebenaran dari pilihan kegagalan kunci. Di sisi lain, sejumlah besar kunci disalahpahami segera menyebabkan pesan kesalahan. "Tidak dapat menyelesaikan transaksi aman" - memperingatkan sistem kami. Apa artinya? Dua saling diblokir transaksi satu sama lain sehingga tidak dapat baik menyelesaikan pekerjaan, atau untuk melaksanakan pembatalan. Lingkaran setan "mati" transaksi akan menggantung di database sebelum deteksi, secara signifikan mengurangi kinerja sistem.
Tindakan operasi pembatalan yang tidak perlu untuk meningkatkan jumlah entri dalam log. Selain itu, sistem tersebut tidak layak, karena pengguna lebih besar hanya menguburnya di bawah berat "mati" kunci. Downtime selalu tumbuh. Bagaimana untuk menghindari situasi seperti itu?
tingkat isolasi - salah satu cara untuk tidak kandas
Terlepas dari kenyataan bahwa transaksi tersebut, kita disebutkan tentang perangkap. Melanjutkan analogi, kami yakin dapat menyatakan bahwa variasi dalam tingkat kunci - alat yang handal pilot pada perjalanan ke 1C laut. Ada dua tingkat isolasi: "read-only, tidak ada entri" dan "tidak ada rekaman atau membaca." Dalam pemilihan mode otomatis tidak tersedia. Tapi itu sudah cukup untuk menerjemahkan aplikasi dalam mode dikelola, dan Anda dapat menempatkan "pintar" pembatasan, memilih tidak hanya dokumen penting, tetapi juga menugaskan mereka sesuai tingkat isolasi.
Namun, pekerjaan yang dipentaskan - adalah, di atas semua, pencegahan situasi darurat, dan tidak hanya likuidasi tepat waktu telah terjadi kegagalan. Asisten database administrator akan menyediakan sistem pemrosesan transaksi. Hal ini berdasarkan data yang, bagaimana operasi pada sistem, apakah mereka telah berhasil diselesaikan atau dibatalkan, adalah mungkin untuk memprediksi perilaku lebih lanjut dari sistem dan mencegah potensi ancaman.
Ringkasan umum
Kita berurusan dengan definisi transaksi, dianggap sebagai flowchart proses dari dalam, berkenalan dengan cara yang berbeda mengatur operasi dalam basis informasi tunggal.
Seperti ditunjukkan, mekanisme ini tidak mudah, tapi mudah untuk memahami dan alamat yang lebih baik programmer bahkan pemula dan database administrator. metode pengendalian belum dapat dibawa ke kesempurnaan, dan untuk menghindari masalah dalam mode otomatis penuh, juga, tidak mungkin, tetapi, bagaimanapun, dengan masing-masing versi baru dari kehidupan pengembang perangkat lunak menjadi lebih mudah.
Similar articles
Trending Now