database 27

Data Mart

그러면 DW와는 무슨 차이가 있는 것일까요? DW는 최종사용자와의 인터페이스보다는 방대한 분량의 데이터를 효율적으로 통합하고 관리하는 측면에 보다 초점을 맞춘다. 따라서 사용자 측면에서 편리한 형태로 설계되지 않을 수 있습니다. 그리고 전사적인 용도로 구축되기 때문에 각 개별부서나 사용자 집단에 적합한 형태로 데이터가 저장되지 않는다. 따라서 사용자 질의에 최적의 성능을 제공하지 못할 수도 있습니다. 대부분의 사용자들은 DW의 전체 데이터 중 일부분만을 주로 사용할 것이며, 기업의 모든 사용자들이 DW에 대해 직접 질의를 수행하는 것은 많은 시스템 자원을 필요로 하며 시스템 성능에 심각한 부하를 줄 수 있기 때문에 분산된 DB영역에서 구축 하는 것이 바람직합니다. 출처: https://unabated.t..

Database 2019.11.26

[오류관리] Dbeaver Password Charset

Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding' password charset이 달라서 발생한 현상, session 설정할때 driver setting에서 User Properties에 charset을 추가해준다. (아래 이미지 참고) + 이렇게 해결한건 1번 동일한 에러였는데 대부분은 password를 잘못 입력한 것이었다. host, username, password 잘 입력했는지 다시 확인할 것! https://github.com/dbeaver/dbeaver/issues/1843

오류관리 2019.10.02

[MySql] DISTINCT , GROUP BY

DISTINCT의 결과를 정렬된 결과가 아니지만, GROUP BY는 정렬된 결과를 보내준다. GROUP BY의 작업을 크게 "그룹핑" + "정렬"로 나누어서 본다면, DISTINCT는 "그룹핑" 작업만 수행하고 "정렬" 작업은 수행하지 않는 것이다. 그런데, 여기서 "정렬"은 "그룹핑" 과정의 산물이 아닌 부가적인 작업이다. 가끔 어떤 사용자는 DISTINCT가 마치 함수인 것처럼 (괄호를 사용하여) 아래와 같이 사용을 하는데 만약 fd1 컬럼은 unique 값, fd2는 전체 값을 원한다면 절대 그 결과를 얻을 수 없다. SELECT DISTINCT(fd1), fd2 FROM tab; SELECT 문장에 DISTINCT라는 키워드가 있으면, MySQL은 SELECT되는 모든 컬럼(튜플)들에 대해서 DI..

Database 2018.05.10

[MySql] INDEX

인덱스 컬럼 기준먼저 말씀드릴 것은 1개의 컬럼만 인덱스를 걸어야 한다면, 해당 컬럼은 카디널리티(Cardinality)가 가장 높은 것을 잡아야 한다는 점입니다.카디널리티(Cardinality)란 해당 컬럼의 중복된 수치를 나타냅니다. 예를 들어 성별, 학년 등은 카디널리티가 낮다고 얘기합니다. 반대로 주민등록번호, 계좌번호 등은 카디널리티가 높다고 얘기합니다.인덱스로 최대한 효율을 뽑아내려면, 해당 인덱스로 많은 부분을 걸러내야 하기 때문입니다. 만약 성별을 인덱스로 잡는다면, 남/녀 중 하나를 선택하기 때문에 인덱스를 통해 50%밖에 걸러내지 못합니다. 하지만 주민등록번호나 계좌번호 같은 경우엔 인덱스를 통해 데이터의 대부분을 걸러내기 때문에 빠르게 검색이 가능합니다. 여러 컬럼으로 인덱스를 잡는다..

Database 2018.05.08

[MySQL] Transaction과 Loack

소스를 보고있었는데 transaction이 걸려야할 것 같은 곳에 transaction이 없었다.이유를 물어보니 transaction을 걸면 lock이 걸린다고했다.row transaction이 걸려야하는데 DB특성상 table transation이 걸려서? 그렇다고 했다.그래서 찾아보았다. MySQL에서 사용하는 Lock의 이해 [출처] http://blog.saltfactory.net/introduce-mysql-lock/ MySQL에서 Lock은 크게 Table Lock, Global Lock, Name Lock, User Lock 이 있다. Table Lock 테이블락은 어떤 세션에서 테이블 자원에 엑세스하여 데이터를 읽거나 쓰기를 할때 다른 세션에서는 테이블 자원에 대한 엑세스를 제한 하는 락이..

Database 2018.03.22

[SQLD] SQL 전문가 가이드 내용 정리

과목1 데이터 모델링의 이해 제1장 데이터 모델링의 이해 제1절 데이터모델의 이해 1. 모델링의 이해 가. 모델링의 정의 나. 모델링의 특징 다. 모델링의 세 가지 관점 2. 데이터 모델의 기본 개념의 이해 가. 데이터 모델링의 정의 나. 데이터 모델이 제공하는 기능 - 가시화, 명세화, 구조화, 문서화, 다양한 관점, 구체화된 상세 수준의 표현방법 제공 3. 데이터 모델링의 중요성 및 유의점 가. 파급효과(Leverage) 시스템 구축이 완성도어 가는 시점에 불가피한 데이터 구조의 변경으로 인한 일련의 변경작업은 시스템 구축에서 큰 위험요소 나. 복잡한 정보 요구사항의 간결한표현(Conciseness) 데이터 모델은 건축물로 비유하자면 설계 도면에 해당. 시스템을 구축하는 많은 관련자들이 설계자의 생각..

Database 2017.10.17

[MySql] Null Vs Not Null Performance

Null Vs Not Null 성능 차이 https://stackoverflow.com/questions/13340702/t-sql-is-not-null-vs-not-null-performancehttp://tip.daum.net/question/62996086 나는 select에서 case문으로 not null 값을 찾아야했는데 혹시나 성능 차이가 있나 싶어서.. 1. select 에서는 큰 성능차이 안남 (sub query가 막 이상한게 아니라면)2. 성능은 where절에서 크게 주도됨 3. if문 보다는 case문이 성능이 나음

Database 2017.08.31
반응형