TimewareTimeware
IT 뉴스 목록으로
IT 뉴스

How we built enterprise search to be secure and private

Many don’t know that “Slack” is in fact a backronym—it stands for “Searchable Log of all Communication and Knowledge”. And these days, it’s no...

2026년 3월 6일Timeware Engineeringbenchmarkglobal-tech-blogslack-engineering
How we built enterprise search to be secure and private

요약

Many don’t know that “Slack” is in fact a backronym—it stands for “Searchable Log of all Communication and Knowledge”. And these days, it’s no...

How we built enterprise search to be secure and private

원문: How we built enterprise search to be secure and private (Slack Engineering, 2025-03-07)

오늘의 결론

"내가 오늘 해결하고 싶은 문제는 기업의 데이터 보안성과 개인 정보 보호를 동시에 확보하는 것"이며 "Slack이 실시간으로 사용자 접근 권한을 기반으로 검색 결과를 제공함으로써 이를 해결할 수 있다는 점"이다.

이 글이 "단순한 기술 블로그"이 아닌 이유

이 글은 단순히 기술적 성능이나 혁신을 나열하는 것이 아니라, 실제 비즈니스 환경에서 기업 검색 기능을 어떻게 안전하고 개인 정보 보호 원칙에 따라 설계했는지를 보여준다.

내가 본 것:

  1. [실시간 데이터 접근]: Slack은 외부 소스 데이터를 데이터베이스에 저장하는 대신, 실시간으로 사용자 쿼리에 응답하여 접근 가능한 데이터를 가져온다. 이는 데이터의 신선도를 보장하며, 사용자 권한에 맞는 정보만을 제공한다는 점에서 매우 중요하다.
  2. [OAuth 기반의 보안]: Slack 플랫폼은 OAuth 프로토콜을 통해 외부 시스템과 안전하게 연결된다. 이는 사용자가 직접 권한을 부여한 데이터만을 검색하도록 하여, 개인 정보 보호의 원칙을 준수하게 된다.
  3. [지속적인 데이터 갱신]: Slack의 검색 방식은 기존의 인덱스 기반 접근이 아닌, 항상 최신 데이터를 가져오는 실시간 방식이다. 이는 정보의 유효성을 보장하며, 사용자가 항상 필요한 정보를 정확하게 찾을 수 있도록 돕는다.

내가 가져갈 실행 포인트 3개

(1) [실시간 검색 시스템 도입]: [데이터 신선도 유지]

Slack의 접근 방식을 통해, 외부 데이터 소스의 정보를 실시간으로 가져오는 시스템을 설계할 수 있다. 이를 통해 데이터가 오래되거나 사용자의 접근 권한과 맞지 않는 경우를 방지할 수 있다. 실제로, 내 팀도 파일 공유 서비스와 연동하여 실시간으로 데이터 검색 결과를 제공하는 시스템을 구축 중이다.

(2) [OAuth 프로토콜 활용]: [보안 강화]

Slack이 사용하는 OAuth 프로토콜을 참고하여, 내 시스템에서도 사용자 권한을 안전하게 관리할 수 있는 방안을 모색해야 한다. 이를 통해, 데이터 접근의 투명성을 확보하고, 사용자가 직접 권한을 부여하는 방식으로 보안을 강화할 수 있다.

(3) [사용자 맞춤형 검색 결과 제공]: [효율성 극대화]

Slack의 검색 엔진이 사용자별로 맞춤형 정보를 제공하는 방식을 벤치마킹하여, 각 사용자가 필요한 정보를 신속하게 찾아낼 수 있도록 시스템을 설계해야 한다. 이를 통해, 업무 효율성을 극대화할 수 있을 것이다.

내가 설계할 기준

이 기술/접근법을 활용하기 좋은 일

  • 프로젝트 관리 도구와의 통합: 팀워크를 극대화하기 위해 프로젝트 관리 도구와 연동하여, 실시간으로 업데이트되는 프로젝트 정보를 제공할 수 있다.
  • 파일 공유 시스템과 연결: 외부 파일 공유 시스템과의 통합을 통해 필요한 파일을 쉽게 검색하고 접근할 수 있다.
  • 고객 관계 관리(CRM) 시스템의 데이터 접근: 고객 데이터에 대한 안전한 접근을 통해 고객 상담 시 실시간으로 필요한 정보를 제공할 수 있다.

이 기술/접근법이 맞지 않는 경우

  • 고정된 데이터베이스 활용 필요시: 특정 상황에서 정적 데이터베이스가 필요할 경우에는 실시간 검색 접근 방식이 오히려 비효율적일 수 있다.
  • 대량의 비정형 데이터 처리 시: 비정형 데이터가 많을 때는 실시간으로 처리하기 어려운 경우가 많아, 다른 처리 방식이 필요할 수 있다.

실패를 줄이는 운영 체크리스트

  • 사용자 접근 권한을 확인하지 않고 데이터 검색하기: 항상 사용자의 권한을 먼저 파악한 후 검색해야 한다.
  • 정기적인 OAuth 토큰 갱신 소홀히 하기: 토큰 만료로 인한 접근 문제를 방지하기 위해 주기적으로 갱신해야 한다.
  • 검색 결과의 유효성을 검토하지 않기: 과거 데이터가 검색되지 않도록 항상 최신 정보를 제공할 수 있는지 확인해야 한다.
  • 사용자 피드백을 무시하기: 사용자의 피드백을 반영하지 않으면 시스템의 유용성이 떨어질 수 있다.
  • 데이터 소스 변경을 사전에 공지하지 않기: 데이터 소스의 변경이나 업데이트는 사전에 사용자에게 알려야 혼란을 줄일 수 있다.

이번 주에 할 1가지

  • 대상: 내부 시스템에서 실시간 검색 기능 구현
  • 측정: 사용자가 찾고자 하는 데이터에 대한 접근 시간을 기록하여 평균 시간 계산
  • 성공 기준: 한 달 내에 평균 접근 시간을 5초 이하로 줄였다고 판단될 때 "됐다"고 볼 것

마무리

Slack의 사례를 통해 우리는 기업 검색 시스템을 설계할 때 데이터 보안과 개인 정보 보호를 어떻게 동시에 구현할 수 있는지를 배웠다. 이를 통해 내 팀에서도 운영 안정성을 높이고, 실행 기준을 명확히 하여 지속 가능한 데이터 관리 체계를 구축할 수 있을 것이다.

FAQ

Q. 실시간 데이터 접근의 가장 큰 장점은 무엇인가요?

실시간 데이터 접근의 주요 장점은 항상 최신 정보를 제공할 수 있다는 점입니다. 이는 의사결정의 정확성을 높이고, 비즈니스 효율성을 극대화할 수 있습니다.

Q. 실무 적용 시 가장 많이 막히는 부분은?

가장 많이 막히는 부분은 OAuth 프로토콜 설정과 관리입니다. 권한 관리가 복잡해질 수 있기 때문에, 이를 명확하게 설계하는 것이 필요합니다.

Q. Timeware는 이것을 어떻게 활용하나요?

Timeware에서는 고객 맞춤형 솔루션을 제공하기 위해 실시간 데이터 접근 방식을 적극적으로 도입하고 있으며, 이를 통해 고객의 요구에 빠르게 대응하고 있습니다.

Q. 이 흐름은 앞으로 어떻게 전개될까요?

앞으로 AI와 머신러닝 기술이 발전하면서, 데이터 검색의 개인화 및 자동화가 더욱 강화될 것으로 예상됩니다. 이러한 기술적 발전이 기업의 정보 관리 방식에 큰 변화를 가져올 것입니다.