DB
-
[DB] 샤딩(sharding )이란?DB/Modeling 2023. 1. 31. 21:43
샤딩이란? 샤딩이 나온 배경을 먼저 알아보자면, 현대에는 서비스가 증가 속도 및 데이터 증가 속도가 빠르기 때문이다. 서비스와 데이터가 증가함에 따라 과거에 사용하던 모놀리식 방법으로는 급격히 늘어나는 트래픽을 감당하기 어려워 졌다. 그래서 데이터베이스도 여러대의 컴퓨터에서 처리하고 응답을 해주는 것으로 처리 속도를 높였는데, 이것이 바로 샤딩이다. 즉, 샤딩이란 여러 머신에 저장하는 프로세스를 말한다. 데이터를 샤드라고 하는 더 작은 청크로 분할하고 여러 데이터베이스 서버에 저장한다. 샤딩의 장점 응답 시간 - 컴퓨팅이 여러 대이기 때문에 처리 속도가 향상된다. HA의 용이성 - 컴퓨터의 replica를 진행하여 HA구성하기 용이하다. 자원의 효율적인 사용 - 리소스가 작거나 클 때 데이터 베이스를 붙..
-
[DB] 데이터 모델링 - Partitioning(파티셔닝)이란?DB/Modeling 2023. 1. 30. 21:29
파티셔닝이 나온 배경은? 데이터는 시간이 지날수록 증가하는 속성을 가진다. 애플리케이션이 런칭돼고 사이즈가 증가하면서 DB자체가 VLDB(Very Large DB)로 돼게된다. 즉, 데이터의 량이 많아져 한 DB에 데이터를 모으게 돼면, 쿼리문 실행 시 속도가 느려질 뿐만 아니라, 보관 비용도 엄청나게 커지게 된다. 이런 문제를 해결하기 위해서 테이블 단위로 데이터를 나뉘는 방식을 고안하게 되었는데, 이것이 파티셔닝이다. 파티셔닝이란? 데이터 사이즈가 큰 테이블을 두 개 이상의 작은 테이블로 나누는 것을 파티셔닝이라고 한다. 보통 쿼리가 스캔할 데이터의 범위를 좁혀서 응답시간을 빠르게 하기 위한 목적으로 사용한다. 파티셔닝 이점 가용성 - 데이터를 나눠놨기 때문에 하나의 DB가 죽더라도 빠르게 살려 데이..