RAID 전략에 대해서 알아보기
·
CS지식
RAID(Redundant Array of Independent Disk) 여러개의 디스크에 일부 중복된 데이터를 나눠서 저장하는 기술을 의미한다 주된 사용 목적으로는 다음과 같다 무정지 구현 : RAID 1 고성능 구현 : RAID 0 무정지, 고성능 혼용 : RAID 01, RAID 10 두가지 타협 : RAID 5, RAID 6 RAID 0 데이터의 빠른 입출력을 위해서 여러디스크에 분산저장 데이터 유실발생시에, 복구를 할수없음 RAID1 장애를 대비해서 복제된 디스크를 구성 데이터 유실발생시에, 복구를 할수 있으나 전체용량의 절반을 복구용으로 사용함 RAID5 디스크 하나가 장애 날 경우, 복구하기위한 정보(Parity)를 나누어 저장하는 형태 RAID6 2개의 Parity를 구성함으로써 안정성을..
VM vs Container
·
CS지식
VM vs Container 용어 정리 Container Application이 구동되는 환경까지 감싸서, 실행할수 있도록 하는 격리 기술 Container Runtime Container를 다루는 도구 Docker Container를 다루는 도구 중 가장 유명한 것 Orchestration 여러서버에 걸친 컨테이너를 사용, 관리하는 행위 Kubernetes(이하 K8s) Container런타임을 통해, Container를 Orchestration하는 도구 Virtualized vs Container VM방식과 Container방식은 가장 큰 차이점은 GuestOS 가 존재하는가? 이다 Container방식은 OS(GuestOS)를 만들지않고, ContainerRuntime(Docker는 DockerEn..
In-Memory 는 왜 쓸까?
·
CS지식
선요약 In-Memory는 데이터의 처리가 끝나지않았다면, 메모리에서 계속 가지고 있는 형식이다 읽기 쓰기 횟수를 줄임으로써, 속도를 빠르게 가져갈수 있다 In-Memory 가 뭘까? 쉽게 말해서 In-Memory는 ‘데이터를 메모리 위에서만 가지고 있겠다’ 라는 뜻이다 이해를 돕기위해 Hadoop과 Spark의 자료를 첨부한다 Hadoop은 스토리지에서 데이터를 가져오고, 다시처리해서 스토리지에 넣는 과정을 반복한다 Spark는 스토리지에서 데이터를 가져오고, 다시 처리한다음에 메모리에 넣고, 처리하는 과정을 반복하고, 모든 처리가 끝나면 스토리지에 넣는다 기존방식과 In-Memory의 차이 기존방식 ‘Storage’에서 읽고 ‘Memory’에 올린다 → 데이터를 처리하여, ‘Storage’에 넣는다 ..
도커와 가상환경(VM)의 차이
·
CS지식
선요약 VM은 GuestOS를 각각 할당하고, Docker는 GuestOS를 할당하지않는다. 그러나 프로세스를 돌리기 위해서는 Kernel이 필요한데, VM에서는 각각의 GuestOS를, Docker에서는 공유된 Linuxkernel을 사용한다. 사진에서 보이는 Linuxkernel은 사실 DockerEngine이고, DockerEngine은 VM이라서 OS를 가질수있다(LinuxOS를 사용한다) Linuxkernel의 controlgroups && namespace기능으로 가상의 벽을 만들어서, DockerContainers은 각각의 프로세스를 가졌다. Virtual Machine (가상환경) 가상화 기술은 대체로 하이퍼바이저 기반의 가상화방식을 사용한다. 하이퍼바이저는 논리적으로 분할된 공간에서, V..
캐시메모리가 빠른 이유
·
CS지식
캐시메모리 캐시메모리(Cache Memory)는 속도가 빠른장치(CPU)와 느린장치(메모리)간의 속도차에 의한 병목현상을 줄이기 위한 범용메모리다. 메인 메모리와 CPU사이에 위치하며, CPU속도에 버금갈만큼 메모리계층에서 가장 빠르며, 용량이 적고 비싸다 캐시메모리가 속도가 빠른이유 캐시메모리는 메인메모리에서 자주 사용하는 프로그램과 데이터를 저장해두어 속도를 빠르게한다. 이를 위해서 CPU가 어떤 데이터를 원하는지 어느정도 예측을 할수 있어야한다 캐시메모리에 CPU가 ‘다음에 참조할 정보'가 어느정도 들어있는지에 따라 캐시의 성능이 결정되기 떄문이다. 이를 위해서 사용하는것이, 캐시의 지역성(Locality)이다 Cache Locality(지역성) 데이터에 대한 접근이 시간적 혹은 공간적으로 가깝게 ..
파이썬이 C언어보다 느린 이유
·
CS지식
파이썬 동적 타이핑, 인터프리터 언어. 동적타입 vs 정적타입 동적타입이라는것은 선언할때 자료형을 선언하지 않다는것이고, 인터프리터가 정의된 객체의 자료형을 알고있지않다는것을 의미한다. 자료형의 명시 여부는 처리속도에도 영향을 미치는데 자료형을 명시했다면 런타임과정에서 자료형타입에 맞게 바로 함수를 호출하면 되지만, 자료형을 명시하지않았다면 런타임과정에서 객체의 존재를 확인 → 객체의 자료형타입을 확인 ( PyObject_HEAD) → 자료형타입에 맞게 함수 호출 하는 과정을 거친다. 자료형을 명시했다면 ‘객체의 자료형을 판단하지 않고' 바로 타입형에맞게 함수를 사용가능하다는것이다. 이는 선언하는 과정에서도 차이나는데 ## C언어 int a = 1; int b = a+2; ## Python a = 1 b..
jjongguet
'CS지식' 카테고리의 글 목록