Tableau에서 텍스트 검색 속도 향상(성능 확인)

2997 단어 Tableau

소개



Tableau에 대량 데이터를 가져올 때 필터의 처리 속도가 떨어지기 때문에,
아래의 3 패턴의 텍스트 박스 검색으로, 어느 방법이 가장 빠른지 퍼포먼스 검증을 실시한다.

1. 일반 텍스트 필터(필터 모드: 와일드카드 일치)
2. CONTAINS 함수를 이용한 필터
3. REGEXP_MATCH 함수를 이용한 필터

환경·데이터량


  • Tableau 버전 : Tableau 2018.1
  • 샘플 데이터 건수: 15,000,000건

  • 준비



    매개변수 및 함수 작성



    1. 텍스트 필터(와일드카드 일치)
    Tableau의 일반 필터로 인해 설정이 필요하지 않습니다.

    2. CONTAINS 함수를 이용한 필터
    2-1. CONTAINS 함수에 전달할 조건 입력을 위한 매개변수를 작성합니다. 데이터형은 문자열.
    2-2. CONTAINS 함수를 필터로 사용하기 위한 계산 필드를 만듭니다.
    IF [CONTAINSの条件入力用パラメーター名] != "" THEN
        CONTAINS([検索対象のディメンション名],[CONTAINSの条件入力用パラメーター名])
    ELSE
        TRUE
    END
    

    3. REGEXP_MATCH 함수를 이용한 필터
    3-1. REGEXP_MATCH 함수에 전달할 조건 입력을 위한 파라미터를 생성한다. 데이터형은 문자열.
    3-2. REGEXP_MATCH 함수를 필터로 사용하기 위한 계산 필드를 만듭니다.

    ※정규 표현을 이용하기 위한 함수이기 때문에, 용도는 넓지만 이용자에 따라서는 예기치 못하다
    결과가 표시될 수 있다.
    IF [REGEXP_MATCHの条件入力用パラメーター名] != "" THEN
        REGEXP_MATCH([検索対象のディメンション名],[REGEXP_MATCHの条件入力用パラメーター名])
    ELSE
        TRUE
    END
    

    ※상기 식은 파라미터에 조건이 지정되지 않을 때에 모든 데이터를 표시하도록,
    조건 지정시 및 지정되지 않은 경우 모두 참이 반환하도록 정의하고 있다.

    워크시트에 위에서 만든 계산된 필드 설정



    1. 텍스트 필터(와일드카드 일치)
    함수가 필요 없기 때문에 검색할 차원을 워크시트 필터에 넣습니다.

    2. CONTAINS 함수를 이용한 필터
    위의 CONTAINS 함수를 사용하여 계산 필드를 워크 시트의 필터로 설정합니다.
    필터 조건은 「참」을 지정.

    3. REGEXP_MATCH 함수를 이용한 필터
    위의 REGEXP_MATCH 함수를 사용하여 계산 필드를 워크 시트의 필터로 설정합니다.
    필터 조건은 "참"을 지정한다.

    ※NULL을 지정하는 이유는 상기한 바와 같이, 파라미터에 조건을 지정하지 않을 때,
    전체 데이터가 표시되도록 하기 위해.

    성능 검증



    참고 : 통합 문서 성능 기록 및 분석

    1. 텍스트 필터(와일드카드 일치)
    ExecutingQuery: 0.44
    설정이 편합니다. 리스트, 드롭다운 등 검색 패턴이 많은 등 이점이 크다.

    2. CONTAINS 함수를 이용한 필터
    ExecutingQuery: 0.16
    약간의 수고가 걸린다. 텍스트 상자를 검색하는 것만으로는 일반 필터보다 빠릅니다.

    3. REGEXP_MATCH 함수를 이용한 필터
    ExecutingQuery: 0.28
    약간의 수고가 걸린다. 텍스트 상자를 검색하는 것만으로는 일반 필터보다 빠릅니다.
    이용자가 정규 표현을 사용할 수 있으면 용도가 넓은 조건 지정이 가능.

    데이터량이 많을수록 차이가 나올 것이라고 생각하므로, 용도에 따라 구분하여,
    퍼포먼스에 차이가 나온다고 생각합니다.

    결론



    데이터 양이 많을 때 성능이 떨어지는 것은 당연한 일이므로,
    어떤 데이터를 시각화하고, 이용자에게 무엇을 전하고 싶은지를 제대로 설계하는 것으로,

    · 불필요한 데이터는 캡처하지 않습니다.
    · 대시보드에 불필요한 워크시트를 표시하지 않음
    · 워크 시트의 표시 건수 제한 등

    목적에 있던 보이는 방법을 의식한 설계를 실시하고 싶네요.

    좋은 웹페이지 즐겨찾기