Skip to content

Instantly share code, notes, and snippets.

@anarcher
Last active August 29, 2015 13:57
Show Gist options
  • Save anarcher/9501185 to your computer and use it in GitHub Desktop.
Save anarcher/9501185 to your computer and use it in GitHub Desktop.
Datomic

기존의 데이터베이스는 Client/Server구조를 기본적으로 가진다. [[Scalability]]을 위해 Server을 Clustering을 하거나 Sharing,Replicating을 하게 된다. 그리고 Client(Application)에서 일종의 Caching을 구성하게 된다.

[[Datomic]]은 이러한 전통적인 데이터베이스의 구성요소를 해체(Deconstruct)해서 다음과 같은 구조로 각 요소에 대한 좀 더 효율성(Efficiency)과 확장성([[Scalability]])을 구성할수 있도록 한다.

  • Peers : LiveIndex,Local Cache,Query (쿼리 할 때 Live Index,Local cache를 참고한다 (모든 데이터에 대한 캐쉬가 각 Peer에 존재하는 듯 하다(기본적으로))
  • Transactor : 각 Peer의 Writes에 대한 모든 Transaction을 담당한다.
  • Storage services : 영속적인 스토리지 서비스에 대한 인터페이스
  • Cache : Optional

img

[[Datamic]]의 데이터는 불변성(Immutable)을 가진다.

[[ToDo]]

[[Datomic Rationale]]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment