본문 바로가기
728x90

DataBase/Data & SQL18

[Data] 로그(Log) 데이터의 개념과 활용, 사례 및 수집 알아보기 이번 포스트에는 log데이터에 대해 전반적으로 알아보고 어떻게 수집되고 활용되는지 기업의 사례를 들어가며 정리해보겠습니다. 1. 로그 데이터(log data)란? IT인프라에서 발생하는 모든 상황의 데이터(서비스나 시스템 가동 시 발생되는 이벤트의 기록) 소프트웨어 및 하드웨어,인프라의 상태를 파악하는 시각적 정보의 역할 최근 사용자의 사용성 및 행동 패턴을 확인하거나 유저 클러스터링, 모델링 등 다양한 목적으로 사용되는 행동 기반 데이터 사용자의 행동 패턴을 분석하는데 근간이 되는 데이터의 역할 대체로 시간(TimeStamp)와 함께 출력 되기 때문에 시계열 데이터 개념에 포함되는 개념 2. 로그의 형태 정해진 규칙에 의거하여 Key-Value, JSON 형태로 표현 Key 순서에 맞게 Value 값으.. 2023. 4. 6.
[Data] 데이터의 종류, 서비스 데이터와 행동 데이터(로그성 데이터) 기업에서 다루는 데이터는 크게 2가지로 나뉩니다. 하나는 서비스 데이터고 다른 하나는 사용자 행동 데이터, 즉 로그성 데이터로 볼 수 있습니다. 이번 포스트에는 각각 다른 성격의 데이터에 대해 정리하겠습니다. 1. 서비스 데이터 회원가입, 결제, 제출 등 서비스 운영을 위해서 반드시 필요한 데이터 트랜잭션 데이터라고도 불리우는 데이터 무결성이 필요한 비즈니스 데이터(주로 트랜잭션을 보장하는 RDB에 저장) 2. 행동 데이터 사용자들의 행동 패턴을 확인하기 위해서 별도로 저장하는 데이터 웹 로그 데이터, 앱 로그 데이터, 이벤트 데이터, 사용자 로그 데이터 데이터 규모(사이즈)가 큼 데이터 신뢰도가 서비스 데이터보다 낮음 누락,중복 집계 될 가능성이 있음 웹사이트 페이지뷰, 스크롤, 클릭 등 페이지뷰: 어.. 2023. 4. 5.
[Data] 데이터 관리, 마스터 데이터와 MDM(Master Data Management) 1. 마스터 데이터란? 마스터 데이터는 비즈니스 운영에 필수적인 모든 데이터 일반적으로 모든 비즈니스 데이터 중에서 작은 비율이지만, 조직 내에서 가장 복잡하고 중요한 데이터 중 일부 비즈니스 주체 또는 비즈니스가 수행되는 객체(고객, 공급업체, 직원, 제품, 비용센터 등)에 관한 데이터 트랜잭션 데이터와 비교되는 맥락에서 사용 일반적으로 다양한 스프레드시트, 애플리케이션, 물리적 미디어에 분산 사람(고객, 직원, 공급업체), 장소(사무실, 사업장), 사물(제품, 설비자산)과 같은 데이터 마스터 데이터의 예시 고객 마스터 데이터: 이름에서 알 수 있듯이, 고객 마스터 데이터에는 연락처 정보부터 구매 이력, 지급 조건에 이르기까지 고객과의 거래에 필요한 모든 핵심 데이터가 포함 ERP, CRM 및 기타 시.. 2023. 2. 12.
[SQL] SQL 성능확인, Query Plan 보는 법 (Oracle, MySQL) 1. Query Plan이란? SQL 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터 접근에 사용되는 순서가 있는 단계별 집합 엑세스 플랜의 관계형 모델 개념의 특화된 경우 SQL이 선언형이기 때문에 주어진 쿼리를 실행하기 위해 수많은 방법이 존재하는 것이 일반적이며 이에 따라 다양한 성능 차이를 보임 Query Optimizer는 Query 실행을 위한 각기 다른 가능성 있는 올바른 플랜 중 일부를 평가한 다음 최적의 옵션을 고려할 때 반환 2. Query Plan 보는 법, 요소(Oracle) 1) Query Plan 보는 법 위에서 아래로 내려가면서 제일 먼저 읽을 위치 찾기 내려가는 과정에서 같은 들여쓰기가 있으면, 무조건 위에서 아래 순으로 읽기 같은 레벨에 들여쓰기된 하위 스텝이 존재하면.. 2023. 1. 31.
[MySQL] 바이너리 로그(binlog)란? 1. binlog란? 빈로그 혹은 바이너리 로그는 MySQL 서버 인스턴스의 데이터 변경사항들에 대한 정보를 포함하는 로그 파일의 세트 에러코드, 바이너리 로그 자체에 대한 메타데이터 등 다양한 데이터가 같이 포함되게 됨 기본적으로 Transaction Commit 시에 기록되어지며, 데이터 변경 순서를 보장 주로 복제(Replication) 및 복구(Recovery)를 목적으로 binary log가 사용 됨 복제: Secondary Node 가 Primary Node 로부터 binlog 데이터를 전달받아서 로깅 함(릴레이 로그) 부하분산 기능을 제공, 바이너리 로그는 마스터라는 서버에서 생성되고 슬레이브란 서버는 마스터 서버에 접속하여 이 마스터의 바이너리 로그를 읽어와서 똑같이 그 이벤트를 실행시켜 .. 2023. 1. 19.
[MySQL] MySQL version 확인 방법 1. SQL로 확인 1) SELECT VERSION(); SELECT VERSION(); 2) SHOW VARIABLES LIKE 'VERSION'; SHOW VARIABLES LIKE 'VERSION'; SHOW VARIABLES LIKE '%VERSION%'; 2. shell로 확인 2023. 1. 11.
[SQL] MySQL의 Binding Variables, 바인딩 변수 사용법(mysql,python), 장점 1. 바인딩 변수 사용의 장점 바인딩 변수의 장점은 SQL문 처리과정 중 Parsing과정에서 드러나게 됩니다. 1) SQL문 처리 과정 사용자가 SQL문장(Select)을 실행 SQL 파싱(parsing) SQL 최적화(optimizer) 실행(Execution) 추출(Fetch) 2) Parsing 과정 서버프로세스는 Shared Pool의 LibraryCache를 조회해서 문자 하나하나 공백, 대소문자까지 비교하여 동일한 SQL문장이 있는지 확인 Soft Parsing: 동일한 SQL문장과 SQL구문을 보낸 사용자나 옵티마이저 MODE관련 설정까지 일치하는 SQL커서가 존재하고 있다면, Library Cache의 parse-tree와 Query Execution Plan을 가지고 와서 실행 opti.. 2023. 1. 10.
프로그래밍 언어별 '(홑 따옴표, single quotation) vs "(쌍 따옴표, double quotation) 이번 포스트에는 프로그래밍 언어별 single quotation, double quotation 사용되는 경우를 비교 해보겠습니다. SQL '(홑 따옴표, single quotation) "(쌍 따옴표, double quotation) string, 문자열을 표현 할 때 사용 식별자,객체이름을 표현할 때 사용됨(mysql 에서는 `와 "를 사용) 파이썬 '(홑 따옴표, single quotation) "(쌍 따옴표, double quotation) 의미 있는string, 문자열을 표현 할 때 사용 ex) 'python' 의미 없는 string 문자열을 표현 할 때 사용 ex )"python is fun" 자바 '(홑 따옴표, single quotation) "(쌍 따옴표, double quotation).. 2022. 6. 8.
[Data] 데이터 마트의 구축(치환, 추가, 스냅샷 테이블, 이력테이블) 이번 포스트에서는 '시각화를 위해 데이터 마트를 만드는 절차'에 대해서 포스트 하겠습니다. 팩트 테이블 -팩트 테이블의 작성에는 추가(append)와 치환(replace) 가 있다. -추가: 새로 도착한 데이터만을 증분으로 추가 INSERT INTO 를 통해 기존의 테이블에 데이터가 추가되는 형태 -치환: 과거의 데이터를 포함하여 테이블 전체를 치환한다. DROP TABLE IF EXISTS tablename 을 통해 삭제 후, CREATE TABLE IF NOT EXISTS tablename을 통해 다시 만드는 과정이 '치환' 테이블 파티셔닝(table partitioning) -효율만을 생각 했을 때는 추가가 압도적으로 유리, 하지만 단점 또한 존재 단점 1. 추가에 실패한 것을 알아채지 못하면 팩트.. 2021. 8. 8.
728x90