빅 데이터 처리에서 확장성의 중요성
> 데이터의 양이 기하급수적으로 증가함에 따라 많은 기업의 데이터 베이스가 직면하고 있는 데이터의 홍수로 인해 압도
> 데이터 오버플로를 관리, 저장 및 처리하기 위해 폭발적인 데이터 세트를 처리하는 많은 조직에서 “데이터 스케일링”이라는 기술이 필요
> 수직확장 또는 수평확장을 통해 상당한 양의 데이터를 관리
> 마이크로서비스와 클라우드 환경이 발달이 되고 하드웨어의 종속성이 줄어들면서 우리는 수평확장 기술로 컴퓨터의 클론을 만들어 가용성을 높임
데이터 중복성
> 한 컴퓨터의 클론을 만든다는 것은, 그 안에 존재하는 데이터 역시 복제되어야 함을 의미
> 데이터 중복 메커니즘은 가용성을 얻기 위해 필요
데이터 중복 발생의 원인
> 관리시스템 내의 소프트웨어(코딩) 품질
> 백업시스템
데이터 중복성의 이점
> 정보 보호 개선 : 조직의 모든 데이터가 서로 다른 위치에 있는 경우 사이버 공격이 상당한 양의 데이터를 동시에 표적으로 삼는 것도 어려움
> 데이터 백업 생성 > 데이터 엑세스 속도 향상 > 데이터 정확성 보장 : 데이터 관리 시스템은 동일한 데이터에 대해 여러 위치를 가짐으로써 불일치를 평가하여 데이터의 정확성을 향상 > 정확한 분석
데이터 중복성의 문제점
> 불일치 증가 : 모든 위치에서 즉시 업데이트 되지 않는 경우 불일치가 발생
> 데이터 손상 가능성 : 데이터 손상은 저장, 전송 또는 생성과정에서 정보가 손상되거나 오류가 발생하는 경우 발생
> 유지 비용 증가
스토리지 : 스토리지 블록을 저장하는 데는 비용이 들기 때문에 중복 데이터를 제거하는 것은 매우 중요
네트워크 : 중복 데이터 블록을 기기에서 백업 서버와 스토리지로 불필요하게 전송하면 네트워크 경로가 여러 지점에서 포화 상태
디바이스 : 파일을 호스팅하는 디바이스든 단순히 데이터를 전달하는 디바이스든 백업 경로상의 모든 기기는 중복 데이 터를 위해 프로세서 사이클과 메모리를 낭비
시간
사용할 수 없는 데이터 생성
데이터의 중복을 줄이는 방법
> 마스터 데이터 활용
- 데이터 관리자가 여러 시스템 또는 애플리케이션에서 공유하는 공통 비즈니스 데이터의 유일한 소스
- 데이터 중복의 발생을 줄이지는 않지만 조직이 특정 수준의 데이터 중복을 적용하고 해결
> 데이터베이스 정규화
- 중복제거를 보장하기 위해 데이터베이스에 데이터를 효율적으로 배열하는 작업
> 미사용 데이터 삭제
> 데이터베이스 설계
- 데이터 베이스에서 직접 읽을 수 있는 사내 애플리케이션으로 데이터 베이스 아키텍처를 설계
데이터 중복처리
1. 데이터 중복 제거(Deduplication)
데이터 중복제거 유형
<저장 시점에 따른 유형 >
인라인 중복 제거(Inline deduplication)
- 인라인 처리 : 수신 데이터가 스토리지 미디어에 기록되기 전에 데이터 축소가 발생하는 중복을 제거하는 데 널리 사용되는 방법
중복 제거 도구 - SDS(Software Defined Storage) 컨트롤러
- 데이터의 중복 제거가 되지 않은 데이터세트는 디스크에 기록되지 않기 때문에 시스템에 필요한 원시 디스크 용량을 줄임
후처리 중복 제거(Post-process deduplication)
- 후처리 : 데이터가 먼저 저장 매체에 기록된 다음 복제 및 압축 기회에 대해 분석되는 접근 방식
- 데이터가 저장 장치에 한번 저장된 후에만 중복 제가가 실행되기 때문에 원시 데이터 크기(데이터 축소 전)만큼 필요한 초기 용량이 있음
<데이터 분류 방식에 따른 유형>
고정 블록 중복 제거(Fixed block deduplication)
- 데이터를 고정된 블록 크기로 분류해 중복제거를 진행하는 것
- 중복 제거 속도가 빠르고 CPU 부하가 적음 but 중복 제거율이 떨어지는 편
- 메인 스토리지에 사용
가변 블록 중복 제거(Variable block deduplication)
- 데이터 유형에 맞게 블록 크기를 자동으로 나누어 분류해서 중복제거를 진행
- 데이터 유형이 다양한 경우에 적합, 매우 높은 중복제거 효율
- 백업용 스토리지에 적합
<진행 위치에 따른 유형>
소스 기반 중복 제거(Source-based deduplication)
- 소스 측에서 중복제거를 진행한 후 타겟에 전송하는 방식
- 전반적인 백업 속도를 향상
- 소스 측 CPU 리소스가 소모, 데이터 복구 속도가 느린 점
- 소규모 원격 사무소에 적합한 방식
타깃 기반 중복 제거(Target-based deduplication)
- 타겟 스토리지에서 진행되는 중복제거
- 백업 소프트웨어와 호환된다는 장점
- 소스에 리소스 부하 없이 진행되어 서비스 운용이나 복구 속도에 지장을 주지 않음
- 소스 중복제거에 비해 오래된 기술로 안정적이라 대규모 데이터베이스나 일일 데이터 변경 빈도가 높은 데이터베이스 구축환경 적합
2. 데이터 압축(Compresstion)
- 한 행에 나타나는 동일한 데이터 시퀀스를 먼저 찾은 다음 첫 번째 시퀀스만 저장하고 다음의 동일한 시퀀스를 행에 나타나는 횟수에 대한 정보로 대체하여 데이터 크기를 줄이는 알고리즘 프로세스
- 바이너리 수준에서 데이터 크기를 더 작게 만들면 디스크 공간이 덜 사용되므로 사용 가능한 용량에 더 많은 데이터를 저장
※ 데이터 무결성 : 데이터가 손상되지 않고 정확하게 저장되어 관리되는 것
※ 2 phase commit 프로토콜 : 분산 시스템에서 여러 개의 데이터베이스나 서비스를 사용할 때 일관성을 유지하기 위한 프로토콜,
첫 번째 단계는 트랜잭션 코디네이터가 모든 참여자에게 트랜잭션을 수행할 것인지 묻는 것
두 번째 단계는 트랜잭션 코디네이터가 모든 참여자에게 트랜잭션을 커밋할 것인지 롤백할 것인지 묻는 것
'DevOps BootCamp > 데이터베이스' 카테고리의 다른 글
정형 데이터와 비정형 데이터 (0) | 2023.03.29 |
---|---|
데이터 파이프라인 (0) | 2023.03.29 |
스트림 처리 (0) | 2023.03.29 |
캐싱 (0) | 2023.03.29 |
캐싱 (0) | 2023.03.29 |