프로토콜 버퍼(protobuf)란?
·
면접
1. 소개현대 애플리케이션에서 데이터 직렬화의 중요성오늘날의 소프트웨어 개발에서는 다양한 시스템과 애플리케이션 간에 데이터를 효율적으로 교환하는 것이 매우 중요합니다. 특히 마이크로서비스 아키텍처의 확산과 모바일 및 IoT 기기의 증가로 인해 네트워크 상에서 주고받는 데이터의 양과 빈도가 폭발적으로 늘어나고 있습니다.기존 직렬화 방식의 한계전통적으로 데이터 교환에는 JSON이나 XML과 같은 텍스트 기반의 포맷이 많이 사용되어 왔습니다. 이러한 포맷은 사람이 읽기 쉽고 이해하기 편리하다는 장점이 있지만, 데이터 크기가 크고 파싱 속도가 느리며, 데이터 타입에 대한 명확한 정의가 부족하다는 단점이 있습니다.프로토콜 버퍼의 등장 배경구글은 내부 시스템에서 대용량의 데이터를 효율적으로 처리하기 위해 보다 빠르..
[OS] 가상 메모리(swap) 사용 시 CPU 점유율이 폭증하는 이유
·
Computer Science/Operating System
연구팀을 위해 데이터를 뽑는 도중 큰 데이터를 뽑다가 서버를 터트렸다. 해당 원인에 대해서 공부했던 내용에 대해서 서술한다. 가상 메모리(swap)란? 가상 메모리는 물리적인 RAM이 부족할 때 디스크 공간의 일부를 RAM처럼 사용하는 시스템이다. 이는 임시 방편으로 RAM이 부족한 상황에서 프로세스를 계속 실행하게 해준다. 예를 들어, 사용자가 8GB RAM을 갖춘 컴퓨터에서 10GB의 메모리를 요구하는 대규모 응용 프로그램을 실행하려고 시도한다면, 실제 물리적인 RAM만으로는 충분하지 않다. 이때, 운영체제는 2GB의 데이터를 하드 디스크의 swap 영역에 저장하게 된다. 이로 인해 사용자는 마치 10GB의 RAM이 있는 것처럼 프로그램을 실행할 수 있다. 하지만, 디스크 I/O는 RAM보다 느리므로..
얼은펭귄