오늘 포스트에서는 오라클 실행계획 제어를 위해 사용할 수 있는 힌트에 대해서 정리해본다.오라클의 SQL이 원하는 방법으로 실행되도록 하고자 하는 분이나, SQLP 시험을 준비하고 있는 분들께 유용할 것이다. 1. 오라클 Hint 란? 오라클에서 힌트는 SQL 구문 내에 포함된 주석 형태의 명령어를 말한다. 옵티마이저에게 특정 실행 계획을 선택하도록 지시하는 역할을 한다.힌트를 사용해서 데이터 액세스 방식(테이블/인덱스 사용), 조인 방법과 순서, 병렬 처리 등을 유도할 수 있다. Hint라고 명명되었지만 Directive이기 때문에 사용자가 명시하면 syntax나 semantic이 틀리게 작성되지 않는 한 옵티마이저는 힌트에 따라 실행계획을 수립한다. 옵티마이저가 언제나 최적의 실행계획을 수립해주는 ..
Overview 쿼리 최적화는 성능에 직접적인 영향을 미치는 요소이기 때문에 DBMS는 성능 최적화를 위해 다양한 기술을 적용하고 있다. 오늘은 더 똑똑하게 SQL을 작성하기 위해 알아 두어야 할 쿼리 변환(Query Transformation) 기법에 대해 소개한다. 💡 이런 주제를 다뤄요 - 쿼리 변환이란? - 대표적인 쿼리 변환 두 가지 : 서브쿼리 변환, 조건절 변환 - 서브쿼리 언네스팅과 뷰 머징 - 조건절 Pushing과 조건절 이행 1. 쿼리 변환 쿼리 변환(Query Transformation)은 사용자가 작성한 SQL을 더 효율적인 형태로 옵티마이저가 재작성는 작업을 말한다. DBMS는 사용자가 작성한 SQL을 그대로 실행하지만은 않는다. 동일한 결과를 반환할 수 있다..
오늘은 고급 조인 테크닉을 활용한 SQL에 대해서 소개한다. 가장 많이 사용되는 등치(`=`) 조건 외에 활용할 수 있는 고급 조인 테크닉 네 가지를 소개한다.부등호/`BETWEEN` 조인CROSS 조인을 활용한 테이블 복제`DECODE` 조인`ROWID` 조인이러한 테크닉들은 DBMS 버전이나 환경의 제약이 있을 때, 또는 쿼리 성능 최적화가 필요한 상황에서 매우 유용한 대안이 될 수 있으므로 잘 익혀두도록 하자.1. 부등호/`BETWEEN` 조인부등호(`>`, `>=`, `누적매출을 구한다면 일반적으로는 분석함수(또는 윈도우 함수)를 사용할 수 있다. 다음과 같이 분석함수를 활용하여 구하던 누적 매출을 분석함수 없이 구해야 한다면 어떻게 해야 할까? 분석함수 `SUM() OVER()`지점별로 판매월 ..
오라클의 자료구조 중 인덱스에 대해 알아보고, 인덱스에 액세스하기 위한 방식 다섯 가지에 대해 소개한다.그리고 인덱스 액세스가 문제 없이 잘 일어나도록 하려면 어떻게 SQL을 작성해야 좋을지 세 가지 팁을 준비했다.1. 인덱스란? 인덱스란 해당 데이터에 접근하기 위한 방식 중 하나이다. 다양한 인덱스 구조가 있지만, 이번 포스팅에서는 가장 범용적으로 사용되는 B-Tree 인덱스를 다룬다. 1.1 인덱스의 구조 B-Tree 인덱스 구조에서는 브랜치와 리프로 블록을 구성해서 정렬 정보를 저장하고 있다. 책에 비유하자면 브랜치 블록에는 대목차 정보가 담겨있고, 리프 블록에는 소목차와 페이지 정보가 담겨있다. (1) Branch Blocks (브랜치 블록)브랜치 블록은 인덱스의 상위 수준의 블록으로 검색 경로..
0. Introduction 데이터 아키텍트로 일하면서 가장 큰 조바심은 DBMS에 대한 공부가 끝이 없다는 데에서 온다. 끝없어 보이는 공부거리를 마주하면서도 위안이 되는 포인트가 있다. 평생을 DB를 다루며 일해온 직업인들에게도 낯선 DBMS를 다뤄야 하는 프로젝트는 피할 수 없는 숙명이라는 점이다. 세상에는 다양한 DBMS가 있다. RDBMS만 하더라도 Oracle, MySQL, SQL Server, PostgreSQL, DB2 등 다양한 DBMS가 존재한다. 이들은 모두 SQL로 조작이 가능하다는 공통점이 있지만, 각 DBMS 별 뚜렷한 특징을 가진다. DBMS별 개성이 다른만큼 한 기업 내에서도 서비스의 특성에 맞추어 DBMS를 다양하게 선택하여 사용하고 있다. 데이터 아키텍트들도 각 개인의..
오늘 글에서는 유데미에서 수강해본 SQL 강의를 추천하려고 한다. 강의 개요 내가 들었던 강의는 Dr. Angela You 의 파이썬 기초 강의 였다. 강의를 간단히 설명하면 아래와 같다. 강의 명: 【한글자막】 데이터 역량 강화를 위한 SQL 부트캠프 강의자: Jose Portilla / Head of Data Science at Pierian Training 언어 음성: 영국 영어 자막: 한글 자막 (웅진씽크빅 글로벌 제공) 구성: 2분~20분으로 이루어진 강의 총 9시간 특징: SQL의 기초 구문부터 차곡차곡 따라해가며 진행 가능 강의 주요 내용 PostgreSQL과 PgAdmin SQL SQL 구문 기초 GROUP BY 명령 고급 쿼리 실행 SQL JOIN 명령 논리 연산자 사용법 등 SQL을 이..
오늘 글에서는 혼자 공부하며 들었던 파이썬 강의를 추천하려고 한다. 전부터 파이썬 공부를 혼자서라도 해봐야겠다고 늘 생각해왔는데, Udemy로부터 쿠폰 지원을 받을 기회가 생겨 파이썬 강의 중 가장 초급자에 맞는 코스를 선택해 듣게 되었다. 기대 이상으로 너무 재미있게 파이썬을 학습하고 있어서 적극 추천하고 싶다. 강의 개요 내가 들었던 강의는 Dr. Angela You 의 파이썬 기초 강의 였다. 강의를 간단히 설명하면 아래와 같다. 강의 명: 【한글자막】 Python 부트캠프 : 100개의 프로젝트로 Python 개발 완전 정복 강의자: Dr. Angela Yu 언어 음성: 영국 영어 자막: 한글 자막 (웅진씽크빅 글로벌 제공) 구성: 5분~1시간 30분으로 이루어진 강의 * 100일 특징: 하루 하..
이번 포스팅에서는 프로젝트 수행 사례를 통해 데이터 품질 점검을 위한 비즈니스 규칙 유형에는 어떤 것이 있는지, 그리고 실제로 품질 진단 측정을 위한 SQL 쿼리는 어떻게 작성해야 하는지에 대해서 공유하고자 한다. Intro_ 프로젝트 개요 이번 프로젝트에서는 크게 두 가지 업무를 수행했다. (1) 데이터 자산화 첫번째는 데이터 자산화 업무로, 고객사의 시스템별로 존재하는 테이블 및 컬럼 정보를 수집해서 데이터 모델을 작성해 총 10,000여 개의 테이블을 가시화했다. 이 중 미사용 테이블을 제외하고 사용 중인 테이블 5,000 개에 대해서는 한글화 및 용어 표준화 작업도 진행하였다. (2) 데이터 품질 관리 두번째는 고객사에서 품질 관리 활동이 가능하도록, 데이터 품질 관리에 필요한 지침을 수립하고 고..
0. Introduction 요즘은 젊은 기업일수록 구글 스프레드 시트를 많이 사용하는 것 같다. 얼마 전에도 한 문서를 구글로 공유 받았다. 구글 시트는 동시 입력 작업을 하거나 최신 버전을 url로 공유할 수 있는 점이 편리하다. 하지만 나는 액셀만을 사용해온 직장인이라서 구글 시트는 영 불편해서 자주 들어가지 않게 되었다. 자주 업데이트 사항을 확인하면 좋을텐데 더 편하게 확인할 수는 없을까, 고민하다가 액셀 파워쿼리를 활용해서 구 글 문서를 로컬에 가져와서 내가 원하는 form으로 편집하고 새로고침해서 보는 방식으로 작업을 개선했다. 0.1 직면했던 문제 내가 겪었던 어려움은 온라인 커뮤니티 활동 중 생겼다. 2주에 한 번씩 글을 작성해 제출하고 공유하는 글또라는 개발자 커뮤니티 활동을 하고 있다..
사실 완벽 정리는 아니고... 휴학 등 계획 없이 노빠꾸로 공부할 재학생용이여요... 신청 및 등록 등록 및 수강 신청을 놓치면 안 되니까 이 부분은 따로 정리를 해봤습니다. 입학 신청 및 등록 11.27 ~ 01.03 1학기 신·편입생 입학지원서 접수 01.25 1학기 신·편입생 합격자 발표 01.25 ~ 01.31 1학기 신·편입생 등록, 수강신청 복수전공 05.07 ~ 05.13 2학기 복수전공 신청 하계 계절학기 05.02 ~ 05.08 하계 계절수업 수강신청 05.10 ~ 05.16 하계 계절수업 등록 2학기 07.18 ~ 07.24 2학기 재학생 수강신청 07.29 ~ 08.01 2학기 재학생 등록 동계 계절학기 10.08 ~ 10.14 동계 계절수업 수강신청 10.18 ~ 10.23 동계 계..
Intro 이번에 투입된 프로젝트는 데이터 거버넌스를 구축하는 프로젝트였다. '데이터 거버넌스'는 사실 포괄적으로 사용되는 용어이기 때문에, 고객사에서 '거버넌스'를 어떻게 바라보는가에 따라서 수행 영역이 달라지는 것 같다. 일반적으로 이론화된 데이터 거버넌스를 구성하는 요소는 다음과 같다. 데이터 거버넌스란? 전사적인 데이터 관리 방향을 제시하고 통제하는 활동 전반을 말한다. 1. 원칙 및 프로세스 - 비전 및 원칙, 업무에 대한 문서화를 말함 - e.g. 데이터 관리 체계 정의서, 데이터 모델 관리 지침서, 데이터 표준 지침서, 데이터 품질 지침서 등 2. 조직 - 담당자 및 R&R 정의 3. 관리 도구 - 메타데이터, 데이터 표준 승인 관리, 데이터 품질, 데이터 모델 관리 도구 등 이번 프로젝트에..
2023년에 읽은 책 43권 2023년에 읽은 책은 총 43권이었다. 작년과 비슷한 권 수를 읽었다. 별점 순으로 정렬을 해보니 올해 내게 가장 소중했던 책은 테드 창의 「숨」이었다. 인기가 많고 호평이 자자한 책들임에도 불구하고 개인적 취향 때문에 별점을 얼마 받지 못한 책들도 눈에 띈다. 제목 작가 별점 숨 테드 창 9.2 하늘과 바람과 별과 인간 김상욱 9 아Q정전 루쉰 8.9 한편 11호_플랫폼 김상욱 8.8 인간관계론 데일 카네기 8.5 비트 바이 비트 매튜 살가닉 8.5 서사의 위기 한병철 7.9 아노말리 에르베 르 텔리에 7.6 달걀과 닭 클라리시 리스펙토르 7.5 거인의 노트 김익한 7.3 생각에 관한 생각 대니얼 카너먼 7.3 지구에 아로새겨진 다와다 요코 7.1 모스크바의 신사 에이모 ..