[TIL] Day21

은채·2022년 6월 6일
0

코드캠프 TIL

목록 보기
21/43

도메인 준비 : 가비아

week 5 커리큘럼

6월 6일 학습 목표

검색 프로세스

  • 프론트에서 할 일!
    백엔드에서 지정한대로 search (다를 수 있음) 보내주기!
    받아온 데이터 {} 브라우저에 그려주기!

그렇다면 백엔드에서는 무슨 일이? 🥺


table full scan
데이터 테이블에서 풀 스캔하여 찾아내기

구글의 초기 검색엔진 모델
BoardSearch에서 찾아내기


역인덱스, 역색인 (Inverted index) - 책의 색인 부분과 비슷한 패턴으로
단어 (token) 단위로 쪼개는 작업 (tokenaizing)

하지만 함수를 다시 실행하는 등의 번거로움이 있음!

그래서.. Elasticsearch (ELK stack) 사용 => 여전히 느림!

💾 디스크 : 영구저장이 가능하지만, 속도가 느리다 - Elasticsearch
🗒 메모리 : 영구저장이 불가능하지만, 속도가 빠르다 - Redis


임시저장(캐싱)에는 자주 검색하는 내용이 들어가면 빠른 속도로 검색 가능
redis에 임시저장 되어있는 내용이 아니면 elasticsearch로 넘어가게

입력할 때마다 바로 검색 (리패치)할 경우 ---> 엄청나게 많은 쿼리가 발생 (백엔드 매우 부담!)
이 때 활용할 수 있는 것이 디바운싱!
특정 시간을 기준으로 해당 시간 내에 요청된 내용들을 무시하고 마지막 요청만 보낸다
기다리다가 마지막 1번 실행

⭐️ lodash 라이브러리 활용하기

쓰로틀링
먼저 요청 -> 특정 시간 동안 재요청 없이
ex. 무한스크롤 직접 만들 때 , 스크롤이벤트가 많이 실행 될 때

오늘공부를돌아보며

전에 S사 인강 듣다가 도메인 구입한 적이 있었는데 뭘 샀었는지 모르겠ㄸ따!!!!! 아무것도 없이 도메인만 샀는데 기억이 안난다!!

profile
반반무마니

0개의 댓글