PHP 유지보수

코드보다 중요한 건 ‘데이터 안전’

프리터코더 2026. 6. 2. 14:46

코드는 다시 짤 수 있어요.
데이터는 한번 날아가면 끝입니다.

레거시 다루는 분들이 입버릇처럼 하는 말인데, 처음엔 "에이, 코드가 더 중요하지 않나?" 싶었거든요. 근데 실제로 겪어보니까 진짜 그렇더라고요.

생각해보면 당연합니다. 코드는 Git에 있고, 최악의 경우 처음부터 다시 짜면 됩니다. 근데 고객이 5년간 남긴 주문 내역, 리뷰, 문의 내용은요? 어디서 다시 만들어 옵니까.

오래된 코드는 짐이지만, 오래된 데이터는 자산이에요. 버그는 패치하면 되는데, 삭제된 데이터는 그냥 사라진 겁니다.


실제로 본 적이 있어요.

중소 쇼핑몰에서 개발자가 DELETE 쿼리를 잘못 날렸습니다. 주문 테이블을 통째로 비워버린 거죠. 2년치 주문 5만 건이 순식간에 날아갔어요.

그나마 백업이 있어서 하루 전 데이터로 복구했는데, 최근 하루치 200건 정도는 손실됐습니다. 고객센터에서 전화 기록, 이메일, 배송 조회 시스템 뒤져가면서 수작업으로 복원하는 데 직원 5명이 일주일을 매달렸어요. 그래도 80% 정도만 살리고 나머지는 그냥 날렸고요.

대표님이 그러시더라고요.

코드 오류였으면 그냥 고치면 됐을 텐데...
백업 없었으면 회사 문 닫았을 겁니다.


더 심한 경우도 봤습니다.

제조업체 ERP 서버 하드가 나갔는데 백업이 없었어요. 10년치 거래처 정보, 주문, 재고, 회계 데이터가 다 날아갔습니다. 복구 업체 불렀더니 "복구 불가" 판정.

회사가 마비됐어요. 어느 거래처에 얼마 공급했는지 모르고, 재고가 얼마 남았는지 모르고, 회계 장부가 없으니 세무 신고도 못 하고.

거래처에 전화해서 "죄송한데 거래 내역 좀 보내주실 수 있나요?" 하면서 하나씩 복원했는데... 10년치를 어떻게 다 복원합니까.

1년 후에 폐업했습니다. 데이터 손실이 직접 원인은 아니었는데, 그 이후로 업무 효율이 급격히 떨어지면서 결국 회복을 못 했어요.

서버에 몇백만 원 아까워서 백업 안 했는데, 그게 회사를 망쳤다.

대표님이 직접 하신 말씀입니다.


결국 데이터 없는 시스템은 껍데기예요.

코드가 아무리 좋아도 고객 정보 없으면 누구한테 팔고, 주문 내역 없으면 뭘 배송합니까.

그래서 유지보수할 때 데이터 보호를 가장 먼저 챙깁니다. 기능 추가나 코드 개선보다 백업 시스템부터 확인하는 거죠.


백업은 3-2-1 규칙이 기본이에요. 복사본은 3개, 서로 다른 매체에 2개, 외부 장소에 1개. 메인 서버에 하나, 로컬 백업에 하나, 클라우드에 하나. 이런 식으로요.

그리고 수동 백업은 무조건 까먹습니다. 자동화 걸어놔야 해요. 백업 파일 있어도 막상 복구가 안 되면 소용없으니까 분기마다 실제로 복구 테스트도 해봐야 하고요.


데이터는 회사 자산입니다.

건물이나 장비에는 보험 들면서 데이터는 방치하는 게 말이 안 되잖아요.

시스템은 새로 만들어도 데이터만 있으면 비즈니스는 돌아갑니다. 근데 데이터 날아가면 아무리 좋은 시스템도 쓸모없어요.

백업하고, 테스트하고, 데이터 지키세요.

그게 회사 지키는 겁니다.