본문 바로가기

Computer Science/IT Infra

(4)
I/O 크기 - I/O 크기란 1회의 I/O에 필요한 사이즈, 즉 데이터를 주고 받을 때 사용되는 I/O의 크기를 의미함. 이 I/O 크기는 인프라 설계나 성능 튜닝에 있어 중요한 개념임 - 짐을 나를 때 적합한 크기의 상자에 넣어야 효율적으로 운반할 수 있음. 택배를 보낼 때 물건에 맞게 상자 크기를 선택하는 것과 같음 오라클 DB 예 - 오라클 DB가 데이터 파일을 읽기/쓰기하는 최소 단위를 데이터 블록이라고 하고, 그 크기를 블록 크기라고 함 - 블록 크기가 8KB라고 가정하면, 1바이트의 데이터를 읽는 경우에도 8KB를 읽음. 블록 크기가 32KB이면 1바이트 데이터를 읽어도 32KB를 읽어야 함 => 블록 크기가 이미 정해져 있기 때문에 데이터 사이즈가 작아도 그만큼 불러올 수 밖에 없다 = 낭비로 이어질 ..
Stateful vs Stateless 상태 저장(Stateful) - 어떤 작업을 하고 있을 때 현재 어디까지 작업이 진행됐는지와 같이 '상태'를 알아야 하는 경우가 있음 - 시스템 처리를 하고 있을 때도 이 '상태'를 파악해야 하는 경우가 많음 - e.g. 병원에서는 '상태'를 고려해야 함 -> 접수 전 상태/ 접수 완료 상태/ 진료 완료 상태 - '상태'를 가진다는 것은 과거에 부여한 '정보'를 저장해서 계속 활용할 수 있다는 것을 의미함 비저장(sateless) - 상태를 고려하지 않는 것 - e.g. 슈퍼마켓에서 물건을 살 때는 '상태'를 고려하지 않아도 됨. 물건을 가지고 계산대로 가면 그대로 정산을 해줌 https://www.youtube.com/watch?v=P8D6P-6KVNM
배타적 제어 - 배타적 제어란 '다른 것을 배제하는 제어'를 의미함 (e.g. 회의실) - 누군가가 회의실을 이미 사용중이면 다른 사람은 해당 회의실을 사용할 수 없음 - 여러 사람이 공유하기 때문에 배타적 제어가 필요함 - 컴퓨터 세계에서도 직렬 처리에서는 배타적 제어가 필요없지만, 병렬 처리에서는 필요함 - 배타적 제어를 하는 부분은 병목 현상이 발생하기 쉬움 DBMS에서의 배타적 제어 - 매우 짧은 시간 동안만 락(Lock)을 유지하는 래치(Latch) - CPU에서 의미가 없는 처리를 하면서 대기하는 방식 - 스핀락(Spin-lock)이라고도 불림 - 비교적 장시간 락을 유지하도로 큐를 이용해서 관리하는 방식인 슬립락(Sleep-lock)이라는 것도 있음 - 스핀해서 락을 확보하지 못하면 슬립하는 등 상황에 ..
HDD와 SSD의 차이점 • A hard disk drive (HDD, 하드 디스크 드라이브) - 서버에서는 메모리에 비해 CPU에서 떨어진 곳에 HDD가 배치됨 - 주로 장기 저장 목적의 데이터 저장 장소로 사용함 - 메모리: 전기가 흐르지 않으면 데이터가 사라짐 vs. 디스크: 전기가 없어도 데이터가 사라지지 않음 • A solid state drive (SSD, 반도체 디스크) - 메모리와 같이 반도체로 만들어졌지만, 전기가 없어도 데이터가 사라지지 않음 - SSD의 등장으로 인해 메모리와 기억 장치간 속도 차이가 거의 없어짐 출처: 그림으로 공부하는 IT인프라 구조 가격은 HDD이 더 저렴하고, SSD는 속도가 훨씬 더 빠름 내구성 역시 차이남 어떤 용도로 사용할거냐에 따라 무엇을 선택할지 다름 둘다 쓸 수도 있음