alexa-tracking

[ask]recover mysql query dengan java

Main Content

1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/53c6b7eabecb17b9268b4575/askrecover-mysql-query-dengan-java
[ask]recover mysql query dengan java
mohon bantuannya
di java dan mysql apa ada caranya untuk recover/resume query ketika server lagi bermasalah??

misalnya
saya mau update harga seluruh daftar barang yg berjumlah 30rb item dengan +10 persen dari modal(karena kurs dollar)

masalahnya, seandainya dalam proses query update server mengalami hang
misalnya dari 30rb item yg terupdate baru 10rb selanjutnya server hang

maka tentu akan sangat kesulitan mengetahui barang mana yg telah diupdate dan yg belum di update

nah,apakah ada caranya mendeteksi query yg belum di proses karena server hang dan melakukan proses resume update kembali sisa query yang belum di eksekusi??

apakah ada teknik query/program untuk masalah saya?mudah mudahan om mengerti maksud saya,thx
ane kurang paham gan, tp mungkin bisa di tambh 1 field last update di table barang, jadi kalo yg gak keupdate bisa bisa kelihat dari timenya
Quote:



maksudnya begini om, saya pengen update daftar barang yang berjumlah 30rb row, nah sekarang yg masalahnya
seandainya dalam proses update PC server mengalami hang ditengah jalan
dari 30rb row yg terupdate hanya 10rb row

darimana saya bisa mengetahui field mana yang sudah terupdate dan mana yang belum ?
terus adakah teknik program/mysql yang bisa resume query otomatis ketika mengetahui ada query yang belum di eksekusi ?

mudah mudahan om mengerti maksud saya

edted:
kalo tambah field lastupdate sih masuk akal, tapi akan sangat ribet kalo mau cek 1-1 tiap kali query, ini berarti tiap x query dalam jumlah besar harus pake field lastupdate
tapi adakah cara yang lebih bagus/sempurna begitu om emoticon-Belomatabelo
sundul gan
emoticon-Sundul Gan (S)emoticon-Sundul Gan (S)
nah panjang ceritanya ini
jadi gini,
biasanya ane klo yg beginian pasti ada dump log trx-nya
jadi ane dump 30ribu item itu jadi file txt
kemudian satu-satu ane eksekusi di sql,
semua yg udh dieksekusi, ane remove dari file txt

jadi file yg kesisa di txt, itu adalah file yg gagal di eksekusi
intinya buat yg begituan, jangan taro di aplikasi utama,
tapi bikin aplikasi yg berdiri sendiri yg khusus buat menangani yg kayak gitu

semoga bisa membantu gan
Quote:


jadi maksud om tiap kali ada query di masukkan dulu kedalam file txt begitu ?
terus kalo sudah di eksekusi dihilangkan satu per satu sampai habis file txt nya?
jadi kasus begituan hanya bisa dieksekusi oleh 1 client kah?
seandainya ada 2 client mengeksekusi txt yang sama gimana hasilnya? update 2x pada field yang sama ?
gw butuh bantuannya suhu emoticon-Big Grin
intinya gini
itu kan proses bulk yg ga perlu realtime,
biasanya yg kayak gini gw lepas dari aplikasi utama
supaya ga jadi beban buat aplikasi.

bikin file txtnya satu doang, selama file txt-nya masih ada ga bisa di-trigger oleh client lain lagi
lagipula aplikasi apaan sih kok aneh begini requeirementnya?
masa trigger 30k query oleh beberapa client emoticon-Bingung (S)
Quote:

maksudnya beberapa client disini, jika ada query lain yg butuh update sekaligus dalam jumlah banyak, misalnya begini

client A lagi proses update harga modal + 10% ,update total ada 30rb query

terus client B lagi proses update harga jual +15%, update total juga ada 30rb query

nah yg jadi pertanyaan tadi masalah beberapa client
seandainya kasusnya clientA lagi dump kedalam query.txt terus client B juga dump kedalam query.txt, jadi gimana dong ?

berarti jika clientA lagi dump ke dalam query.txt client yang lain harus menunggu dong ? berarti clientB nanti komp freeze dulu karena musti tunggu clientA selesai proses dump ? begitu

ato ada teknik lain ?

maap klo cerewet om, tp gw rasa informasi ini penting bro buat kedepan
loe kasih alert misalkan masih ada file .txt yg masih sedang keproses
isi alert tersebut --> "mohon maaf, masih ada proses yg sedang berjalan"
ga susah kok, gw yakin loe bisa lah
Quote:


oh jadi nanti di query gw harus cek apakah file query.txt ada atau tidak begitu?

jika ada -> alert, ada client yang sementara update

jika kosong-> lakukan dumping ke query.txt
begitu maksudnya?

berarti gw harus juga buat semacam code kecil sewaktu startup mysql memeriksa apakah masih terdapat query.txt begitu ? jika ada ekseskusi terlebih dahulu dengan menggunakan begin transaction
setelah selesai tutup dengan end transaction biar mysql ready for use
begitu maksudnya om?

im understand
emoticon-Big Grin emoticon-Big Grin
thx bro
emoticon-Kiss
×