개발자 인생 돌아보기
회고

개발자 인생 돌아보기

이력서를 쓰기전 .. 제가 어떻게 성장해왔나 블로그를 돌아보려고 합니다. 액자식 구성이랄까요 [대학생 졸업작품 회고]https://anythingis.tistory.com/74 2022년 25살 회고대학교도 졸업하기도 하고 최근에 블로그를 하기 시작하면서 22년도 끝나가는데 올해를 회고해보려고 한다. 개발 📋Node.js CRUD 게시판 전공자이긴 하지만 학점을 위한 공부만 하고 수업실습도anythingis.tistory.com처음 개발다운 개발(?)을 진행했습니다.요즘 유행하는 페이스 페이 대신 지문 페이라고 할까요..코로나 시대에 QR로 본인인증하는 대신 지문을 서버에 등록해두고 업체에서는 내 지문만 찍어서 본인인증할 수 없을까? 하는 아이디어 였습니다. Javascript 기반의 서버 사이드 렌더..

[SQLP] SQLP 55회 합격 후기
회고

[SQLP] SQLP 55회 합격 후기

안녕하세요 입사하자마자 목표로 하던 SQLP에 드디어 붙었습니다. ㅋㅋ갈수록 느슨하게 공부하고 스스로의 실력에 자신감이 떨어져서 이번에 후회하지 않을만큼 공부했습니다. https://anythingis.tistory.com/213 SQLP를 공부하고 나서 SQL을 보는 관점이 달라졌다(SQLP 55회 후기)이틀 전 토요일에 SQLP 시험을 보고 왔습니다.객관식은 애매한 문제가 꽤 많았고, 실기는 여차저차 풀고 나온 것 같습니다.매번 시험 한 달 전쯤부터 공부를 시작하다 보니 실제로 제 실력이 쌓이anythingis.tistory.com [공부방법] 친절한 SQL 튜닝 Dbian SQL 기본과정 수강국가공인 SQLP 자격검정 핵심노트 1, 2 SQL 자격검정 실전문제(노랭이) 1, 2회차 시험은 `..

SQLP를 공부하고 나서 SQL을 보는 관점이 달라졌다(SQLP 55회 후기)
회고

SQLP를 공부하고 나서 SQL을 보는 관점이 달라졌다(SQLP 55회 후기)

이틀 전 토요일에 SQLP 시험을 보고 왔습니다.객관식은 애매한 문제가 꽤 많았고, 실기는 여차저차 풀고 나온 것 같습니다.매번 시험 한 달 전쯤부터 공부를 시작하다 보니 실제로 제 실력이 쌓이고 있는지는 잘 모르겠지만, 이번에도 SQLP를 공부하면서 평소 개발할 때와는 조금 다른 관점으로 DB를 바라볼 수 있었습니다. 시험 결과와 별개로, 그동안 SQLP를 공부하면서 느꼈던 점을 몇 자 적어보려고 합니다. 복기1과목ERD 표기법은 여러 표기법이 존재하기 때문에 각각의 특징과 표기 방식을 구분해서 공부할 필요가 있었습니다.2과목SQL 기본 문법 자체보다는 SQL의 동작 방식과 옵티마이저가 어떤 기준으로 실행계획을 선택하는지를 이해하는 것이 중요했습니다.3과목3과목은 단순히 개념을 외우기보다는 실제로 실행..

오라클 성능고도화 1 - (Redo, Undo, 문장수준 읽기 일관성)
도서/오라클성능고도화

오라클 성능고도화 1 - (Redo, Undo, 문장수준 읽기 일관성)

Redo오라클은 데이터 파일과 컨트롤 파일에 가해지는 모든 변경사항을 하나의 Redo 로그 엔트리로서 Redo 로그에 기록 Redo 로그 종류Online redo 로그 : Redo 로그에 버퍼링된 로그 엔트리 기록, 최소 두개이상의 파일로 구성, 사용중인 Redo 로그 파일이 꽉차면 로그 스위칭Archived Redo 로그 : Online Redo 로그가 재사용되기 전에 다른 위치로 백업해둔 파일 Redo 로그의 목적1. Database Recovery물리적으로 디스크 깨지는 Media Fail 발생시 데이터베이스 복구를 위해 Archived Redo 로그 사용 2. Cache RecoveryInstance Crash 발생 후 시스템을 재기동하면 Online Redo 로그에 저장된 기록을 읽어 마지막 체..

오라클 성능 고도화 1-(DB 버퍼캐시, 버퍼 Lock)
도서/오라클성능고도화

