본문 바로가기

데이터베이스8

샤딩 vs 파티셔닝 (Sharding vs Partitioning) 분산데이터베이스의 개념이 나오면서 데이터를 잘개 쪼개놓는 아키텍처가 많은 데이터베이스에 적용되었다.대량의 ROW가 있는 테이블을 조회할 때 인덱스 처럼 나눠져만 있다면 쉽게 접근할 수 있는 개념과 비슷하다.흔히 일별, 월별 등으로 파티션을 하는데 이 때 우리는 파티셔닝이라는 개념을 접하지만 샤딩이라는 개념은 생소할 수도 있다. 샤딩 vs 파티셔닝 (Sharding vs Partitioning) 회원ID 회원명 회원등급 012 호날두 A 100 메시 A 299 벤제마 B 456 음바페 C 1. 샤딩? 수평 분할 ( Horizontal Partitioning ) 위와 같은 테이블이 있을 때 회원ID를 기준으로 샤딩을 적용하면 회원ID가 1~100까지 1개 테이블, 2~200까지 1개테이블, 3~300까지 1.. 2018. 7. 25.
MSSQL 인덱스 생성 CREATE INDEX (CLUSTRED, NONCLUSTRED, INCLUDED, FILTERED INDEX) MSSQL은 테이블을 만들면서 인덱스를 만들 수 있다예를 들어 PRIMARY KEY나 UNIQUE 제약을 지정하면 해당 컬럼에 인덱스가 자동으로 만들어진다.예를 들어 PRIMARY KEY나 PRIMARY KEY CLUSTERED로 설정하면 고유한 클러스터형 인덱스를 만들 수 있고 UNIQUE CLUSTERED로 설정하면 고유한 클러스터형 인덱스를 만들 수 있다. 그냥 UNIQUE 로 설정하면 고유한 비클러스터형 인덱스가 만들어진다. 하지만 이렇게 말고 테이블을 생성 하고 CREATE INDEX 문으로 인덱스를 만들어보자 다음은 CLUSTRED 인덱스를 만드는 쿼리문이다.1. 단일 열에 클러스터드 인덱스 만들기CREATE CLUSTRED INDEX CL_COL1ON TABLE_NM(COL1)GO 2. 복합.. 2018. 4. 25.
데이터 정규화 (제 1차~5차 정규화) 정규화의 목적데이터를 효율적으로 저장하고 중복을 방지하여 저장 공간을 낭비를 줄이는 것이다. 하지만 테이블 갯수가 많아지니 쿼리문을 짤 때 join을 사용해야한다.테이블 간의 관계에서 올바르지 못한 삽입, 삭제, 업데이트 이상이 발생하지 않도록 한다.새로운 형태의 데이터가 삽입될 때 관계를 재구성할 필요성을 줄일 수 있다. 정규화는 제 1 정규화부터 제 5 정규화까지 존재하며 흔히 정규화 대상은 1~3 정규화까지만 한다.. 제1 정규화어떤 릴레이션에 속한 모든 도메인이 원자값을 갖도록 하여 더 이상 분해할 수 없도록 한다. 이름 취미 노블레스 컴퓨터, 게임 라이제르 축구, 야구 위와 같은 테이블의 경우 취미가 n개일 때 옆에다가 계속 써주던지, 아니면 취미1, 취미2, 취미3 컬럼을 계속 만들어주던지 해.. 2018. 4. 24.
CREATE DATABASE 데이터베이스 생성하기 MSSQL에서 데이터베이스를 만드는 예제이다 NAME과 FILENAME, 최초 사이즈, 최대 사이즈, 사이즈를 넘어설 시 증분되는 사이즈를 적어준다.그리고 LOG의 위치도 똑같이 만들어주면 된다. 예제 1. 기본 파일그룹 PRIMARY를 활용하여 데이터베이스 생성 - 사실 실무에서는 이렇게 쓰는 경우는 없다.USE master CREATE DATABASE TestDBON PRIMARY ( NAME = N'TestDB', FILENAME = N'C:\Data\TestDB_01.mdf' , SIZE = 102400KB , MAXSIZE = 512000KB , FILEGROWTH = 10240KB )LOG ON ( NAME = N'TestDB_log', FILENAME = N'C:\Data\TestDB_log.. 2018. 4. 22.