Drop Database di Production
Ғылым және технология
Drop Database di Production
Artikel : resend.com/blog/incident-repo...
JOIN PREMIUM : kzread.info...
DISCORD PREMIUM : • Post
Donasi :
Saweria : saweria.co/ProgrammerZamanNow
Social Media :
Instagram : / programmerzamannow
Facebook : / programmerzamannow
Telegram : t.me/ProgrammerZamanNow
KZread : / programmerzamannow
Пікірлер: 162
Kejadian yang sama terjadi di kantor gue beberapa bulan lalu. Case nya sama persis, running database migration di local tapi env nya pointing ke production. Ga bisa direstore. Untungnya dari tim data punya data mirror, tapi transaksi hari yang sama hilang karena mirror nya perhari. Pelajaran penting, bener kata kang Eko, jangan pernah mau dikasih akses production.
@yahyaadinugraha1058
2 ай бұрын
Pantat seketika menguncup. Wkwk
@eichorcist
2 ай бұрын
Dipecat gak lu bang?
@hiwijaya
2 ай бұрын
@@eichorcist Bukan gue, temen gue. Ngga dipecat lah. Malah jadi pembelajaran penting buat tim. Sekarang gara2 kejadian itu, manajemen akses dikantor jadi lebih baik lagi.
@AdityoPratama
2 ай бұрын
@@hiwijaya Gak mungkin di pecat kayaknya, dari pengalaman2 biasanya yang punya akses prod pasti sepuh/suhu 🤣
@dawamraja1930
Ай бұрын
@@AdityoPratama tetep aja keringat dingin sih
kasus begini akan selalu menjadi legenda dan obrolan senior to junior atau new comer dikantor dengan pengantar awal... "lo pernah dengar kisah legend gk????"
Perbanyak konten kayak gini mas, seru belajar dari kejadian2 orang kyk gini wkwkwk
@MuhammadRidhoi-mm9yy
2 ай бұрын
setuju.. konten kyk gini tuh menjadi teman makan siang ku
Terimakasih banyak untuk insight nya Pak. 🙏otw bikin useful log 🚀
@ProgrammerZamanNow
3 ай бұрын
Sama2
satu lagi problem yg bisa terjadi saat pakai db migration adalah script "down" nya ga sesuai sama "up" nya. Mungkin karena buru buru terus asal copas script sebelumnya dan function down nya lupa disesuaikan. Alhasil tabel yg di drop ga sesuai. Tapi itu ga masalah kalo masih di local sih. Ga kebayang stress nya kalo harus ngalamin masalah itu di prod, amit amit.
hal yang paling ditakuti pas berurusan dengan db production: "4000 data entries have been affected"
@BantalGuling-sd6vl
2 ай бұрын
Njir pas baca aja agak merinding bro
@professorbrainstorm7765
2 ай бұрын
Salah ngefilter, ngeri euy 🗿
@user-nx5rr5sr9h
2 ай бұрын
Baru aja kemarin 180.000 huhu
@MrKeliv
2 ай бұрын
biasakan melakukan SELECT query terlebih dahulu. Baru melakukan update/delete
@KhairulHidayat
2 ай бұрын
Biasakan gunakan transaction
8:00 sama nih, gw juga paling ga mau dapet akses production
mantap sekali mas, saya senang sekali dengan video di channelnya mas eko. sampai hari inipun channel mas eko masih menjadi teman makan siang saya. terima kasihh mas 🙏🙏
Thank you mas eko untuk insightnya.
padahal hampir semua framework atau microframework memberikan peringatan ketika akan running migration di live (production). harus buat sekenario ketika akan naik ke live ya temen2pertama kali belajar windows 95, guru saya selalu bilang "baca peringatannya walaupun di bluescreen"...
@user-qs3mx2xs9q
2 ай бұрын
Mantap suhu
Pelajaran penting dr incident2 report semacam ini, trims mas eko utk sharing nya, sy pribadi ketika mau eksekusi cmd yg kira2 ber impact perubahan data, selalu memastikan pointing env nya dulu berkali2 🙏🙏🙏
Sangat bermanfaat
@ProgrammerZamanNow
2 ай бұрын
Semoga bermanfaat
ini cerita real banget, semua developer berpotensi melakukan kesalahan yang serupa, gw pernah ngedevelop web di laravel, dan bisa akses ke database production, waktu itu gw lagi mau migrate database untuk keperluan tambah relasi struktur database dan lupa untuk ubah env nya, trus gw jalanin aja itu php artisan migrate:fresh, beruntungnya itu akses database production butuh aktifkan vpn perusahaan jadinya migrate nya gagal dan baru sadar setelah di check di env (tangan dan lutut lemes seketika). semoga developer2 lain terhindar dari hal yang serupa.
Pernah kejadian juga di tempat kerja saya namun untungnya di env staging. Akhirnya kami pisahkan vpn untuk staging dan production sekalipun programmer senior dengan harapan saat development wajib menggunakan vpn staging.
Dikantor sekarang juga sama ga dapet akses production, awalnya aga terhalang mau bikin ini itu ga bisa tp bisa dapet manfaatnya sekarang takutnya ada hal2 kyk gini. apalagi kalau mau ubah2 atau apa2 terkait database itu harus lewat DBA/DBE , dan script migration di code selalu di comment (walau jatohnya jadi membuat manual db/table/collection sih) tapi jadi aman. thanks pak insight nya
Sangat bagus materinya
@ProgrammerZamanNow
3 ай бұрын
semoga bermanfaat
bener yang disampaikan, ditempat saya pun hanya bbrp aja yg dikasih CRUD ke DB prod. Walopun udah ada backup berkala nya, tp ttp jaga2 byk layer. dapet insight ner uga nih, udah dibackupin berkala, tp nampaknya kelupaan buat test restore nya. thx for sharing!
Hadir
pernah juga kejadian di kantor lama udah backup DB tapi ga pernah ngelakuin regular restore dan bener aja kejadian ga sengaja nge-drop DB prod dan saat mau restore file backupnya ternyata gagal di restore, beruntung itu data dari app yg masih beta test dan baru nyimpen dikit data transaksi user.
Lagi belajar database, jadi ngeri2 sedap😬 thank you mas eko saran nya
@tidakdikenal6798
2 ай бұрын
kesalahan fatalnya lebih ke database migration yang ada di framework seperti laravel sama environment nya
sebagai dba yg tiap hari nyentuh env prod, kalo denger incident gni entah dari temen atau artikel, dengkul langsung lemes rasanya , kalo ditempat saya, developer cuma dikasih akses read only ke env prod, dan user db nya tidak boleh sharing antar developer.
pengalaman saya as DBA serajin atau sesering apapun buat backup pastikan bisa di restore dan buat automation. nya kedua bisa informasikan ke team terutama team bisnis ada backup plan apa, selain mengandalkan restore backup dari database karena seperti sebelumnya backup itu ada gap walaupun kecil, atau bisa kerja bareng dengan team engineering nya apakah ada plan selain dari restore backup dari database
Jadi bahan pembelajaran
Akses prod boleh tp permissionnya read only aja. Kan butuh jg utk troubleshot isu prod kadang kala.
makan tak kenyang tidur tak sleeping pasti,
sempet liat incident kaya gini, antara rm -rf / dan delete from tbl tanpa filter where di prod 😆 tp ya untungnya bisa segera solved dan kejadiannya bkn dijam sibuk, jadi gak heboh haha
belum ISO itu, nggak testing restore secara regular...😄😄
ngebayangin orang yang ga sengaja ngedrop db di prod, pucat se pucat pucatnya pasti💀💀
@rizalarfani7985
2 ай бұрын
Jantung rasanya berhenti sejenak🤣😅
@sanjayawangsadi
2 ай бұрын
@@rizalarfani7985kek nyawa dah mau lepas aja dari badan.
@professorbrainstorm7765
2 ай бұрын
Lebih ngeri daripada ditolak cewek 💀
@335-arifdwinugroho2
2 ай бұрын
makan tak enak, tidur tak nyenyak
@yahyaadinugraha1058
2 ай бұрын
Pantat seketika menguncup wkwk
harusnya di previlege nya untuk production hanya untuk read only disesuaikan berdasarkan user ldap yang login
wah pernah kejadian di perusahaan sekarang. apps buat absensi ga dipakai di internal aja, tapi 2 client kami. dari engineer ada case drop database untuk SSO jadi ga bisa login. deh bikin geger itu. emang harus hati hati sih, untung pake cloud dan ada backupnya. walau beberapa data ada yagn ga ke track
di tempat saya bekerja di kasih Laptop kantor mereka dan di kasih akses DB Prod, kadang panas dingin klo disuruh hapus data.
Untuk di case aku sih kemarin juga gk sengaja timku delete data production, tapi untungnya aku udh buatin function di server untuk buat backup SQLite every transaction, jadi untuk restore bisa paling makan 2-3 jam-an
amit2 jangan sampe kejadian kyk gitu, soalnya aku biasanya pake 2 env d local, ada dev dan prod,, cuman yg prod jarang bgt aku pake, hal2 tertentu aja sih
sering-sering bahas ginian pak seru
kalau db di block akses tidak pakai from anywhere, artinya hanya bisa diakses di server apakah cukup membantu mengurangi resiko ini Pak?
Gw pernah ngerjain project sebagai role DBA sekaligus Storage Engineer... saat itu ada storage pinjeman yg akan dibalikin. Otomatis datanya saya pindah ke storage lain. pada saat proses rebalance belum selesai, gw delete lah LUN di storagenya... 12 Database hilang cuy...
Pak, apa memungkinkan untuk bahas materi vitess untuk scale DB?
Mau drop database, ataupun UPDATE query. Semua beresiko di server production. Gitu pentingnya adanya SOP atau system saat eksekusi. Jgn dibiasakan QUERY lsg di server database. Kerjaannya sih mungkin enteng, tapi krn Human Error, Akibatnya sgt fatal.
Di kantor gw, development dan production dijembatani oleh satu orang. Dan gak ada seorang pun di development punya akses ke production kecuali hanya satu orang itu yang bertanggungjawab. Itu pun sebelum dimigrate, perubahan code kita di review di gitlab, baru di pull branch dan data migration.
Ini yang paling gw takutin ketika disuruh cleansing data atau data fix sama user dan lead. Neken enter nya sambil komat2 & keringet dingin. Gak bisa bayangin sih kalo case nya kalo satu db ke drop
pernah kejadian gini juga. dan pelakunya saya sendiri. jadi saya mau upgrade server dari Ubuntu v18 ke v20. nah karena saya fullstack jadi semuanya dikerjain sendiri. pada saat proses upgrade, ada kegagalan pada proses upgrade mysql. alhasil semua data hilang. sialnya saya gak punya backup dan lupa buat backup. pengen nangis asli dan gak bisa tidur. untungnya user gak ada yang ngeh data mereka hilang. ini jadi pelajaran buat saya kalo mau ngerjain apapun diserver, wajib backup data dulu.
@bungtomo4871
2 ай бұрын
kobisa ga ngeh ya datanya hilang?
@funtube7226
2 ай бұрын
User y keluarga dia sendiri😂@@bungtomo4871
baru kejadian sama saya 1 bulan lalu, tiba2 ada temen 1 team ngehapus project di gcp, otomatis semua yang ada di dalam project nya ke hapus (vm, db, dll) untung aja masih bisa di restore
itu kena sp berapa ya kira2
Pengalaman pribadi 4 taun lalu. Meskipun solved karna temen punya mirror, saya tetep kena SP karna kedenger direksi 😅
Case aku pernah human error di production, tapi bukan drop database, aku flutter developer, jadi aku gak sengaja ngubah env production jadi development, apinya berubah ke api dev gk prod, mana aplikasi udah update udah rilis, jadi 1 hari perusahaan dimatikan dulu gk nerima transaksi, untung saya gal dipecat, mungkin karena masih hitungan magang juga, tapi sejak itu bener bener harus teliti liat file lagi
kalo sampe nge Drop sih belom. cuma dulu pernah update data di salah satu table Production ga pake where 😅
@theraidplacenta
2 ай бұрын
pas select all liat hasilnya kok kembar semua datanya wkwkwkwk
pernah kejadian jg pada diri sendiri.. untung bukan data transaksi. sekarang udah direstrict aksesnya hanya bisa melalui jump host. btw untuk log ini standartnya ada ngga ya? isinya apa aja? atau beda company beda jg standartnya? satu lagi, berarti harusnya semakin banyak data yang ditulis ke log semakin besar jg ya impactnya ke performance?
@anonymoux-ue8yp
2 ай бұрын
log nya custom bikin sendiri, sesuai kebutuhan transaksi terpenting yg di log sebagai mirror backup
Pernah banget ngalamin njirr, pas mau running test ternyata ada kode yg menghapus seluruh table. Panik banget, untung ada backup tapi hilang data transaksi dari bbrp bulan.
Btw ngjalanin migration (msl laravel) di prod aman ga ya? Apa migration hny boleh dilakuin di dev env aja?
@ProgrammerZamanNow
2 ай бұрын
Aman kalo gak ada drop table
@mokox9061
2 ай бұрын
@@ProgrammerZamanNow kalau ada alter table (add column) dan datanya udh gede, ngehandelny gmn ya bang di migration? krn biasany kena locking di db (mysql) pas nge-alter, bkin aplikasiny down
@farhan15r
2 ай бұрын
@@mokox9061 kalo gk salah saya pernah denger kalo case nya kayak gitu better bikin tabel baru dengan relasi one2one, emg lebih boros sih harus bikin tabel baru dengan minimal 2 column (1 buat fk 1 lg buat datanya) CMIIW
pak boleh di bikinkan tutorial sql server karena pas banget mau ganti db dari mysql ke sql server . terima kasih...
Pernah restart vps terus mongodb gagal restart. Karena bingung ujung2 install ulang mongodbnya dan gak bisa backup. Untung cari2 di vpsnya ada backup databaenya. Tetapi sekali di restore malah banyak error😢
saya dulu bukan delete sih tapi update row sql, saya pikir kan di env local eh taunya di prod dong. asli panik banget sih itu hahaha
Case di video pake db apa ya ?
Salah pemilihan backup timestamp itu maksudnya gimana mas?
kalo hapus2 DB saya selalu minta di temani temen terutama senior. buat double chek dan tidak salah hapus..
gue sebagai devops engineer pasti pegang akses production, agak ngeri2 sedap kalo apus data production wkwkkwkwkw, pernah ngerasain. jujur waktu itu karena ngantuk tapi beruntungnya waktu itu bikin cron backup.
klo saya, pernahnya delete load balancer yg sifatnya dynamic di GCP Prod, perusahaan mining, langsung panik gaes , untungnya bisa di buat ulang pakai deployment ulang
Dapet cerita dari temen, atasan dia gk sengaja drop db di cmd server tapi temen gue jg malah disalahin dan minta tanggung jawab berdua. Alhasil semua data harus diinput manual lagi 😂
saya pernah, delete data di production punya client, panic untung temen gw nenangin dan akhirnya kontak pihak hosting, alhamdulillah ada snapshot bbrp jam sebelumnya, sisanya saya minta pemilik toko untuk stock opname ulang di semua cabang karena system crash (ini aplikasi POS) alhamdulillah pemilik toko fine2 aja malah karena kejujuran saya dan cara saya nanganin masalah gitu dia malah respect dan sering ngontak saya secara pribadi sampe sekarang
@ProgrammerZamanNow
2 ай бұрын
untung gak pura2 gak tau ya kak
Kelihatan fitur database tidak digunakan secara penuh, padahal ada fitur hak akses sesuai cred db.
BUATIN TUTORIAL DJANGO PAK🙏
QA diperlukan agar bisa recreate skenario bug di production seperti input nya apa outputnya apa. karena kalo udah di production jangan diapa2in lagi dah
dulu gw minta user db tapi yang read only hehe aman kayaknya gitu ajah
Walaupun mereka mengalahkan kesalahan fatal tapi mereka tetap terbuka dengan apa yang terjadi dengan cukup detail. Kapan ya provider lokal kita bisa seterbuka ini kalau ada incident?
aku juga pernah ngalamin 2 tahun lalu
Bisa gk Pak Eko, meskipun dapet akses ke database production tapi hak aksesnya di batesin, kayak file sharing gitu ada yg bisa edit, ada yg cuma bisa read aja,
@anonymoux-ue8yp
2 ай бұрын
meding ngga usah sekalian ... kan susah juga ngatur grant akses nya supaya cuma boleh akses object tertentu saja
Baru aja kejadian bulan lalu 😅 Jadi ada tim apps yang melakukan alter table pada salah satu db. Alhasil db nya hang, di hari jumat lagi 😂 Beruntung ada backup di hari itu, dan restorenya berhasil
apakah mungkin migrate nya 'fresh' jadi semua data yang ada di drop terus dibuat lagi 😅
kalo engineer nya gua yg baru fullstack crud dikit2 nestnextjs pasti gabakal bisa di restore selamanya kaga ngarti sama sekali gitu2an 😂 kalo ada salah mirgate auto migrate reset ajalah 😅
Padahal cuma nonton ini, tapi ikut degdegan.. kaya horror banget
@achmadichzan
2 ай бұрын
sama, ngebayangin klo terjadi beneran di gw 🤣
Sampe saat ini ga berani migrate di production
Ditempat saya ga ada db local, semua langsung production. testing aja pake production gegara nerusin app leluhur mana gada dokumentasi. env lokal sama dengan env production. Bahkan saya tiap mau php artisan serve aja selalu ngeri selalu teliti takut takut malah php artisan migrate 😂
@ProgrammerZamanNow
2 ай бұрын
test on prod, mantul
Mengheningkan cipta bagi programmer yg ga sengaja drop table / databse di production
Duarrr
Untung saya gak pernah mau dikasih akses ke production. Kalaupun butuh minta datanya aja, import di local.
Lah gw baru kejadian kemaren kwkwk, tp cuma hapus data di tabel prod getdate - 1, untung ada backup jd bisa reinsert transaksi lama 😂😂😂
Kalau saya pernah Release production App ke playstore, tapi databasenya point ke staging 😭
@haerulumam7439
2 ай бұрын
Saya pernah begini wkwk. Untungnya react native ada fitur code push 😂
emang paling bener itu env prod dikasih buat read-only aja
Lama juga tuh panas dingin 12 jam lebih 😅
Bang pelajari cybersecurity juga dong
wkwkwkwk di kantor gw juga pernah kejadian malah lebih parah, udah lupa backup, server production dijalanin command rm -rf di direktori root, otomatis satu server langsung kosong
@pandualdi4038
2 ай бұрын
kalo disini udah di G*blok2in tuh yg kek gini... t*lol'nya keterlaluan
Itu merindingnya mungkin spt nyawa ada di atas pala, semua terasa melayang dan spt mimpi 😂
Ngeri banget emg kalo apa2 harus dilakuin di production, kadang agak riskan juga kalo do-changes langsung di DB production, suka was-was wkwk
@ProgrammerZamanNow
2 ай бұрын
minta maaf dulu sebelum execute
Aduh, mana saya sekarang punya akses db prod lagi pak 😅
@ProgrammerZamanNow
2 ай бұрын
minta maaf dulu sebelum kejadian
kejadian waktu pake sequelize yang mestinya sync false ini true 😂
Ini DB nya pake apa?
kalo production dan production.local itu mirip gk bang?
@ProgrammerZamanNow
2 ай бұрын
production local itu apa?
jarang-jarang ada kompeni yang ngakuin kesalahannya dan jelaskan kesalahannya secara real
biasanya kesalahan saat unit test, isi database hilang 😂
Jauhkan hamba dari hal ini yaa allah
ya gimana ya, gk sengaja wkwkkw😅🤣
artisan migrate:fresh, langsung jd pesulap jir 🗿
tim devop panas-dingin 😂
🙏 12:21 noted
sync: true nya lupa dimatiin XD
saya pernah delete cluster production
@anonymoux-ue8yp
2 ай бұрын
keren men
kebayang itu panik nya wkwk
SI programmer: dah lah...
"5000 rows affected" berasa simulasi kiamat kubro wkwk
Berhati-hatilah kalian yang sedang belajar. Karna gw sendiri pernah ngalamin ke update tanpa filter. Dan rasa nya pengen resign :(