오라클 성능 고도화 1-(DB 버퍼캐시, 버퍼 Lock)

DB 버퍼캐시 (1) 블록 단위 I/O오라클에서 I/O는 블록 단위로 이루어진다.블록 단위로 읽는 다는 의미는, 하나의 레코드에서 하나의 컬럼만을 읽고자 하더라도 레코드가 속한 블록 전체를 읽게 됨을 의미한다. SQL 성능을 좌우하는 가장 중요한 성능 지표는 액세스하는 블록 개수이다. (2) 버퍼 캐시 구조DBA : DB 버퍼 캐시 내에서 데이터 블록을 해싱하기 위해 사용되는 키 값해시 함수에 DBA를 입력해 리턴 받은 해시 값이 같은 블록들을 해시 버킷의 해시 체인을 통해 구현 DB 버퍼 액세스 순서1. DBA 해싱2. 해시 버킷 액세스 3. 해시 체인(버퍼 헤더) 액세스4-1. 없으면 File Read 후 해시 체인에 연결 후 읽음4-2. 있으면 바로 읽음 (3) 캐시 버퍼 체인DB 버퍼 캐시는 ..

되고자 하는 개발자의 방향성
회고

되고자 하는 개발자의 방향성

요즘 개발직군이 아니더라도 AI에 대체된다는 말이 굉장히 많습니다.단순히 먼 미래라고 하기엔 미국의 빅테크부터 우리나라의 전문직들에 대한 정보도 종종 접하게 됩니다. https://www.news21tongsin.co.kr/news/285125 마이크로소프트(MS), 9000명 해고 발표. . .AI로 대량 해고가 현실화IT 기업들이 몰려 있는 판교 테크노밸리(사진=네이버 db 갈무리)[뉴스21 통신=추현욱 ] 인공지능(AI)으로 인한 대량 해고가 현실화됐다.국내외 안팎에서 대규모 희망퇴직이 잇따르고 있다. ‘중국www.news21tongsin.co.kr https://www.youtube.com/watch?v=7AWHmCQq35Q&t=124s IT 개발자는 오프라인의 작업을 효율적으로 처리하는 방법을 ..

SQL 튜닝이 됬는지는 실행시간으로 비교하는 것이 아니다.
Computer Science/Database

SQL 튜닝이 됬는지는 실행시간으로 비교하는 것이 아니다.

