'IT_Infra'에 해당되는 글 41건

donaricano-btn

복제(replication)


1. 복제(replication)?

- 장애 시 데이터 손실을 예방

- 복제를 이용한 부하분산이 가능

- 사용자가 데이터에 엑세스할 때 복제한 것이라는 것을 의식할 필요없다

- 백업과 달리 실제 데이터가 복제 데이터와 실시간으로 동기화


2. 사용되는 곳

1) MySQL 복제

- 데이터 '추가, 갱신, 삭제' 등의 변경 처리(트랜잭션)을 복제 측으로 보낸다

- 실제 데이터 블록을 전송하는 것이 아니기 떄문에 복제 데이터 전송량을 줄인다

- 복제 전송량을 트랜잭션 수와 비례한다


3. 주의 사항

- 복제 위치가 많으면 갱신이 많은 시스템과 같이 복제 오버헤드 높아진다

- 복제와 실제 데이터를 완전히 일치 시키려면 복제 데이터의 쓰기 완료 처리 보장해야함

- 설계나 운용 난이도가 높다



'IT_Infra > Architecture' 카테고리의 다른 글

[IT_Infra] 안정성 및 이중화  (0) 2016.11.20
[IT_Infra] 마스터-슬레이브(master-slave)  (0) 2016.11.14
[IT_Infra] 저널링(journaling)  (0) 2016.11.14
[IT_Infra] 핑퐁(Pingpong)  (0) 2016.11.13
[IT_Infra] 폴링(polling)  (0) 2016.11.13
블로그 이미지

리딩리드

,
donaricano-btn

 저널링(journaling)


1.  저널링(journaling)?

- 트랜잭션이나 매일 갱신되는 데이터의 변경 이력을 남기는 것

- 시스템 장애가 발생했을 때 어디까지 정상 처리 됐는지, 그리고 어디부터 재실행하면 좋을지 알 수 있게 하는 기능

- 데이터 자체가 아닌 트랜잭션(처리) 내용 기록

- 데이터 일관성이나 일치성이 확보되면 필요 없다

- 데이터 복구 시 롤백, 롤포워드 에 이용


2. 이용되는 곳

1) 리눅스의 ext3 

- 트랜잭션 시에 버퍼 정보를 디스크에 기록하지 않기 때문에 버퍼에 있는 최신 데이터를 잃을 수 있다

- 기본 설정에서 5초에 한번 기록되지만, 데이터 파손이 허용되지 않는 경우에는 이 간격을 짧게 조정

- fsck라는 명령을 실행하면 저널링에 의한 복구 작업이 진행

2) 오라클 DB

- 오라클에서는 Redo로그 라고 불린다

- 트랜잭션 종료 시(커밋 시)에 버퍼가 디스크에 기록되지만, 기록중인 Redo로그가 파손된 경우에는 데이터를 최신 상태로 복원할 수 없다

- Redo로그 이중화(member)

블로그 이미지

리딩리드

,
donaricano-btn

핑퐁(Pingpong)



1. 핑퐁(Pingpong)?

- 물건을 운반할 때 상자에 넣으면 효율적으로 관리

- 운반하는 양에 따라 상자 크기를 선택하면 효율적으로 운반

- 큰 상자는 데이터를 빠르게 운반(처리량 중시)

- 작은 상자는 소량의 데이터를 빠르게 운반(지연 시간 중시)


2. 사용되는 곳

1) 오라클 DB의 블록크기

* 블록 크기 : 오라클 DB가 데이터 파일을 읽기/쓰기하는 최소 단위

- 기본적으로 오라클 블록크기는 8KB 이지만 데이터를 읽고 쓰는 크기가 큰 때에는 블록크기를 크게 하고 작을 때는 블록 크기를 작게 사용한다

(OLTP 시스템에서는 작게, DSS 시스템에서는 크게)

- 데이터 베이스 블록크기가 OS블록 크기와 다르면 데이터베이스 블록 크기가 OS블록 크기의 배수가 된다?

DB블록크기 : 8KB, 파일 시스템: 4KB

2) 네트워크

- 웹 브라우저가 데이터를 전송할 때는 OS의 소켓이라는 구조 사용

- OS에 의뢰해서 소켓을 만들어 통신하고 소켓을 만들면 소켓 버퍼라는 상자가 만들어진다

- 소켓 버퍼는 송신버퍼수신버퍼가 있다

- 소켓 버퍼가 가득차면?

- OS에 의해 TCP 세그먼트라는 상자로 분할, TCP헤더, IP헤더 MAC헤더를 붙여서 이더넷 프레임상자에 넣는다

* MSS(Maximum segment size)

- TCP 세그먼트로 분할 될때 MSS의 크기를 초과하지 않는 범위에서 분할

* MTU(Maximum Transfer Unit)

- IP 소켓이 최대 크기




'IT_Infra > Architecture' 카테고리의 다른 글

[IT_Infra] 복제(replication)  (0) 2016.11.14
[IT_Infra] 저널링(journaling)  (0) 2016.11.14
[IT_Infra] 폴링(polling)  (0) 2016.11.13
[IT_Infra] 끼어들기/인터럽트(interrupt)  (0) 2016.11.13
[IT_Infra] 캐시(cache)  (0) 2016.11.13
블로그 이미지

리딩리드

,
donaricano-btn

폴링(polling)


1. 폴링(polling)?

- 정기적으로 질의하는 것을 가리킨다

- 상대가 어떤 상태인지, 어떤 요구를 가지고 있는지 등 파악

- 예전에 데이터 전송 제어를 의미 했지만 지금은 범용적으로 사용


2. 특징

- 질의 방향이 단방향

- 질의는 일정 간격으로 따라 정기적으로 발생

- 프로그래밍이 쉽다

- 상대가 응답하는지 확인 가능

- 일괄처리


3. 폴링(polling) vs 인터럽트(interrupt)

1) 인터럽트

-  이벤트 주도 구조

- 전화기와 같다

- 입출력 장치에 주로사용

2) 폴링

- 정기적으로 입출력 장치 상태확인

- 폴링 간격이 길면 디스크 I/O가 완료됐더라도 금방 알아차리지 못한다

- 간격이 짧게 하면 CPU를 쓸데없이 많이 사용

- 데이터 전송

- 메일 서비스


4. 사용되는 곳

1) 접속 감시(웹 로직 서버)

- MBean이라는 자바 객체를 이용해서 구현되어있다

- AP 서버와 DB 서버간의 연결이 잘 되었는지 감시한다

2) NTP(시간 동기) 처리

- 시간동기? 정기적으로 실시해서 자신의 시간이 맞는지 확인하는 구조


블로그 이미지

리딩리드

,