Kimuksung / bigdata

0 stars 0 forks source link

기본적인 client server database 동작원리 #14

Open Kimuksung opened 4 years ago

Kimuksung commented 4 years ago

-server의 관점-

1 .virtualization => 1) container 2) virtual machine vm은 dependency , library 호환 문제 어디서나 접속만 하면 똑같은 형태로 만들어줌 container는 vm의 os 처리 단계를 없애 memory와 속도를 더 발전 시켰다. app을 작동(cmd도 가능) Ex) docker

  1. nodejs ->javascript 비동기 처리 하지만 javascript single thread를 사용한다. 이 때문에 nonblocking 사용(call stack / task queue)

  2. data 관점
    cluster = n개의 computer를 합쳐둠 node = 각각의 computer. 마스터에 의해 관리된다. pod = cluster의 가장 작은 단위 항상 node에서 실행된다.

  3. ORM db의 data와 object를 mapping하여 준다. 직관적으로 접근할수 있도록

궁금한게 hadoop 안에 cluster와 node 개념이 존재 server를 여러개의 process처럼 나누는데 이느 container와 같은 개념이 아니다?

container는 app자체에서 돌아가는 개념임으로 map reduce를 이용한다. 나머지 resource를 관리하는 것은 resource manager로 여러개의 app을 scheduling한다.

  1. redux 개념 database와 object를 연결해주는 개념인ORM을 이용하여 react에서 나오는 개념으로 react는 수 많은 component들이 존재하며 data를 변경하거나 저장하기 위해서는 root component인 app에 전달을 해주어 app이 다시 뿌려주는 역할이였다. 하지만 이러한 개념은 component가 수직구조로 길다면 매우 비효율적이다. 따라서 이를 보완하고자 redux라는 개념이 나타났으며, subscribe를 통하여 data 변경이 있는지 계속 알아보고 변경이 있다면 listener를 통해 갱신 data를 변경하기 위해서는 dispatch라는 개념을 통해 redux에 알려주고 state를 바꾼다. 이를 통해 subscirbe는 state를 보고 data 변경을 한다.