분류 전체보기
-
역시 사람은 책을 읽어야 한다. 학교에서 배웠던 것과는 또 다른 내용이 나온다. 학교에서 데이터베이스 과목을 들었을 때는 RDBMS 만 배웠다. 때문에 정규화를 통해 데이터를 분산시켜 디스크 I/O의 발생을 최소화하거나 메모리 부하를 줄인다고 알고 있었고, 너무 과한 정규화는 조인성능이 떨어져 문제가 된다 하여 적절한 비정규화도 중요하다고 배웠다. 근데 오늘 읽은 부분은 데이터 마트에는 정규화가 필요 없다고 말하고 있다. 여기서는 테이블을 트랜잭션 테이블과 마스터 테이블로 구분한다. 트랜잭션은 한번 기록하면 변하지 않는 테이블이며 마스터는 상황에 따라 다시 쓰이는 테이블이다. '판매이력'이라는 이미 기록된 트렌잭션 테이블이 있다면 그 안에 있는 고객 ID를 참고하는 고객 테이블 상품 ID를 참고하는 상품..
데이터 마트에 정규화는 필요 없다.역시 사람은 책을 읽어야 한다. 학교에서 배웠던 것과는 또 다른 내용이 나온다. 학교에서 데이터베이스 과목을 들었을 때는 RDBMS 만 배웠다. 때문에 정규화를 통해 데이터를 분산시켜 디스크 I/O의 발생을 최소화하거나 메모리 부하를 줄인다고 알고 있었고, 너무 과한 정규화는 조인성능이 떨어져 문제가 된다 하여 적절한 비정규화도 중요하다고 배웠다. 근데 오늘 읽은 부분은 데이터 마트에는 정규화가 필요 없다고 말하고 있다. 여기서는 테이블을 트랜잭션 테이블과 마스터 테이블로 구분한다. 트랜잭션은 한번 기록하면 변하지 않는 테이블이며 마스터는 상황에 따라 다시 쓰이는 테이블이다. '판매이력'이라는 이미 기록된 트렌잭션 테이블이 있다면 그 안에 있는 고객 ID를 참고하는 고객 테이블 상품 ID를 참고하는 상품..
2023.10.05 -
트랜잭션, 크로스, 피벗, 룩업 테이블 크로스 테이블 크로스 테이블은 보고서를 쓸떄 자주 사용되는 테이블로 행과 열에 범주가 들어가 테이블에는 숫자가 들어가게 되는 데이터다 즉 집계 데이터라고 생각하면 편하다. 때문에 사람들이 보기 편한 테이블이지만 데이터 베이스에서는 다루기 어렵다. 왜냐하면 데이터 베이스에 행을 추가하는 건 간단하지만 열을 추가하는 것은 힘들기 때문이다. 트랜잭션 테이블 트랜잭션 테이블은 행으로만 데이터가 늘어날 수 있도록 되어 있으며 사람이 보기는 어렵지만 데이터 베이스가 데이터를 적재하기는 간편하다. 아래 예시를 보면 알 수 있다. 피벗 테이블 트렌젝션 테이블에서 크로스 테이블로 변환하는 것을 크로스 집계라고 하며 크로스 집계는 피벗 테이블 기능을 이용하여 집계할 수 있다. 피벗 ..
CHAPTER2 빅데이터의 탐색트랜잭션, 크로스, 피벗, 룩업 테이블 크로스 테이블 크로스 테이블은 보고서를 쓸떄 자주 사용되는 테이블로 행과 열에 범주가 들어가 테이블에는 숫자가 들어가게 되는 데이터다 즉 집계 데이터라고 생각하면 편하다. 때문에 사람들이 보기 편한 테이블이지만 데이터 베이스에서는 다루기 어렵다. 왜냐하면 데이터 베이스에 행을 추가하는 건 간단하지만 열을 추가하는 것은 힘들기 때문이다. 트랜잭션 테이블 트랜잭션 테이블은 행으로만 데이터가 늘어날 수 있도록 되어 있으며 사람이 보기는 어렵지만 데이터 베이스가 데이터를 적재하기는 간편하다. 아래 예시를 보면 알 수 있다. 피벗 테이블 트렌젝션 테이블에서 크로스 테이블로 변환하는 것을 크로스 집계라고 하며 크로스 집계는 피벗 테이블 기능을 이용하여 집계할 수 있다. 피벗 ..
2023.10.05 -
함수 활용 설명 NOW NOW() 현재 날짜와 시간 반환 CURRENT_DATE CURRENT_DATE() 현재 날짜 반환 CURRENT_TIME CURRENT_TIME() 현재 시간 반환 YEAR YEAR(날짜) 날짜의 연도 반환 MONTH MONTH(날짜) 날짜의 월 반환 MONTHNAME MONTHNAME(날짜) 날짜의 월을 영어로 반환 DAYNAME DAYNAME(날짜) 날짜의 요일을 영어로 반환 DAYOFMONTH DAYOFMONTH(날짜) 날짜의 일을 반환 DAYOFWEEK DAYOFWEEK(날짜) 날짜의 요일을 숫자로 반환 WEEK WEEK(날짜) 날짜가 해당 연도에 몇번째 주인지 반환 HOUR HOUR(시간) 시간의 시 반환 MINUTE MINUTE(시간) 시간의 분 반환 SECOND SE..
mysql - 자주 사용하는 대표 날짜형 데이터 함수함수 활용 설명 NOW NOW() 현재 날짜와 시간 반환 CURRENT_DATE CURRENT_DATE() 현재 날짜 반환 CURRENT_TIME CURRENT_TIME() 현재 시간 반환 YEAR YEAR(날짜) 날짜의 연도 반환 MONTH MONTH(날짜) 날짜의 월 반환 MONTHNAME MONTHNAME(날짜) 날짜의 월을 영어로 반환 DAYNAME DAYNAME(날짜) 날짜의 요일을 영어로 반환 DAYOFMONTH DAYOFMONTH(날짜) 날짜의 일을 반환 DAYOFWEEK DAYOFWEEK(날짜) 날짜의 요일을 숫자로 반환 WEEK WEEK(날짜) 날짜가 해당 연도에 몇번째 주인지 반환 HOUR HOUR(시간) 시간의 시 반환 MINUTE MINUTE(시간) 시간의 분 반환 SECOND SE..
2023.10.01 -
함수 요약 테이블 함수 활용 설명 ABS ABS(숫자) 숫자의 절댓값 반환 CEILING CEILING(숫자) 숫자를 정수로 올림해서 반환 FLOOR FLOOR(숫자) 숫자를 정수로 내림해서 반환 ROUND ROUND(숫자, 자릿수) 숫자를 소수점 자릿수까지 반올림해서 반환 TRUNCATE TRUNCATE(숫자, 자릿수) 숫자를 소수점 자릿수까지 버림해서 반환 POWER POWER(숫자A, 숫자B) 숫자A의 숫자B 제곱 반환 MOD MOD(숫자A, 숫자B) 숫자A를 숫자B로 나눈 나머지 반환 실습 테이블 CREATE DATABASE pokemon; SHOW DATABASES; USE pokemon; DROP TABLE mypokemon; CREATE TABLE pokemon.mypokemon ( numb..
mysql - 자주 사용하는 대표 숫자 관련 함수 정리함수 요약 테이블 함수 활용 설명 ABS ABS(숫자) 숫자의 절댓값 반환 CEILING CEILING(숫자) 숫자를 정수로 올림해서 반환 FLOOR FLOOR(숫자) 숫자를 정수로 내림해서 반환 ROUND ROUND(숫자, 자릿수) 숫자를 소수점 자릿수까지 반올림해서 반환 TRUNCATE TRUNCATE(숫자, 자릿수) 숫자를 소수점 자릿수까지 버림해서 반환 POWER POWER(숫자A, 숫자B) 숫자A의 숫자B 제곱 반환 MOD MOD(숫자A, 숫자B) 숫자A를 숫자B로 나눈 나머지 반환 실습 테이블 CREATE DATABASE pokemon; SHOW DATABASES; USE pokemon; DROP TABLE mypokemon; CREATE TABLE pokemon.mypokemon ( numb..
2023.10.01 -
함수 요약 테이블 함수 활용 예시 설명 LOCATE LOCATE("A", "ABC") “ABC”에서 “A”는 몇 번째에 위치해 있는지 검색해 위치 반환 SUBSTRING SUBSTRING(“ABC”, 2) “ABC”에서 2번째 문자부터 반환 RIGHT RIGHT(“ABC”, 1) “ABC”에서 오른쪽에서 1번째 문자까지 반환 LEFT LEFT(“ABC”, 1) “ABC”에서 왼쪽에서 1번째 문자까지 반환 UPPER UPPER(“abc”) “abc”를 대문자로 바꿔 반환 LOWER LOWER(“ABC”) “ABC”를 소문자로 바꿔 반환 LENGTH LENGTH(“ABC”) “ABC”의 글자 수를 반환 CONCAT CONCAT(“ABC”, “DEF”) “ABC” 문자열과 “CDF” 문자열을 합쳐 반환 REP..
mysql - 자주 사용하는 문자열 데이터 함수 정리함수 요약 테이블 함수 활용 예시 설명 LOCATE LOCATE("A", "ABC") “ABC”에서 “A”는 몇 번째에 위치해 있는지 검색해 위치 반환 SUBSTRING SUBSTRING(“ABC”, 2) “ABC”에서 2번째 문자부터 반환 RIGHT RIGHT(“ABC”, 1) “ABC”에서 오른쪽에서 1번째 문자까지 반환 LEFT LEFT(“ABC”, 1) “ABC”에서 왼쪽에서 1번째 문자까지 반환 UPPER UPPER(“abc”) “abc”를 대문자로 바꿔 반환 LOWER LOWER(“ABC”) “ABC”를 소문자로 바꿔 반환 LENGTH LENGTH(“ABC”) “ABC”의 글자 수를 반환 CONCAT CONCAT(“ABC”, “DEF”) “ABC” 문자열과 “CDF” 문자열을 합쳐 반환 REP..
2023.09.27 -
사전 기본 개념 데이터웨어하우스 정확한 데이터가 모여있는 곳 레포트 분석용 데이터 레이크 상대적으로 Raw한 데이터들이 모여있는 곳 분석에 쓰일 수 있는 데이터면 모두 모아놓음 당장 필요하지 않아도 됨 데이터 마트 데이터레이크와 데이터 웨어하우스에서 목적에 필요한 데이터들을 가져와 구축한 분석용 데이터 1-1 빅데이터의 정착 분산 시스템에 의한 데이터 처리의 고속화 빅데이터의 기술로 가장 먼저 예를 들 수 있는 것은 'Hadoop'과 'Nosql'이다. 전통적인 RDB로는 너무 대량의 데이터는 취급이 불가능하기 때문에 생겨났다. Hadoop '다수의 컴퓨터에서 대량의 데이터를 처리하기 위한 시스템' 즉, 방대한 데이터를 저장하기 위해서 필요한 수많은 컴퓨터들을 관리하는 시스템이다. 분석에 필요한 많은 시..
CHAPTER1 빅데이터 기초 지식사전 기본 개념 데이터웨어하우스 정확한 데이터가 모여있는 곳 레포트 분석용 데이터 레이크 상대적으로 Raw한 데이터들이 모여있는 곳 분석에 쓰일 수 있는 데이터면 모두 모아놓음 당장 필요하지 않아도 됨 데이터 마트 데이터레이크와 데이터 웨어하우스에서 목적에 필요한 데이터들을 가져와 구축한 분석용 데이터 1-1 빅데이터의 정착 분산 시스템에 의한 데이터 처리의 고속화 빅데이터의 기술로 가장 먼저 예를 들 수 있는 것은 'Hadoop'과 'Nosql'이다. 전통적인 RDB로는 너무 대량의 데이터는 취급이 불가능하기 때문에 생겨났다. Hadoop '다수의 컴퓨터에서 대량의 데이터를 처리하기 위한 시스템' 즉, 방대한 데이터를 저장하기 위해서 필요한 수많은 컴퓨터들을 관리하는 시스템이다. 분석에 필요한 많은 시..
2023.09.26 -
한국 데이터 엔지니어 모임 줄여서 '한데모'라는 오픈카톡 채팅방이 존재한다. 현업에서 뛰시는 훌륭하신 분들(테스팅님, 통계마당님, 리만님, 소소데엔님, 23-parquet님, 개발새발님 등등..)이 굉장히 많이 계시고 서로 지식이나 이슈 혹은 자료들을 공유하며 진로나 이직에 대해서도 물어보면 조언해주는 아주 좋은 곳이다. 학생 신분으로 데이터 엔지니어링을 독학하는 사람으로써 가뭄의 단비같은 곳이기도 하지만 신입으로 데엔에 취직하기는 하늘에서 별따기라고 하시는 분들이 많아 자신감도 굉장히 떨어지기 때문에 양날의 검 같은 곳이기도 하다.. 한데모에서 다들 입을 모아 칭찬하는 또 읽어야 하는 필독서가 3권정도 있는데 그 중 한 권이 바로 빅지기 즉, 빅데이터를 지탱하는 기술이라는 책이다. 전문적으로 한 툴이나..
빅데이터를 지탱하는 기술한국 데이터 엔지니어 모임 줄여서 '한데모'라는 오픈카톡 채팅방이 존재한다. 현업에서 뛰시는 훌륭하신 분들(테스팅님, 통계마당님, 리만님, 소소데엔님, 23-parquet님, 개발새발님 등등..)이 굉장히 많이 계시고 서로 지식이나 이슈 혹은 자료들을 공유하며 진로나 이직에 대해서도 물어보면 조언해주는 아주 좋은 곳이다. 학생 신분으로 데이터 엔지니어링을 독학하는 사람으로써 가뭄의 단비같은 곳이기도 하지만 신입으로 데엔에 취직하기는 하늘에서 별따기라고 하시는 분들이 많아 자신감도 굉장히 떨어지기 때문에 양날의 검 같은 곳이기도 하다.. 한데모에서 다들 입을 모아 칭찬하는 또 읽어야 하는 필독서가 3권정도 있는데 그 중 한 권이 바로 빅지기 즉, 빅데이터를 지탱하는 기술이라는 책이다. 전문적으로 한 툴이나..
2023.09.22 -
학교 강의시간에 jenkins을 실습하면서 m1 mac에서 jenkins를 설치하는 방법을 알아보았다. 1. openjdk 준비 jenkins을 설치전에 openjdk가 반드시 설치 되어 있어야 한다. 이때 openjdk는 17혹은 21 버전으로 설치하도록 하자(교수님 추천) 자바가 이미 설치되어 있다면 넘어가도 되고 아직 설치가 안되어 있다면 아래링크를 참고하자 https://velog.io/@may_yun/Mac-M1-Java-17-설치 [Mac M1] Java 17 설치 brew는 설치되어있다고 가정하고 터미널에 명령어 입력시스템에서 openjdk 17 을 찾을 수 있도록 아래 명령어를 입력하여 진행zsh 을 이용할 경우 아래처럼 명령어를 입력하여 PATH 에 대해서도 같이 velog.io 2. j..
m1 mac - jenkins 설치방법학교 강의시간에 jenkins을 실습하면서 m1 mac에서 jenkins를 설치하는 방법을 알아보았다. 1. openjdk 준비 jenkins을 설치전에 openjdk가 반드시 설치 되어 있어야 한다. 이때 openjdk는 17혹은 21 버전으로 설치하도록 하자(교수님 추천) 자바가 이미 설치되어 있다면 넘어가도 되고 아직 설치가 안되어 있다면 아래링크를 참고하자 https://velog.io/@may_yun/Mac-M1-Java-17-설치 [Mac M1] Java 17 설치 brew는 설치되어있다고 가정하고 터미널에 명령어 입력시스템에서 openjdk 17 을 찾을 수 있도록 아래 명령어를 입력하여 진행zsh 을 이용할 경우 아래처럼 명령어를 입력하여 PATH 에 대해서도 같이 velog.io 2. j..
2023.09.22