본문 바로가기

Project

SNA (Shared Nothing Architecture)


A shared nothing architecture is a distributed database architecture without a single point of failure. The term "shared nothing" is by imitation of other terms such as "shared disk", "shared network" and so on.

A typical shared nothing system would have duplicated disks, processors, power supplies, and networks. To make the system truly resilient, it should also have these systems split between different physical sites, and have multiple sources of electrical power and network connections to the outside world through physically diverse paths.

  SNA (Shared Nothing Architecture)란 리소스(CPU,Memory,Disk,etc)를 공유하지않은 구조를 말한다.

 쉽게 말해 서비스를 구성하는 리소스를 서버와 함께 분리함으로서 개개의 서버의 failure로부터
격리하고 높은 scalability(범위성)를 얻겠다는 것이다.

 일반적인 분산 아키텍쳐의 개념을 극대화 시킨것인데 , 분리된 데이터의 및 리소스의 일관성은
운영체제 Layer에서 특별한 protocol을 이용해 관리하고 개개의 서버는 자신만의 사본 리소스를 가지게
된다.

 이미 구글의 아키텍쳐로 널리 알려져 있는데 구글은 하루 20대이상의 서버가 수명을 다하지만 쉽게 서버를
교체할 수 있는 자신들만의 운영체제를 통해 트래픽의 폭주 및 서버의 오류에서도 높은 가용성을 가지고 있다.


ISSUE
    추가링크 http://timwolters.blogspot.com/2005/12/shared-nothing-architecture-and-short.html

Tim Wolters said...
 The Shared Nothing Architecture name is a play on older architectures that were referred to as Shared Memory or Shared Disk. What SNA is really about is creating applications that don't store state locally. Sharing local state across a distributed environment is a bit of a nightmare. BTW, multi-tier architectures put a persistent data layer in between external apps and the database. SNA goes in the opposite direction, with smaller apps directly accessing the database.

 이 구조에 대해 몇몇 이슈가 있는데, 이러한 각각의 App의 상태는 보존되기가 힘들어진다.
왜냐하면 local app의 상태를 분산된 서버들 사이에 공유되어야하게 된다면 그것은 악몽같은 일이기때문이다.
결과적으로 short live app또는 stateless app(웹검색,etc..)에 적합한 아키텍쳐이다.