본문 바로가기

운영체제

공통 과제

1. 운영체제: 메모리관리
가상 메모리에 대해 설명해보세요.

2. Redis에 대해서 간단히 설명해주세요.

 

읽은 사이트

https://devlog-wjdrbs96.tistory.com/374

https://steady-coding.tistory.com/586

 

redis는 Memcache와 비슷한 캐시 시스템

 

1) 영속성 persistence == 상태가 유지됨 

데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성

disk에 데이터를 저장함: 서버가 내려가도 disk에서 데이터 읽음

 

Disk에 데이터 저장 방식

  • RDB(Snapshotting) 방식
    • 순간적으로 메모리에 있는 내용 전체를 디스크에 옮겨 담는 방식
  • AOF(Append On File) 방식
    • Redis의 모든 write/update 연산 자체를 모두 log 파일에 기록하는 형태

 

 

2) 인 메모리 DataBase

메모리에  데이터를 저장, 조회 -> 빠름

저장된 데이터를 정렬하여 다시 읽어오는 과정은 디스크에 직접 접근을 해야하기 때문에 시간이 더 걸린다는 단점

 

3)key-value 타입의 저장소

 

4) 싱글 스레드

싱글 스레드 -> thread safe : 연산을 하나씩 처리한다

 

 

 

5) 다양한 데이터 구조 지원함

기본: key-value

hash ??

 

Map??

 

hashMap??

 

List??

 

Set??

Sorted Set??

Stream>>

 

3. Redis와 Memcached의 차이에 대해서 설명해주세요.

Memcached와 Redis 엔진은 둘 다 인 메모리 키-값 저장소입니다. 
NoSql 데이터베이스라고도 할 수 있죠.

1. 1ms 이하의 응답대기시간
1ms 이하의 응답시간을 제공합니다. 데이터를 메모리에 저장하기 때문에, 
디스크 기반의 데이터베이스보다 빠르게 데이터를 읽을 수 있습니다.

2.개발의 용이성
문법적으로 사용하기 쉽고, 개발코드 양 또한 적습니다.

3. 데이터 파티셔닝
데이터를 여러 노드에 분산하여 저장시킬 수 있습니다. 
따라서 수요가 증가할 때 더 많은 데이터를 효과적으로 처리하기 위하여 스케일아웃이 가능합니다.

4. 다양한 프로그래밍 언어 지원
여러 개발언어를 지원합니다. 자바, 파이썬, C, C++, C#, JavaScript, Node.Js, Ruby, Go 그리고 다른 언어들을 지원합니다.

공통점 출처: https://chrisjune-13837.medium.com/redis-vs-memcached-10e796ddd717

 

이미지 출처: https://luran.me/359

https://luran.me/359

Memcached?

Memcached는 사용이 간편한 고성능 인 메모리 데이터 스토어입니다.

1밀리초 미만의 응답 시간을 제공할 수 있는 성숙하고 확장 가능한 오픈 소스 솔루션을 제공하므로 캐시 또는 세션 스토어로 사용하기 유용합니다. Memcached는 웹, 모바일, 앱, 게임, 광고 기술 및 전자 상거래에서 실시간 애플리케이션을 지원할 때 널리 사용됩니다.

데이터를 디스크 또는 SSD에 저장하는 데이터베이스와는 달리

Memcached는 데이터를 메모리에 유지합니다. 디스크에 액세스할 필요가 없으므로 Memcached와 같은 인 메모리 키 값 스토어는 검색 시간 지연을 방지하고 수 마이크로초 만에 데이터에 액세스할 수 있습니다.

 

Memcached는 분산형입니다. 즉, 새로운 노드를 추가하여 손쉽게 확장할 수 있습니다.

 

Memcached가 다중 스레드이므로 컴퓨팅 파워를 손쉽게 확장할 수 있습니다.

 

속도 및 확장성, 단순한 설계, 효율적인 메모리 관리 및 인기 있는 언어 대부분에 대한 API 지원의 결과로

Memcached는 고성능의 대규모 캐싱 사용 사례에 널리 사용됩니다.

 

 

인메모리?

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=gkenq&logNo=10183400845

이미지 출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=gkenq&logNo=10183400845 

 

디스크: 저장된 내용을 메인 메로로 로딩 -> 실행을 위해 CPU로 데이터 재전송

인메모리: 메인메모리에서 바로 CPU로 데이터 전송

 

 

'운영체제' 카테고리의 다른 글

공통과제  (0) 2022.08.24
공통과제  (0) 2022.08.17
공통과제  (0) 2022.08.11
공통과제  (0) 2022.08.04
공통과제  (0) 2022.07.28