Enviar pesquisa
Carregar
Count min sketch
•
Transferir como PPTX, PDF
•
2 gostaram
•
2,141 visualizações
DaeMyung Kang
Seguir
count min sketch
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 26
Baixar agora
Recomendados
webservice scaling for newbie
webservice scaling for newbie
DaeMyung Kang
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon Web Services Korea
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
NAVER D2
Massive service basic
Massive service basic
DaeMyung Kang
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
카프카, 산전수전 노하우
카프카, 산전수전 노하우
if kakao
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
HeeJung Hwang
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
Junyi Song
Recomendados
webservice scaling for newbie
webservice scaling for newbie
DaeMyung Kang
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon Web Services Korea
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
NAVER D2
Massive service basic
Massive service basic
DaeMyung Kang
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
카프카, 산전수전 노하우
카프카, 산전수전 노하우
if kakao
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
HeeJung Hwang
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
Junyi Song
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
종민 김
Embulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loader
Sadayuki Furuhashi
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
Terry Cho
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
Ji-Woong Choi
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
종민 김
How to build massive service for advance
How to build massive service for advance
DaeMyung Kang
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX, Inc.
RocksDB detail
RocksDB detail
MIJIN AN
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon Web Services Korea
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용
흥배 최
Elastic Stack & Data pipeline
Elastic Stack & Data pipeline
Jongho Woo
Elasticsearch in Netflix
Elasticsearch in Netflix
Danny Yuan
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
Amazon Web Services Korea
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
SANG WON PARK
Redis at LINE
Redis at LINE
LINE Corporation
Analyzing 1.2 Million Network Packets per Second in Real-time
Analyzing 1.2 Million Network Packets per Second in Real-time
DataWorks Summit
Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2
Sematext Group, Inc.
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
Amazon Web Services Korea
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
NAVER D2
Redis
Redis
DaeMyung Kang
Ansible
Ansible
DaeMyung Kang
Why GUID is needed
Why GUID is needed
DaeMyung Kang
Mais conteúdo relacionado
Mais procurados
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
종민 김
Embulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loader
Sadayuki Furuhashi
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
Terry Cho
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
Ji-Woong Choi
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
종민 김
How to build massive service for advance
How to build massive service for advance
DaeMyung Kang
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX, Inc.
RocksDB detail
RocksDB detail
MIJIN AN
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon Web Services Korea
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용
흥배 최
Elastic Stack & Data pipeline
Elastic Stack & Data pipeline
Jongho Woo
Elasticsearch in Netflix
Elasticsearch in Netflix
Danny Yuan
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
Amazon Web Services Korea
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
SANG WON PARK
Redis at LINE
Redis at LINE
LINE Corporation
Analyzing 1.2 Million Network Packets per Second in Real-time
Analyzing 1.2 Million Network Packets per Second in Real-time
DataWorks Summit
Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2
Sematext Group, Inc.
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
Amazon Web Services Korea
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
NAVER D2
Redis
Redis
DaeMyung Kang
Mais procurados
(20)
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
Embulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loader
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
How to build massive service for advance
How to build massive service for advance
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
RocksDB detail
RocksDB detail
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Twitter의 snowflake 소개 및 활용
Twitter의 snowflake 소개 및 활용
Elastic Stack & Data pipeline
Elastic Stack & Data pipeline
Elasticsearch in Netflix
Elasticsearch in Netflix
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
Redis at LINE
Redis at LINE
Analyzing 1.2 Million Network Packets per Second in Real-time
Analyzing 1.2 Million Network Packets per Second in Real-time
Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
Redis
Redis
Mais de 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
Mais de 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
Último
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
Tae Young Lee
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
Wonjun Hwang
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
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
Wonjun Hwang
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스
Último
(6)
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
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
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
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.
감사합니다.
Baixar agora