# Naver Deview 2015
# Storm과 Elasticsearch를 활용한 로깅 프로그램의 실시간 알람 시스템 구현 (이승진)
- 알람의 필요성
- 적절한 시기에 개발자들에게 노티가 있었더라면? (급 에러같은거 나타났을때)
- 네이버 사내 로깅 플랫폼
- NELO2
- Elasticsearch기반
- 검색, 대시보드, 크래시분석, 알람 등 기능
- 기존 알람 모듈의 문제점
- 주기적인 동작 방식
- 확장성 제약
- 수집서버와 알람서버가 직접 메세지 주고받음
- 이원화 된 알람 처리
- Storm
- Storm UI, Storm rest API준다.
- Elasticsearch
- Shard: 인데스 데이터의 횡적 분할
- Percolator API
- 검색 vs 역검색
# Implementing Deep learning using cuDNN (이예하)
후...
# 코끼리 냉장고에 집어넣기 - 실시간 추천엔진을 머신 한 대에 구겨넣기
- 추천엔진 2개로 나뉨
- Content-based (어려움)
- 사전에 현업지식 있어야 함
- 개별 컨텐츠의 메타데이터도 거의 없고
- 상품에서 뽑아내기도 어렵다.
- Collaborate Filtering
- 모던 추천엔진 많이 씀.
- 두개로 나뉨
- Memory based
- 오늘 말할 내용!
- Model based
- Memory based
- Content-based (어려움)
- Memory based
- 얼마나 닮았냐를 보고 닮았으면 다른 이가 좋아한 것을 추천
- Jaccard Similarity
- 전체중에 겹치는 비율을 측정
- 사람이 많을 수록 비교해야 할 쌍이 늘어난다.
- Too many combinations
- pre-clusturing
- Locality sensitive hashing (LSH)
- 적은 버킷에 일부러 clusturing되게 뿌린다면?
- 계산할 녀석과 비슷한 애들이 있는 cluster를 찾고 n을 줄이고 상세한 비교를 한다.
- 원본이 조금만 닮아도 결과값들도 닮아야 하는 특수 hash function이 필요.
- MinHash
- Jaccard similarity를 유지하는 타입의 LSH
- 일종의 dimension reduction
- e.g. 6차원 -> 3차원
- 클러스터를 쓴다
- 장점: 후보를 한정한다 - speed gain
- 단점: 후보를 한정한다 - quality loss
- 매우 인기있는 아이템
- 커어어다랗다.
- 클릭스트림의 길이를 어떻게든 해야 등장할 때마다 퍼포먼스루즈를 막는다.
- 해결방법: 클릭스트림 원본 말고 짧은 대체본.
- -> 대체본끼리 비교해 바로 유사도를 알아야 한다.
- ==> MinHash
- 다량의 건수를 in-memory안에 fit가능
- 대량 배치
- 새로운 click일어나면 기존 계산 signature버리고 다시 계산해야 하나?
- minhash는 min함수의 chane이라는 좋은 성질
- 새 데이터가 들어오면 누적 정용하면 된다.
- 분할 상환
- 거대한 한방이 아니고 자잘한 업데이트로!