현재 재직 중인 회사에 다수 MYSQL, MARIA DB가 있지만 DBA 담당자가 없이 개발자분들이 직접 운영을 하고 있다보니
많은 문제가 발생했다.
1. 슬로우쿼리(slow query)
- back office 메인DB를 mysql 5.5에 myisam 엔진을 사용하다 보니 slow query 발생 시 테이블 lock 발생하고
쿼리 수행이 완료되거나, 강제 종료를 신속하게 하지 않을 경우 max_connections 값에 도달하여 서비스 장애가 발생했다.
2. DB 권한 문제
- replication slave 서버에 읽기(권한)만 부여해서 개발자분들이 테스트 작업을 진행했지만 사용자 권한 super 유자 권한을 부여하여 데이터 수정을 하여 데이터 무결성 오류가 발생하는 어처구니 없는 상황이 발생 했다.
(이후 사용자 계정에서 super 권한 회수)
3. 데이터 관리
개발자이 성능, 유지 관리에 대한 관심이 부족함을 실감한 사례입니다.
- 정규화를 고려하지 않고 테이블을 설계 및 컬럼 추가가 많았다
- 파티션 작업 없이 한 테이블에 지속적으로 데이터를 쌓거나 컬럼을 추가하여 비대해진 테이블이 다수였다.
- 로그 데이터를 쌓는데 삭제 로직 없이 데이터를 20~30G씩 계속 쌓거나, json 형식으로 원본 데이터를 그대로 저장하여 테이블 데이터가 지나치게 커제는 문제가 발생했다.
- 운영서버에 테스트 데이터를 생성하거나 싱크 데이터를 생성하는 경우도 있었다
4. 구버전 DB 사용
- mysql 5.5에 myisam 엔진, 캐릭터셋은 euc-kr .. 전혀 관리되지 않은 레거시 DB가 사용되고 있어 업그레이드 시도조차 어려운 상황이다.
지금까지 여러 회사를 다니며 DB는 주로 개발자들이나 유지보수 업체를 통해 지원 받았기 때문에 크게 신경을 쓰진 않았고
문제가 발생할 경우 큰 영향을 미칠 수 있어, 업무를 진행할 때 어느정도 거리를 두고 있었다.
oracle, mssql 은 설치나 백업, 복구, 계정, 권한 설정 정도를 다루었고
mysql은 이중화 구성, 백업, 복구, 계정 권한 설정, 간단한 튜닝 작업들을 다루었다.
현재는 mysql 튜닝, 쿼리 튜닝, 여러 이슈 사항 처리 작업등을 수행하여 DB 업무에 대한 관심이 커졌다.
몇년전만 해도 DB는 Oracle이라는 인식 있었고 울며 겨자먹기로 고가의 Oracle DB를 사용하고 했었다
하지만 오픈 소스에 대한 인식이 변화와, 비용절감, 커뮤니티 통한 기술 습득 및 문제 해결이 수월해지면서 Mysql, Mariadb, Postgreesql 사용이 급증하고 있다. 이는 Unix to Linux 와 마찬가지 상황인 거 같다
DB관련 업무를 조금씩 수행하다 보니 자격증을 취득하며 공부하면 좋겠다는 생각이 들었다.
그래서 sqld 시험에 대한 관심을 갖고 찾아 보니 합격률도 높고 공부시간도 길지 않아 도전하게 되었다.
하지만 아이가 어려 퇴근 후 평일과 주말에는 육아에 집중해야 했다.
아이가 있으면 공부할 시간이 부족하다. 아이가 1순위다 보니 어쩔 수 없다
아내에게 공부할 시간을 달라고 하기에도 미안한 것이 주말에 혼자사 육아를 해보면
평일에 아내가 얼마나 힘들지 실감할 수 있었다.
다시 돌아와 24년 8월 54회차 시험을 봤고 결과는 '불합격' 커트라인 60점에 56점이었다.
sqld 시험으로 유명한 홍쌤의 요약집과 동영상만 보고 준비해서 쉽지 않겠다고 생각했지만
두문제만 더 맞췄으면 합격이라는 생각에 아쉬웠다.
그래서 55회차 시험을 바로 보기로 결정하고 공부시간을 조금 늘려 준비했다.
- 홍쌩 요약집과 동영상, 유튜브 요약 및 기출 문제 영상, 유명한 노랭이 문제집
- 노랭이 문제집은 sqlp 포함이라서 그런지 난이도가 높아 문제가 어렵고 시간도 너무 많이 걸려 보다가 말았다.
이번에도 완벽하게 준비하지 못했고 노랭이를 풀면서 좌절을 많이 먹어 반산반의한 상태로 시험을 풀었고
54회 보다 이번 회차가 문제 난이다고 높고 헷갈리는 문제가 많아 쉽지 않았다.
시험을 보고 네이버 데이터포럼 카페를 통해 분위기를 봤지만 다들 나와 비슷한 느낌을 받았던 거 같다.
어려웠다 ..
그래도 커트라인이 낮은 시험이라 기대는 갖고 있다.
sqld 시험을 준비하며 시험에 대한 아쉬움이 많이 남는다.
1. oracle 위주
접근선이 떨어지는 oracle 문제가 많이 나온다. 개인적으로 ansi 표준 문제가 주로 나와야할 거 같다는 생각이 든다.
2. 함수나 윈도우 함수 문제
시험 변별력을 위해 함수 문제가 많이 나오는데 현업에 정말 사용할까라는 의문을 가진다.
현재 재직중인 회사에서도 집계 함수정도만 사용한다
12월달에 결과가 나온다 ..
합격을 했으면 좋겠다. 시험 내용 중 개인적으로 불필요하다고 느낀 항목이 많이 다시 공부하고 싶지는 않다.
실무에서 사용할 수 있는 책을 읽거나 강의를 듣는게 더 도움이 될 거같다.
내년에는 시험에 떨어지거나 실기 응시 기간이 지나 취득하지 못했던
cppg, 정보보안기사를 취득하려고 한다.
cppg는 범위가 너무 넓고 2022년 당시에는 시험 교재가 없어 쉽지 않았다
지문이 많고 문제 수도 많아 시간내에 다 풀기도 어려웠고 결국 불합격이었다.
정보보안기사는 필기를 붙고 실기를 2년내에 응시하지 않아 취득하지 못했다.
시스템담당자, 시스템엔지니어 요즘 devops, sre 포지션이라 지칭하며
슈퍼맨을 원하는 회사가 많다 ..
서버, 네트워크, 보안, web,was, ci/cd, 클라우드, docker, 쿠버네티스트, elk, shell, bash, asible, redis, cdn ..
뭐 어쩔 수 없지 않나 절을 떠날 수 없으니 중이 맞춰야지 ..
오래 일할 수 있고 돈을 많이 받을 수 있다면야!!