Why is Kafka FAST? Part 1
- Kafka의 '빠르다'는 높은 처리량(throughput)을 의미하며, 짧은 시간 안에 많은 데이터를 효율적으로 이동시키는 데 최적화되어 있습니다. 🚀
- Kafka의 고성능 비결 중 하나는 순차 I/O(Sequential I/O)에 크게 의존한다는 점입니다. 💾
- 디스크 접근 속도는 무작위(random) 접근과 순차(sequential) 접근 패턴에 따라 크게 달라지며, 하드 드라이브에서 순차 접근은 물리적 암 이동이 적어 훨씬 빠릅니다. ✍️
- Kafka는 데이터를 파일 끝에 추가하는 'append-only log' 방식을 사용하여 순차 쓰기 패턴을 활용합니다. 📈
- 현대 하드웨어에서 순차 쓰기는 초당 수백 메가바이트에 달하는 반면, 무작위 쓰기는 수백 킬로바이트에 불과하여 순차 접근이 여러 자릿수만큼 빠릅니다. ⚡
- 하드 디스크는 SSD보다 저렴하고 용량이 커서, Kafka는 순차 I/O 덕분에 성능 저하 없이 저렴한 비용으로 장기간 메시지를 보관할 수 있습니다. 💰
- 이러한 장기간 메시지 보관 기능은 Kafka 이전의 메시징 시스템에서는 흔치 않은 특징이었습니다. 🕰️
데브허브 | DEVHUB | Why is Kafka FAST? Part 1