728x90

A distributed system is a collection of independent components located on different machine sthat share messages with each other in order to achieve common goals.

 

 

 

Cluster:

소프트웨어로 연결된 machines의 set, 협력하여 task처리를 위함, 클러스터 밖에서는 클러스터는 곧 a single system으로 로 보임

 

Node:

클러스터 구성 machine으로 server/virtual machine 등

 

Commodity hardware:

다나와 같은 데서 그냥 구입가능한(off-the-shelf) 기성품 하드웨어를 가리킴

 

Scalability:

분산 시스템에서 하드웨어(가용 컴퓨팅 리소스 변경)/소프트웨어(스케쥴링 메소드 변경)으로 dynamically 컴퓨팅 퍼포먼스를 조절하는 능력

(하드웨어적으로는 # of processors 변경, hard disk capacity변경 등, 소프트웨어적으로는 the degree of parallelism 변경, 스케쥴링 방식 변경 등)

 

Fault tolerance:

분산 시스템에서 리소스를 일부 제거하여도 연속적으로 동작하는 능력

 

Robustness:

기대하는 환경에서가 아닌 좀 더 무리한 상황(stress)에서 작동하는 능력

 

Rolling upgrades:

한번에 모든 nodes에 upgraded software를 deploy하는 게 아니라 점진적으로 upgraded software를 deploy하는 전략

 

Vertical scaling:

CPU/RAM/DISK 등을 single machine에 추가하는 방식의 scaling

 

Horizontal scaling:

other machines을 기존 pool of resources에 추가하는 방식의 scaling

 

Replication:

different machines에 same data를 replicate

이렇게 함으로써 fault tolerance/reduce latency 효과가 가능

 

Partitioning:

splitting dataset into parts and distributing them among different nodes.

이렇게 함으로써 different nodes 각각이 분산 처리를 통하여 scalability 효과가 가능

 

Data locality:

computation이 가능한 영역으로 데이터를 옮기는 것이 아니라,

데이터가 있는 곳으로 computation이 옮기는 방식

이는 network traffic을 줄이는 효과가 가능

 

Rebalancing partitions:

partitioning에서 특정 nodes에 data가 더 많이 몰리거나 node의 추가/제거 가 이루어질 때

한 node에서 다른 node로 data이동을 가리킨다.

 

Consistency:

모든 nodes가 동시에 같은 데이터를 보는 능력, 그러한 환경이면 system is consistent라 한다.

 

Availability:

distributed system에서 어떠한 시간에서도 모든 request가 non-error response를 받아보는 능력

(Not-consistent available이라면, 모든 request가 non-error response를 받지만, 그 결과가 not recent data이기도 한 상황)

 

Partitiion tolerance:

nodes사이에 충분한 replica를 두어(replication) 특정 nodes사이에 네트워킹이 누락되더라도 타 nodes의 도움으로 system이 fail하지 않는 능력을 가리킴

 

CAP Theorem:

Consistency/Availability/Partition tolerance, 이 셋 중 최대 2개만 guarantee할 수 있는 Theorem

(즉 3개다 만족시킬 순 없고 CA/CP/AP 중 하나를 택하는 게 최선이라는 것)

 

Read after write consistency:

데이터의 변화 즉시 그 변화를 확인 or 최신 데이터 로드 를 할 수 있는 능력

 

Eventual consistency:

분산 시스템 내 일련의 writing/updating이 있다면, 그 작업으로 인한 타 nodes에 update가 필요할 수 있다. 그 변화가 시스템 전체에 업데이트 되는 능력을 가리킨다.

(예를 들어 한 남자의 구매내역이 변경 시, 그로인한 타 통계지표 변화가 얼만큼 빨리 변화가 이루어지냐는 것)

 

Small files problem:

Hadoop에서는 HDFS방식의 small files가 많은 방식으로의 저장형태면 computing performance가 현저히 떨어지는 현상

728x90

+ Recent posts