2024-07-18 검색기능 트러블 슈팅
트러블 슈팅
- 나이 제한은 최초 생각했으나 그 나이를 사용자가 가입할 때 입력하는데 그것을 검증하려면 NICE 인증 등을 해야 하고, 인증 절차가 없으면 사용자가 입력한 나이가 진짜인지 아닌지 검증할 방법이 없어 의미없는 데이터라고 판단하여 삭제함.
- jsonb에서 특정 헤시 태그를 일일이 검사하는 것이 비용이 많이 발생한다고 함 -> 컬럼으로 나눠서 하는 것이 베스트인 것 같음 -> 그러나 jsonb로 관리하기로 결정 -> 그럼 text든 boolean이든 모든 컬럼에 인덱싱을 걸어 놓으면 유리한 것 아닌가? -> 맞지만 서버 컴퓨터의 리소스를 쓰기 때문에 불필요한데 걸어 놓으면 쓰기 능력 저하
- jsonb vs 단일 컬럼 장단점
- jsonb
- 헤시태그 개수가 몇 개가 되든지 유연하게 늘릴 수 있음.
- 인덱스 생성 및 유지 관리 비용이 높음. 스토리지 오버헤드가 발생할 수 있음.
- 단일 컬럼
- 단일 값에 대한 검색이 빠르고 jsonb보다 공간을 적게 차지함.
- 헤시태그 컬럼이 3개면 3개 이상으로 늘리려면 컬럼을 추가해야 하는데 유지보수가 어려울 수 있음.
- jsonb vs 단일컬럼 선택 시 고려 사항
- 데이터 변경 가능성이 있나? 헤시태그 수가 늘어나거나 줄어들 수 있나? ->
- jsonb
- 키워드 검색, 지역 검색, 여행 일시 검색 … 헤시태그 3개까지 검색이 2개… etc… 검색 옵션이 굉장히 많은 경우 -> 그 중 어떤 걸 유저가 선택할 지 모르는데, 하나의 옵션만 선택할 수도 있고 어떤 조합으로 검색할 지 예측이 안 간다 -> 모든 경우의 수를 하드코딩 해서 fetch 함수를 작성해야 하는가? -> 동적 옵션을 추가하는 방법으로 설정
'Programing > TIL' 카테고리의 다른 글
2024-07-23 프론트엔드의 디자인, Funnel Pattern (0) | 2024.07.23 |
---|---|
2024-07-19 유저의 마이페이지 세그먼트를 어떻게 줄 것인가 (0) | 2024.07.21 |
2024-07-17 최종 프로젝트 기획 아이디어 스케치 (0) | 2024.07.18 |
2024-07-16 User Flow Chart (0) | 2024.07.16 |
2024-07-12 Next.js 팀프로젝트 회고(readme) (0) | 2024.07.13 |
댓글