Suche senden
Hochladen
Count min sketch
•
Als PPTX, PDF herunterladen
•
2 gefällt mir
•
2,141 views
DaeMyung Kang
Folgen
count min sketch
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 26
Jetzt herunterladen
Empfohlen
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용
흥배 최
webservice scaling for newbie
webservice scaling for newbie
DaeMyung Kang
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon Web Services Korea
Massive service basic
Massive service basic
DaeMyung Kang
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
Brian Hong
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
I Goo Lee
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
Redis
Redis
DaeMyung Kang
Empfohlen
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용
흥배 최
webservice scaling for newbie
webservice scaling for newbie
DaeMyung Kang
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon Web Services Korea
Massive service basic
Massive service basic
DaeMyung Kang
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
Brian Hong
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
I Goo Lee
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
Redis
Redis
DaeMyung Kang
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
Junyi Song
Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability
흥배 최
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
devCAT Studio, NEXON
How to build massive service for advance
How to build massive service for advance
DaeMyung Kang
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
Hyojun Jeon
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
Brian Hong
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
Jae Young Park
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
NAVER LABS
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
Hyojun Jeon
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
NAVER D2
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XpressEngine
DMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメント
Kent Ishizawa
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
Amazon Web Services Korea
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
새해 일어난 일
새해 일어난 일
Eunhyang Kim
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
Juhong Park
AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)
I Goo Lee.
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012
Esun Kim
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교
Woo Yeong Choi
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
Heungsub Lee
Ansible
Ansible
DaeMyung Kang
Why GUID is needed
Why GUID is needed
DaeMyung Kang
Weitere ähnliche Inhalte
Was ist angesagt?
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
Junyi Song
Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability
흥배 최
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
devCAT Studio, NEXON
How to build massive service for advance
How to build massive service for advance
DaeMyung Kang
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
Hyojun Jeon
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
Brian Hong
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
Jae Young Park
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
NAVER LABS
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
Hyojun Jeon
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
NAVER D2
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XpressEngine
DMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメント
Kent Ishizawa
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
Amazon Web Services Korea
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
새해 일어난 일
새해 일어난 일
Eunhyang Kim
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
Juhong Park
AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)
I Goo Lee.
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012
Esun Kim
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교
Woo Yeong Choi
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
Heungsub Lee
Was ist angesagt?
(20)
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
How to build massive service for advance
How to build massive service for advance
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
DMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメント
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
새해 일어난 일
새해 일어난 일
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
Mehr von DaeMyung Kang
Ansible
Ansible
DaeMyung Kang
Why GUID is needed
Why GUID is needed
DaeMyung Kang
How to use redis well
How to use redis well
DaeMyung Kang
The easiest consistent hashing
The easiest consistent hashing
DaeMyung Kang
How to name a cache key
How to name a cache key
DaeMyung Kang
Integration between Filebeat and logstash
Integration between Filebeat and logstash
DaeMyung Kang
Data Engineering 101
Data Engineering 101
DaeMyung Kang
How To Become Better Engineer
How To Become Better Engineer
DaeMyung Kang
Kafka timestamp offset_final
Kafka timestamp offset_final
DaeMyung Kang
Kafka timestamp offset
Kafka timestamp offset
DaeMyung Kang
Data pipeline and data lake
Data pipeline and data lake
DaeMyung Kang
Redis acl
Redis acl
DaeMyung Kang
Coffee store
Coffee store
DaeMyung Kang
Scalable webservice
Scalable webservice
DaeMyung Kang
Number system
Number system
DaeMyung Kang
Internet Scale Service Arichitecture
Internet Scale Service Arichitecture
DaeMyung Kang
Bloomfilter
Bloomfilter
DaeMyung Kang
Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)
DaeMyung Kang
Redis From 2.8 to 4.x
Redis From 2.8 to 4.x
DaeMyung Kang
Soma search
Soma search
DaeMyung Kang
Mehr von DaeMyung Kang
(20)
Ansible
Ansible
Why GUID is needed
Why GUID is needed
How to use redis well
How to use redis well
The easiest consistent hashing
The easiest consistent hashing
How to name a cache key
How to name a cache key
Integration between Filebeat and logstash
Integration between Filebeat and logstash
Data Engineering 101
Data Engineering 101
How To Become Better Engineer
How To Become Better Engineer
Kafka timestamp offset_final
Kafka timestamp offset_final
Kafka timestamp offset
Kafka timestamp offset
Data pipeline and data lake
Data pipeline and data lake
Redis acl
Redis acl
Coffee store
Coffee store
Scalable webservice
Scalable webservice
Number system
Number system
Internet Scale Service Arichitecture
Internet Scale Service Arichitecture
Bloomfilter
Bloomfilter
Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x
Redis From 2.8 to 4.x
Soma search
Soma search
Kürzlich hochgeladen
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Kim Daeun
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
Kim Daeun
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
Wonjun Hwang
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
Wonjun Hwang
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
Tae Young Lee
Kürzlich hochgeladen
(6)
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
Count min sketch
1.
Count Min Sketch 대충
이해하기 charsyam@naver.com
2.
Count 를 위한
확률적 자료구조
3.
IP가 100만개 정도
되는데 Count를 해야 한다면?
4.
IP 개수에 따른
메모리 할당 양 개수 메모리(Redis 에서 계산) 10000 1.64MB 100000 8.69MB 1000000 77.49MB 2000000 123.64MB IP 개수가 늘어날 수록 메모리 사용량도 늘어난다.
5.
IP는 특정 IP
들이 많을까? 다들 동일한 횟수로 접근할까?
6.
TOP(K)의 Count가 정확해야할
때 Count Min Sketch가 유리
7.
근사한 Count 값을
구하는 것이 목적 계산 시간과 메모리를 적게 사용한다.
8.
필요한 값 d =
몇 개의 hash 함수를 쓸 것인가? w = 메모리 공간을 얼마나 쓸 것인가?
9.
Count Min Sketch 0
1 2 3 4 5 Hash 1 0 0 0 0 0 0 Hash 2 0 0 0 0 0 0 Hash 3 0 0 0 0 0 0 Hash 4 0 0 0 0 0 0 w : 사용하고자 하는 메모리 공간 d 할당되는 메모리는 w * d * 변수크기 만큼 사용된다.
10.
Hash 는 어떤
hash라도 가능 Hash % w 값으로 나오는 값을 사용
11.
Example 1.1.1.1 2.2.2.2 3.3.3.3
4.4.4.4 5.5.5.5 6.6.6.6 Hash 1 1 2 1 3 5 4 Hash 2 5 4 3 5 1 3 Hash 3 2 4 5 1 0 2 Hash 4 1 2 2 3 0 4 다음과 같은 해시결과가 나온다고 하자.
12.
Example 그리고 다음과 같은
데이터셋이 있다고 가정한다. 1.1.1.1 2.2.2.2 1.1.1.1 3.3.3.3 1.1.1.1
13.
Example : 1.1.1.1 0
1 2 3 4 5 Hash 1 0 1 0 0 0 0 Hash 2 0 0 0 0 0 1 Hash 3 0 0 1 0 0 0 Hash 4 0 1 0 0 0 0 Hash1(1.1.1.1) = 1 Hash2(1.1.1.1) = 5 Hash3(1.1.1.1) = 2 Hash4(1.1.1.1) = 1 나온 해시 값의 자리를 1 증가시킨다.
14.
Example : 2.2.2.2 0
1 2 3 4 5 Hash 1 0 1 1 0 0 0 Hash 2 0 0 0 0 1 1 Hash 3 0 0 1 0 1 0 Hash 4 0 1 1 0 0 0 Hash1(2.2.2.2) = 2 Hash2(2.2.2.2) = 4 Hash3(2.2.2.2) = 4 Hash4(2.2.2.2) = 2 나온 해시 값의 자리를 1 증가시킨다.
15.
Example : 1.1.1.1 0
1 2 3 4 5 Hash 1 0 2 1 0 0 0 Hash 2 0 0 0 0 1 2 Hash 3 0 0 2 0 1 0 Hash 4 0 2 1 0 0 0 Hash1(1.1.1.1) = 1 Hash2(1.1.1.1) = 5 Hash3(1.1.1.1) = 2 Hash4(1.1.1.1) = 1 나온 해시 값의 자리를 1 증가시킨다.
16.
Example : 3.3.3.3 0
1 2 3 4 5 Hash 1 0 3 1 0 0 0 Hash 2 0 0 0 1 1 2 Hash 3 0 0 2 0 1 1 Hash 4 0 2 2 0 0 0 Hash1(3.3.3.3) = 1 Hash2(3.3.3.3) = 3 Hash3(3.3.3.3) = 5 Hash4(3.3.3.3) = 2 나온 해시 값의 자리를 1 증가시킨다.
17.
Example : 1.1.1.1 0
1 2 3 4 5 Hash 1 0 4 1 0 0 0 Hash 2 0 0 0 1 1 3 Hash 3 0 0 3 0 1 1 Hash 4 0 3 2 0 0 0 Hash1(1.1.1.1) = 1 Hash2(1.1.1.1) = 5 Hash3(1.1.1.1) = 2 Hash4(1.1.1.1) = 1 나온 해시 값의 자리를 1 증가시킨다.
18.
이제 1.1.1.1 의
개수를 세어보자 0 1 2 3 4 5 Hash 1 0 4 1 0 0 0 Hash 2 0 0 0 1 1 3 Hash 3 0 0 3 0 1 1 Hash 4 0 3 2 0 0 0 Hash1(1.1.1.1) = 1 Hash2(1.1.1.1) = 5 Hash3(1.1.1.1) = 2 Hash4(1.1.1.1) = 1 각 자리의 값 (hash1, 1) = 4, (hash2, 5) = 3, (hash3, 2) = 3, (hash4, 1) = 3 즉 4, 3, 3, 3 중에서 가장 작은 MIN 값은 3 이므로 1.1.1.1의 개수는 3이 된다.
19.
이제 3.3.3.3 의
개수를 세어보자 0 1 2 3 4 5 Hash 1 0 4 1 0 0 0 Hash 2 0 0 0 1 1 3 Hash 3 0 0 3 0 1 1 Hash 4 0 3 2 0 0 0 Hash1(3.3.3.3) = 1 Hash2(3.3.3.3) = 3 Hash3(3.3.3.3) = 5 Hash4(3.3.3.3) = 2 각 자리의 값 (hash1, 1) = 4, (hash2, 3) = 1, (hash3, 5) = 1, (hash4, 2) = 2 즉 4, 1, 1, 2 중에서 가장 작은 MIN 값은 1 이므로 3.3.3.3의 개수는 1이 된다.
20.
W가 10000이고 d
가 4라면 4 * 10000 * 4 해서 160kb 정도만 메모리를 사용 160kb 와 77.49MB 중에 큰 것은?
21.
Count Min Sketch
는 해시의 충돌을 감안하고 고정된 크기에서 특정 값의 개수를 근사치로 구하는 방법
22.
Count Min Sketch 실제
값 <= 근사치 값 이 성립한다. (해시 충돌이 일어나면 다른 것의 값이 더해질 수 있으므로)
23.
w와 d를 늘리면
좀 더 충돌이 줄어드므로 에러 값이 줄어든다.
24.
근사값이지만, 운이 나쁘면
튀는 값이 위의 원리로 나올 수도 있다.
25.
여러 해시값 들
중에 가장 적은 값을 가지 고 있는 해시의 값이 자신의 근사값이 됨.
26.
감사합니다.
Jetzt herunterladen