코로나가 터진 2019년도 이후로 네이버에서 처음으로 개발자 컨퍼런스인 DEVIEW 2023
를 삼성 코엑스 전시홀에서 오프라인으로 개최하였다. 처음 이 소식을 접했을 적에는 사전예약일을 기념일로 등록해놓고 매일 실패하던 티켓팅을 성공하고자 사촌동생에게 대리예약을 부탁하는 등의 온갖 수단과 방법을 동원하였다.(매크로 프로그램을 만들까 생각하였는데 예약 웹사이트UI가 어떻게 구성될지 몰라 중간에 포기했었다. 근데 이게 알아보니 Javascript 소스코드 읽는 방법만 알아내면 어찌저찌 가능할 수도 있다고 하는데... 나중에 한번 도전해봐야겠다...!)
회사 동료로부터 티켓팅 꿀팁을 듣고 티켓팅을 한 결과, 운좋게도 2장 다 건질 수 있었다✌️ 매번 실패했던 티켓팅이었는데ㅠㅠ 두 장이나 성공하여 감개무량하였다. 그렇게 기쁜 마음으로 행사일을 손꼽아 기다리며 미리 열심히 회사 일을 다 끝내놓았다. 그 결과, 행사 당일인 2월 27, 28일은 설레는 마음과 가벼운 발걸음으로 여러 개발자들을 만날 수 있었다🤩(회사와는 이틀간 잠시 단절을 선언하였다...ㅋ)
네이버 사전 예약으로 신청한 사람들은 사진과 같이 입장 팔찌를 준다.(기념품으로는 키캡과 간식, 물을 받았다ㅎㅎ키캡이 참고로 되게 이뻤다🙌) 보니까 네이버 임직원 분들은 사원증으로 입장하셨는데 팔찌 차고 세션 입장하는게 훨씬 더 빨라서 뭔가 fast 입장권을 가진 기분에 내심 기뻤다😊 양일간 오전부터 오후까지 있으면서 최대한 관심 있는 세션에는 다 참석하려고 노력하였다. 아래 리스트가 이번 데뷰 때 참석한 세션들이다.
날짜 | 세션명 |
---|---|
2/27 | 네이버 검색은 어떻게 나보다 더 내 의도를 잘 아는가? : AiRSearch 반응형 추천 |
2/27 | 바닥까지 파보는! Hbase random read 성능 개선기 |
2/27 | 지금까지 이런 검색은 없었다. 이것은 검색인가 추천인가 - 네이버 스마트블록 개인화 검색 |
2/27 | 네이버 스케일로 카프카 컨슈머 사용하기 |
2/27 | 클라우드 환경 기반 실시간 데이터 처리의 유실 없는 Geo-Replication 구축 |
2/28 | 웨일 브라우저 오픈 소스 생존기 |
2/28 | Tech Talk |
2/28 | LiveOps : 네이버앱의 실시간 운영과 크래시 핸들링 솔루션 |
2/28 | SNOW AI Filter : 나인듯 나같지 않은 나보다 이쁜 나 |
2/28 | 싸늘하다, 메신저에 경보가 날아와 꽂힌다 - 네이버 검색 SRE 시스템 개선기 |
각각의 세션에서 이해한 바와 나의 생각을 다음과 같이 정리해보았다.
해당 문제를 정의하게 된 배경: 쇼핑, 주식 정보 등의 다양한 정보들을 보다 사용자 의도에 적합한 결과를 제공하여 사용자 경험을 개선할 필요성을 느낌.
일반적으로 기존 네이버 검색의 경우 검색 키워드
중심으로 사용자에게 검색 결과를 보여준다. 이때, 검색팀은 검색 키워드 결과에 따른 사용자의 행동
을 기반으로 의도를 파악하여 반응형 검색 결과
(Narrow-Down
& Side-By-Side
)를 제공함으로써 새로운 발견의 기회를 주려고 하였다.
여기서 적용한 방식은 검색 지원을 위한 Intent Query + Intent Walker + User Preference
.
반응형 서비스 개발을 위한 꿀팁:
해당 세션은 개인적으로 굉장히 흥미롭게 들었던 세션이다. 네이버 검색 데이터 저장소인 CUVE시스템의 기반인 HBase의 성능 개선을 통해 검색 성능을 높일 수 있었던 이야기였는데 듣는 내내 발표자분의 이야기를 놓치지 않으려고 애를 많이 썼다.
배경: 네이버 최대 데이터 저장소에는 다양한 데이터와 입출력 형태가 존재. 따라서, 저장소의 범용성과 대규모 데이터를 다루기 위한 효율적인 클러스터 운영 방식이 필요하게 되어 HBase 기반 데이터 저장소를 채택. 이때, 효율적인 클러스터 운영을 통한 성능 극대화를 이루고자 하였음.
이것저것 시도를 해보았었음(제약 혹은 멀티 클러스터링). 하지만, 각각의 방법은 문제를 해결하는 데 한계가 존재. 제약의 경우는 범용성에 이슈가 있고 멀티 클러스터링의 경우는 개발/운영비용에 이슈가 있음. 그래서, 마지막 방법인 HBase 데이터 유연성을 개선하는 작업을 하기로 결정. 단기적으로는 개발/분석비용이 많이 들을 수 있으나 장기적인 관점에서는 범용성, 효율성, 유연성, 확장성, 안정성 등등의 부수효과를 더 많이 누릴 수 있는 전략.
가장 큰 원인으로는 Read Amplification으로 사용자가 요청한 데이터 블록의 크기보다 더 큰 사이즈의 데이터 블록을 read하여 과도한 disk I/O를 발생시킴.