반응형

2026/03/20 2

⚡ [1일 1CS] CPU가 노는 꼴은 못 본다! 캐시 메모리와 지역성의 원리

1. 문제 상황: "거북이와 토끼의 협업"컴퓨터의 연산 속도는 비약적으로 발전했지만, 데이터를 담아두는 RAM(메모리)의 속도는 그 발전 속도를 따라가지 못했습니다.CPU: 1초에 수십억 번의 연산을 처리할 만큼 광속으로 달리는 토끼입니다.메모리(RAM): CPU에 비하면 한 걸음 떼는 데 한참 걸리는 거북이입니다.비극: CPU가 계산을 하려 해도 메모리에서 데이터를 가져오는 데 시간이 너무 오래 걸려, CPU는 대부분의 시간을 멍하니 기다리는 데(IDLE) 쓰게 됩니다.2. 해결책: 캐시 메모리 (L1, L2, L3)CPU와 메모리 사이에 "작지만 아주 빠른" 임시 창고를 하나 더 만들었습니다. 이게 바로 캐시 메모리입니다.L1 캐시: CPU 내부에 직접 붙어있는 가장 빠른 캐시. 용량이 매우 작습니다..

🔍 [1일 1CS] 수조 개의 데이터에서 '단어' 하나 찾기: 엘라스틱서치와 역색인

1. RDB의 한계: "전부 다 읽어봐야 해"일반적인 관계형 데이터베이스(MySQL 등)에서 제목에 '강아지'가 포함된 글을 찾으려면 어떻게 할까요?쿼리: SELECT * FROM posts WHERE title LIKE '%강아지%';문제: DB는 제목의 처음부터 끝까지 글자를 하나하나 대조하며 읽어야 합니다. 데이터가 1억 건이라면? 한 번 검색할 때마다 서버가 비명을 지를 겁니다. (지난번에 배운 인덱스도 단어 중간 검색에는 힘을 못 씁니다.)2. 엘라스틱서치의 비결: 역색인 (Inverted Index)엘라스틱서치는 데이터를 저장할 때 아예 '단어장'을 따로 만듭니다. 이걸 역색인이라고 부릅니다.📚 찰떡 비유: 책의 색인(Index) vs 본문일반 DB: 책을 1페이지부터 끝까지 읽으면서 '강아..

반응형