14 강 용도 측화형 인덱싱
인덱스와 시스템 구성 - RDBMS 의 한계가 보일 때
→ 별도의 인덱스 서버와 같은 것을 만들고 이 인덱스 서버에 웹 애플리케이션에서 RPC(remote procedure call) 등으로 액세스하는 방법을 사용
RPC 혹은 웹 API
위의 그림에서 [4] 을 만드는 이유는
- [3] 에 인덱스를 저장하기에 충분한 메모리가 탑재되어 있지 않은 경우가 많기 때문
- [3] 이 여러대 있을 경우 모드 인덱스를 가지고 있도록 해야하기 때문
- 커다란 검색 인덱스를 여러 프로세스에서 같이 사용하도록 구성하는 것은 적합하지 않기 때문
요약
RDBMS 로는 한계 일때는
- 배치 처리로 데이터 추출
- 별도 인덱스 서버를 만들어서 웹 API 등으로 쿼리
용도특화형 인덱싱 - 튜닝한 데이터 구조 사용하기
특정한 목적만으로 사용할 수 있도록 튜닝한 데이터 구조(용도특화형 인덱싱) 사용 → 빠른 속도로 데이터 검색 가능
방식?
- 데이터를 정기적으로 뽑아낸다.( 배치 처리로 데이터 추출)
- 뽑아낸 데이터엑서 데이터 구조를 구축
- 검색용 역 인덱스 -> 스코어링 알고리즘 이용
- 키워드 링크용 Trie 등
15 강 이론과 실전 양쪽과의 싸움
대규모 웹 앱을 개발, 운용시
- 문제 해결 시에는 때로는 고전 이론이, 때로는 실전 경험을 통한 지식이 중요
- 알고리즘과 데이터 구조를 활용할 때, 해당 이론을 이해하고 실제로 어떻게 적용할 수 있는지를 알아두는 것이 중요
→ 이론과 실전을 모두 아우르는 균형 있는 접근이 필수적
'책 > 웹 개발자를 위한 대규모 서비스를 지탱하는 기술' 카테고리의 다른 글
[대규모 서비스] [책] 7 장: 20강 하테나 다이어리의 키워드 링크 (0) | 2024.10.10 |
---|---|
[대규모 서비스] [책] 7 장 알고리즘 실용화: 19강 알고리즘과 평가 (0) | 2024.10.08 |
4 장 분산을 고려한 MySQL 운용 (0) | 2024.09.16 |
3 장 OS 캐쉬와 분산 (0) | 2024.08.31 |
2 장 대규모 데이터 처리 입문 (0) | 2024.08.28 |