본문 바로가기
반응형

DB3

Cardinality vs Selectivity (카디널리티와 선택도의 차이) 데이터를 다루는 DB나 빅데이터 분야에서 ‘카디널리티(Cardinality)’와 ‘선택도(Selectivity)’는 자주 언급되는 용어다. 이 용어의 차이점을 잘 알고 있어야 데이터의 특성을 잘 파악할 수 있다. 카디널리티(Cardinality)와 선택도(Selectivity)는 절대적인 수치 계산이라기보다는 두 개의 데이터 집합의 특성을 비교하는 상대적인 개념으로 사용해야한다. 카디널리티(Cardinality) 카디널리티(Cardinality)는 특정 데이터 집합의 유니크(Unique)한 값의 개수이다. 예를 들어 데이터베이스에 '성별' 컬럼의 경우 남자와 여자라는 값을 갖는다. (생물학적인 성별만 고려하자면) 이 경우 카디널리티는 2다. 반면 주민등록 번호는 테이블에 존재하는 모든 레코드에 유니크 할.. 2019. 7. 1.
Docker를 이용한 MySQL 설치 방법 도커 환경에서 MySQL을 구동해보자. 간단하기 DB 연동 테스트를 할 때, 별도의 머신을 할당받아 MySQL을 설치하는 것보다 간단하게 도커를 이용해 MySQL을 설치하는게 편리 할 수 있다. 우선 도커는 설치되어 있다고 가정하겠다. 다음 명령어를 이용해 MySQL 도커 이미지를 가져온다. $ docker pull mysql이 명령을 실행하면 도커 허브에서 MySQL 최신 버전 이미지를 다운로드한다. (만약 특정 버전의 이미지를 다운로드하려면 'docker pull mysql:5.5' 같이 버전을 명시하면 된다.) $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql latest 990386cbd5c0 9 days ago 443MB My.. 2019. 5. 19.
[MySQL] 오라클(Oracle) Merge into 구문 따라하기 - 중복키 (Duplicate key) 처리 Primary Key 혹은 Unique Index가 생성되어 있는 테이블 데이터를 Insert 할 때, "Error Code: 1062. Duplicate entry '??' for key PRIMARY" 같은 에러를 자주 보게 된다. 테이블에 테이터를 Insert 하려는데 동일한 Key를 갖는 Row가 이미 테이블에 존재하는 경우 만나게 되는 에러다. 테이블에 데이터가 없으면 insert 하고 있으면 update 하는 동작이 필요한 경우가 있다. 이 때, select를 해보고 insert, update를 판단하는 동작으로 애플리케이션을 작성할 수도 있다. 최고의 시나리오는 다음과 같을 것이다. 하지만 select 이후 중복된 키의 존재 유무를 판단하고, insert 혹은 update를 수행하면 phan.. 2019. 1. 3.
반응형