오늘 사내 지라를 보다가 다른 팀원이 처리한 데이터 조회가 오래걸린다는 사용자 문의를 보고 포스팅합니다. 이슈해당 지라는 담당자가 SQL과 Function, Table DDL 정보를 넘겨 튜닝을 했고, 그 결과는 아래와 같다고 기재되어있었습니다. AS-ISTO-BE실행시간5sec0.5sec 해당 표를 봤을 때 튜닝 이후에 속도가 무려 10배나 빨라졌지만, 운영에 반영되었을 때 해당 문제가 해결되지 않을 수 있습니다. 무엇이 문제인가?튜닝이 되었는지는 이전 쿼리와 튜닝 쿼리의 실행시간으로 비교하는 것이 아닙니다. SQL 튜닝을 하면 실행시간은 빨라져야하는것아닌가? 라고 생각하는게 결론적으로 맞는 얘기이지만 비교하는 대상이 '시간'이 되면 안된다는 뜻입니다. 현재 사내 DB인 Oracle을 기준으로(다른..

회고

Oracle RDS 대용량 데이터 삭제시 주의할 점

회사 서비스의 로그는 서비스 내부에서 다음과 같은 목적으로 저장되고 있었다.사용자의 행동이 발생할 때마다 OR 내부 서비스와 외부 ERP / API 인터페이스 호출마다Controller → Service → DAO 흐름 단위의 로그 데이터를 DB에 저장그리고 관리자가 필요할 때 에러를 검색할 수 있는 관리 페이지에서 조회할 수 있도록 설계되어 있었다.문제는 실제 운영 상황에서는 이 데이터를 거의 사용하지 않는다는 점이었다. 실제 운영 모니터링은 대부분 DataDog, Whatap 같은 APM 도구를 통해 이루어지고 있었고, DB 로그 테이블은 사실상 방치된 상태였다. 게다가 이 서비스는 오픈된 지 8년이 넘었지만 단 한 번도 삭제 작업이 이루어지지 않았다. 그 결과... 이 운영 DB 용량의 50% 이상..

'전체 글'191건의 글

부득탐승

개발자 인생 돌아보기
회고

개발자 인생 돌아보기

이력서를 쓰기전 .. 제가 어떻게 성장해왔나 블로그를 돌아보려고 합니다. 액자식 구성이랄까요 [대학생 졸업작품 회고]https://anythingis.tistory.com/74 2022년 25살 회고대학교도 졸업하기도 하고 최근에 블로그를 하기 시작하면서 22년도 끝나가는데 올해를 회고해보려고 한다. 개발 📋Node.js CRUD 게시판 전공자이긴 하지만 학점을 위한 공부만 하고 수업실습도anythingis.tistory.com처음 개발다운 개발(?)을 진행했습니다.요즘 유행하는 페이스 페이 대신 지문 페이라고 할까요..코로나 시대에 QR로 본인인증하는 대신 지문을 서버에 등록해두고 업체에서는 내 지문만 찍어서 본인인증할 수 없을까? 하는 아이디어 였습니다. Javascript 기반의 서버 사이드 렌더..

[SQLP] SQLP 55회 합격 후기
회고

[SQLP] SQLP 55회 합격 후기

안녕하세요 입사하자마자 목표로 하던 SQLP에 드디어 붙었습니다. ㅋㅋ갈수록 느슨하게 공부하고 스스로의 실력에 자신감이 떨어져서 이번에 후회하지 않을만큼 공부했습니다. https://anythingis.tistory.com/213 SQLP를 공부하고 나서 SQL을 보는 관점이 달라졌다(SQLP 55회 후기)이틀 전 토요일에 SQLP 시험을 보고 왔습니다.객관식은 애매한 문제가 꽤 많았고, 실기는 여차저차 풀고 나온 것 같습니다.매번 시험 한 달 전쯤부터 공부를 시작하다 보니 실제로 제 실력이 쌓이anythingis.tistory.com [공부방법] 친절한 SQL 튜닝 Dbian SQL 기본과정 수강국가공인 SQLP 자격검정 핵심노트 1, 2 SQL 자격검정 실전문제(노랭이) 1, 2회차 시험은 `..

SQLP를 공부하고 나서 SQL을 보는 관점이 달라졌다(SQLP 55회 후기)
회고

SQLP를 공부하고 나서 SQL을 보는 관점이 달라졌다(SQLP 55회 후기)

이틀 전 토요일에 SQLP 시험을 보고 왔습니다.객관식은 애매한 문제가 꽤 많았고, 실기는 여차저차 풀고 나온 것 같습니다.매번 시험 한 달 전쯤부터 공부를 시작하다 보니 실제로 제 실력이 쌓이고 있는지는 잘 모르겠지만, 이번에도 SQLP를 공부하면서 평소 개발할 때와는 조금 다른 관점으로 DB를 바라볼 수 있었습니다. 시험 결과와 별개로, 그동안 SQLP를 공부하면서 느꼈던 점을 몇 자 적어보려고 합니다. 복기1과목ERD 표기법은 여러 표기법이 존재하기 때문에 각각의 특징과 표기 방식을 구분해서 공부할 필요가 있었습니다.2과목SQL 기본 문법 자체보다는 SQL의 동작 방식과 옵티마이저가 어떤 기준으로 실행계획을 선택하는지를 이해하는 것이 중요했습니다.3과목3과목은 단순히 개념을 외우기보다는 실제로 실행..

오라클 성능고도화 1 - (Redo, Undo, 문장수준 읽기 일관성)
도서/오라클성능고도화

오라클 성능고도화 1 - (Redo, Undo, 문장수준 읽기 일관성)

Redo오라클은 데이터 파일과 컨트롤 파일에 가해지는 모든 변경사항을 하나의 Redo 로그 엔트리로서 Redo 로그에 기록 Redo 로그 종류Online redo 로그 : Redo 로그에 버퍼링된 로그 엔트리 기록, 최소 두개이상의 파일로 구성, 사용중인 Redo 로그 파일이 꽉차면 로그 스위칭Archived Redo 로그 : Online Redo 로그가 재사용되기 전에 다른 위치로 백업해둔 파일 Redo 로그의 목적1. Database Recovery물리적으로 디스크 깨지는 Media Fail 발생시 데이터베이스 복구를 위해 Archived Redo 로그 사용 2. Cache RecoveryInstance Crash 발생 후 시스템을 재기동하면 Online Redo 로그에 저장된 기록을 읽어 마지막 체..

오라클 성능 고도화 1-(DB 버퍼캐시, 버퍼 Lock)
도서/오라클성능고도화

오라클 성능 고도화 1-(DB 버퍼캐시, 버퍼 Lock)

DB 버퍼캐시 (1) 블록 단위 I/O오라클에서 I/O는 블록 단위로 이루어진다.블록 단위로 읽는 다는 의미는, 하나의 레코드에서 하나의 컬럼만을 읽고자 하더라도 레코드가 속한 블록 전체를 읽게 됨을 의미한다. SQL 성능을 좌우하는 가장 중요한 성능 지표는 액세스하는 블록 개수이다. (2) 버퍼 캐시 구조DBA : DB 버퍼 캐시 내에서 데이터 블록을 해싱하기 위해 사용되는 키 값해시 함수에 DBA를 입력해 리턴 받은 해시 값이 같은 블록들을 해시 버킷의 해시 체인을 통해 구현 DB 버퍼 액세스 순서1. DBA 해싱2. 해시 버킷 액세스 3. 해시 체인(버퍼 헤더) 액세스4-1. 없으면 File Read 후 해시 체인에 연결 후 읽음4-2. 있으면 바로 읽음 (3) 캐시 버퍼 체인DB 버퍼 캐시는 ..

되고자 하는 개발자의 방향성
회고

되고자 하는 개발자의 방향성

요즘 개발직군이 아니더라도 AI에 대체된다는 말이 굉장히 많습니다.단순히 먼 미래라고 하기엔 미국의 빅테크부터 우리나라의 전문직들에 대한 정보도 종종 접하게 됩니다. https://www.news21tongsin.co.kr/news/285125 마이크로소프트(MS), 9000명 해고 발표. . .AI로 대량 해고가 현실화IT 기업들이 몰려 있는 판교 테크노밸리(사진=네이버 db 갈무리)[뉴스21 통신=추현욱 ] 인공지능(AI)으로 인한 대량 해고가 현실화됐다.국내외 안팎에서 대규모 희망퇴직이 잇따르고 있다. ‘중국www.news21tongsin.co.kr https://www.youtube.com/watch?v=7AWHmCQq35Q&t=124s IT 개발자는 오프라인의 작업을 효율적으로 처리하는 방법을 ..

SQL 튜닝이 됬는지는 실행시간으로 비교하는 것이 아니다.
Computer Science/Database

SQL 튜닝이 됬는지는 실행시간으로 비교하는 것이 아니다.

오늘 사내 지라를 보다가 다른 팀원이 처리한 데이터 조회가 오래걸린다는 사용자 문의를 보고 포스팅합니다. 이슈해당 지라는 담당자가 SQL과 Function, Table DDL 정보를 넘겨 튜닝을 했고, 그 결과는 아래와 같다고 기재되어있었습니다. AS-ISTO-BE실행시간5sec0.5sec 해당 표를 봤을 때 튜닝 이후에 속도가 무려 10배나 빨라졌지만, 운영에 반영되었을 때 해당 문제가 해결되지 않을 수 있습니다. 무엇이 문제인가?튜닝이 되었는지는 이전 쿼리와 튜닝 쿼리의 실행시간으로 비교하는 것이 아닙니다. SQL 튜닝을 하면 실행시간은 빨라져야하는것아닌가? 라고 생각하는게 결론적으로 맞는 얘기이지만 비교하는 대상이 '시간'이 되면 안된다는 뜻입니다. 현재 사내 DB인 Oracle을 기준으로(다른..

회고

Oracle RDS 대용량 데이터 삭제시 주의할 점

회사 서비스의 로그는 서비스 내부에서 다음과 같은 목적으로 저장되고 있었다.사용자의 행동이 발생할 때마다 OR 내부 서비스와 외부 ERP / API 인터페이스 호출마다Controller → Service → DAO 흐름 단위의 로그 데이터를 DB에 저장그리고 관리자가 필요할 때 에러를 검색할 수 있는 관리 페이지에서 조회할 수 있도록 설계되어 있었다.문제는 실제 운영 상황에서는 이 데이터를 거의 사용하지 않는다는 점이었다. 실제 운영 모니터링은 대부분 DataDog, Whatap 같은 APM 도구를 통해 이루어지고 있었고, DB 로그 테이블은 사실상 방치된 상태였다. 게다가 이 서비스는 오픈된 지 8년이 넘었지만 단 한 번도 삭제 작업이 이루어지지 않았다. 그 결과... 이 운영 DB 용량의 50% 이상..