-
Replicas vs ShardsDB 2022. 5. 16. 12:55
먼저 둘 다 분산 DB에서 트래픽을 분산시키기 위해 사용하는 기법이다.
Replicas 는 같은 데이터베이스를 여러 노드로 복제하여 저장하는 방식이다.
예를 들어 하나의 노드(master)에만 WRITE operation을 즉각적으로 하고, 나머지 노드에는 느리게 한다.
실시간성 데이터가 필요하지 않을 경우 master 노드가 아닌 나머지 노드에서 read작업을 분산할 수 있다.
Shards 는 하나의 데이터베이스를 나누어(partitioning) 여러 노드에 분산하는 방식이다.
이렇게 했을 경우 여러 노드의 자원을 이용해 scale-out이 가능하다.
단점으로는 consistency를 보장하기 어렵다는 점이고, 예를 들어 하나의 transaction 을 실행시킬 때 여러 노드에 쿼리를 보내는 경우를 들 수 있다. 그 때, performance vs consistency trade-off 가 생기게 된다.
[REFERENCE] https://www.youtube.com/watch?v=0_m5gPfzEYQ&list=PLSE8ODhjZXjbohkNBWQs_otTrBTrjyohi&index=22
'DB' 카테고리의 다른 글
elasticsearch disk 이슈 (0) 2023.03.07 Real Mysql 내용 정리 (1) 2022.12.18 Redis 에 대해 (0) 2022.05.27 RDBMS 트랜잭션과 락에 대해 (내부 구현) (0) 2022.04.26 RDB Join 에 대해 (0) 2022.04.10