HDFS Hadoop Distributed File System 데이터 저장을 위한 것. NameNode(master) DataNode(slave)가 있다. 데이터노드는 여러개 있다. 데이터를 여러 블록으로 나눠서 저장한다. 기본값은 128메가인데 바꿀 수 있다. 반응속도보다는 시간당 처리량에 최적화 돼있다. 한번 쓰고 여러번 읽는 모델에 적합하다. 즉, write가 한번 있으면 수정이 없는 모델에 적합하다. 계산 할 때 자료가 워낙 크니까 자료를 옮기기 보다는 계산 작업을 자료 쪽으로 옮긴다. 데이터노드에서 직접 알고리즘을 처리하는 건가. 이걸 데이터 지역성이라 한다. 네임노드에 저장되는 메타데이터는 네임스페이스와 블록 정보가 담겨있는 Fsimage파일과, 파일의 생성, 삭제에 대한 트랜잭션 로그, 메모리에 저장하다가 주기적으로 생성되는 Edits파일이 있다. 네임노드가 구동되고 나면 Edits파일이 빠른 속도로 주기적으로 생성된다. 이 때문에 디스크 부족이 발생하고 재구동 되는 시간도 느려진다. 따라서 세컨더리 네임노드가 Fsimage와 Edits파일을 주기적으로 머지해서 Edits파일을 삭제하기 때문에 디스크 부족 문제를 해결한다. Yarn Yet Another Resource Negotiator Cluster resource management 노드의 뭉텅이를 관리한다. Resource Manager(master) NodeManager(slave)가 있다. 하둡2.0부터 제공되는 리소스 관리 플랫폼으로 MapReduce의 단점을 보완한다. 하둡1.0에서는 MapReduce의 JobTracker가 두 가지 기능을 했는데 하나는 클러스터 전체의 리소스 관리이고 다른 하나는 잡 스케쥴링 및 모니터링이다. TaskTracker는 slave node에서 map reduce 작업을 수행했다. YARN(하둡2.0)에서는 JobTracker의 기능은 ResourceManager, Application Master의 두 가지 프로세...
ACID (Atomicity, Consistency, Isolation, Durability) 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질이다. Atomicity: 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되면 안된다. 이체를 할 때 송금자에게서는 돈이 빠졌지만 그 상태에서 멈춰서 수신자에게 돈이 안들어 갔다면 전체 트랜잭션이 취소되어야 한다. Consistency: 트랜잭션 후에도 데이터베이스가 제약 조건을 만족해야 한다. Isolation: 트랜잭션 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못한다. Durability: 성공한 트랜잭션은 데이터베이스에 반영이 되고 그 반영이 의도와 다르게 되돌려 지지 않아야 한다. DBMS (Database Management System) 데이터들을 일정 단위로 저장하고 유지보수 하는 시스템 CRUD: Create, Retrieve, Update, Delete 대부분은 R이 압도적으로 많기 때문에 효율적인 검색을 위한 디자인이 필요하다. 이진탐색 or B-Tree RDBMS 란 관계형 DBMS로서 테이블 기반으로 저장이 된다. 테이블과 테이블 간의 연관관계를 통해 정보를 찾는다. 병렬 DBMS 는 다중 중앙 처리 장치로 디스크를 병렬로 사용함으로써 처리 및 입출력 속도를 높인다. MPP구조를 하고 있는 경우가 많다. MPP(Massively Parallel Processing) 에서는 존재하는 processor가 각각 전용의 메모리를 갖추어 동작한다. 메모리를 공유하지 않기 때문에 shared nothing architecture라고도 한다. 메모리에서의 접근 충돌이 일어나지 않고 lock manager가 불필요하다. 프로세스의 수가 많아지면 오버헤드가 커져서 시간이 느려진다. SMP(Symmetric Multi Processing) 에서는 모든 processor가 공통의 메모리를 이용하며 동작한다. 효율이 좋은 병렬 처리를 할 수 있다...
댓글
댓글 쓰기