기사 검색

검색어를 입력하세요
스카이 테크 블메이저 토토 사이트
메이저 토토 사이트적인 데이터 구조와 로그 검색 속도 향상 (1)

메이저 토토 사이트적인 데이터 구조와 로그 검색 속도 향상 (1)

이 문서는 토토 베이 클라이언트 뷰에서 로그 검색 속도를 높이기 위해 채택된 블룸 필터에 대해 설명합니다 블룸 필터는 스토리지 소모를 줄이면서 대용량 데이터를 효율적으로 검색할 수 있는 확률적 데이터 구조입니다 그 특징과 장점, 오탐 위험에 대해 설명하겠습니다

토토 베이 클라이언트 뷰는 많은 양의 로그를 저장합니다

원래 이 메이저 토토 사이트 검색은 단순 문자열 검색이었는데, 검색 시간이 오래 걸릴 수밖에 없어 속도를 높일 필요가 있었습니다

일반 검색 속도 향상 기술 및 문제점

역색인은 일반적으로 검색 프로세스 속도를 높이는 데 사용됩니다 Elasticsearch는 이를 사용하는 유명한 시스템입니다

그러나 이 방법을 사용하면 저장공간을 많이 소모하는 문제가 있습니다

토토 베이 클라이언트 뷰는 온프레미스에서 사용되는 경우가 많으며 스토리지 용량은 고객의 투자 비용에 직접적인 영향을 미칩니다 그래서 우리는 역지수 도입을 망설였습니다

이것이 우리가 Bloom 필터라는 데이터 구조에 초점을 맞춘 이유입니다

메이저 토토 사이트적 데이터 구조

블룸 필터는 메이저 토토 사이트적 데이터 구조라고 불리는 데이터 구조 유형 중 하나입니다 일반적인 메이저 토토 사이트적 데이터 구조는 다음과 같습니다

  • 블룸 필터(세트에 데이터가 포함되어 있습니까?)
  • HyperLogLog(수집된 고유 데이터 수)
  • Count-Min Sketch(스트림에서 요소 발생 빈도)

등이 있으며 모두 대용량 데이터로 인해 어느 정도의 오류는 있지만 매우 높은 효율성(계산 부하 및 메모리 사용량)으로 목적을 달성할 수 있습니다

블룸 필터

블룸 필터는 특정 항목이 데이터 세트에 포함되어 있는지 확인할 수 있는 데이터 구조입니다

그러나 물론 한계가 있습니다 해당 상품이 세트에 포함되어 있지 않다는 판단은 100% 맞지만,
이럴 가능성은 필터의 크기와 수용하는 항목의 수에 따라 다릅니다(자세한 공식을 알고 싶다면 "블룸 필터"를 검색하여 찾을 수 있습니다)

블룸 필터 구축

간단한 예를 살펴보겠습니다 예를 들어, "사과, 귤, 파인애플" 세트에 "귤"이 포함되어 있는지 확인하는 예를 생각해 보자

1 충분한 길이의 배열을 준비하십시오

간단히 24비트 배열을 사용합시다 이 배열은 Bloom 필터 자체입니다 먼저 모든 비트를 내려놓으세요

□□□□□□□□□□□□□□□□□□□□□□□□

2 블룸 필터에 "사과, 귤, 파인애플"을 하나씩 추가합니다

해시 함수를 적용하고 결과 값의 비트를 설정하여 각 요소를 추가합니다 (약간 단순화됨)

사과→해시 함수→0008

□□□■□□□□□□□□□□□□□□□□□□□□

주황색 → 해시 값 → 0800

□□□□□□□□□□□■□□□□□□□□□□□□

파인애플 → 해시값 -> 0x010000

□□□□□□□□□□□□□□□□■□□□□□□□

이 방법으로 얻은 비트 배열의 OR은 "사과, 오렌지, 파인애플"을 포함하는 블룸 필터입니다

□□□■□□□□□□□■□□□□■□□□□□□□

이 비트 배열(블룸 필터)을 사용하여 요소의 존재 여부를 결정합니다

3 이제, 획득된 블룸 필터에 특정 요소가 존재하는지 확인합니다

Q1 사과가 있나요?

"사과"의 해시 값을 계산하세요

사과→해시값=0008

사과를 나타내는 비트 배열

□□□■□□□□□□□□□□□□□□□□□□□□

"사과, 오렌지, 파인애플을 포함하는 배열"(이전에 생성된 블룸 필터)

□□□■□□□□□□□■□□□□■□□□□□□□

두 배열을 비교하면 ``사과, 오렌지, 파인애플을 포함하는 비트 배열''에 ``사과를 나타내는 비트 배열''이 포함되어 있음을 알 수 있습니다

결과적으로 이 블룸 필터에는 (아마도) 사과가 포함될 것입니다

Q2 오렌지가 있나요?

주황색→해시값=0x100000
"주황색을 나타내는 해시 값"

□□□□□□□□□□□□□□□□□□□□■□□□

"사과, 오렌지, 파인애플을 포함하는 배열"

□□□■□□□□□□■□□□□□■□□□□□□□

사과와 같은 방식으로 비교하면 ``사과, 오렌지, 파인애플을 포함하는 배열''에는 ``오렌지를 나타내는 해시 값''이 포함되지 않음을 알 수 있습니다

4 거짓양성의 패턴

키위의 해시가 0808이라고 가정해 보겠습니다 비트 패턴은 다음과 같습니다

□□□■□□□□□□■□□□□□□□□□□□□□

이것을 "사과, 오렌지, 파인애플을 포함하는 배열"(이전에 생성한 블룸 필터)과 비교하면 다음을 얻습니다

□□□■□□□□□□■□□□□□■□□□□□□□

"포함"으로 판단됩니다 이는 잘못된 긍정 패턴입니다

위로부터 블룸 필터의 비트 길이를 늘리면 오탐 메이저 토토 사이트이 감소한다는 것을 직관적으로 이해할 수 있습니다

제품에 이를 사용하는 방법

블룸 필터에는 이러한 흥미로운 기능이 있지만 실제 제품에 사용하려면 많은 독창성이 필요합니다


\공유해주세요! /
  • X
  • 페이스북
  • 라인

입사 후 기술을 향상시키고 싶은 젊은 사람이든, 다양한 분야에서 자신의 경험을 활용하고 싶은 베테랑이든, 우리는 각 개인의 경험에 맞는 중견 채용을 제공합니다

스카이코퍼레이션의 소프트웨어 개발, 제품, 채용에 관한 문의사항은 아래 링크를 확인해주세요
문의하기