728x90
반응형

"관계형 데이터베이스가 아닌 한 가지는 관계형입니다." 라고 Frederick Kagan님이 말했어요. 그는 Critical Threats Project의 이사이자 American Enterprise Institute 소속이죠.

모든 정보 기관은 데이터 연결을 확인하고 네트워크를 분석하는 데 관심이 많아요. Critical Threats Project는 오픈 소스 인텔리전스를 활용해서 인터넷과 소셜 미디어를 분석하고, 엄격하게 구축된 데이터 세트를 기반으로 인텔리전스 분석을 생성해요. 이러한 분석을 통해 전 세계 분쟁 지역에서 무슨 일이 일어나고 있는지에 대한 통찰력을 얻고, 정책 입안자, 언론, 대중과 공유하고 있죠.

이번 주 5분 인터뷰에서는 GraphConnect 2018 NYC에서 Frederick Kagan님이 왜 를 인텔리전스 분석의 핵심 도구로 선택했는지에 대해 이야기 나눴어요.

Neo4j를 어떻게 사용하나요?

Frederick Kagan: Critical Threats Project에서는 인터넷과 소셜 미디어에서 가져온 데이터를 기반으로 사건, 개체, 사람, 장소, 사물, 그리고 이들의 상호 관계에 대한 고도로 큐레이팅된 데이터 세트를 가지고 있어요.

이 데이터베이스, 데이터의 무결성, 그리고 데이터베이스에 액세스하고 시각화하고 탐색하는 능력은 분석 및 예측을 수행하고 정보에서 통찰력을 도출하는 능력의 핵심이죠.

저희는 해당 데이터가 저장되는 정보 시스템의 백본으로 Neo4j를 사용하고 있어요. 여러 가지 이유로 Neo4j를 선택했지만, 주로 Graph Database는 정보 커뮤니티와 앞으로 나아가는 모든 종류의 정보 조직에 적합한 모델이라고 생각하기 때문이에요. 그리고 Neo4j는 최고의 Graph Database 구조를 가지고 있다고 믿고 있죠.

Neo4j가 해결한 주요 문제는 무엇인가요?

Kagan: 저희 문제 중 하나는 구조화되지 않은 데이터를 광범위하게 사용한다는 점이에요.

저희 팀은 지역 미디어 기사 등을 읽고 데이터베이스로 가져와야 해요. 하지만 저희와 같은 유형의 일을 하는 다른 사람들뿐만 아니라 다양한 비정부 및 정부 기관에서 제공하는 많은 구조화된 데이터베이스와도 상호 작용하죠. 모든 데이터는 서로 다른 구조로 제공되는데, 또 다른 구조에 있는 다른 시스템의 레거시 데이터도 가지고 있었어요.

저희는 분석가에게 데이터와 상호 작용할 수 있는 단일 그래픽 사용자 인터페이스를 제공하는 것이 매우 중요하다는 것을 알게 되었어요. 사용자와 통찰력 사이에 클릭 수가 많아질수록 실제로 얻는 통찰력은 줄어들고, 더 많은 사용자가 도구에서 멀어지게 되죠.

서로 다른 모든 데이터 소스를 한 곳으로 모아서 사용자가 원활하게 상호 작용할 수 있도록 하는 것이 중요해요. Neo4j가 가진 그래프 기술은 전통적인 방식으로는 매우 쉽게 만들어주죠. SQL 데이터베이스로는 그걸 하기가 정말 어려워요.

그리고 핵심은 Neo4j를 사용하면 성능 저하 없이 동일한 데이터 세트에 동시에 공존하는 여러 개의 중첩된 온톨로지를 가질 수 있다는 거예요. 반면 기존 SQL 데이터베이스에서는 새로운 데이터 구조가 있거나 새로운 유형의 속성을 추가하는 경우, 이를 추가한 다음 모든 테이블과 모든 JOIN 테이블 등을 다시 인덱싱해야 하죠.

Neo4j를 사용하면 그런 일을 할 필요가 없어요!

기본적으로 새 label이나 새 label 세트를 추가하고 바로 가져오면 돼요. 저는 이 작업을 반복해서 수행했는데 정말 쉬워요. 데이터를 데이터베이스로 가져오는 건 쉬운 부분이죠. 제가 조금 신경 써야 했던 부분은 구조가 약간 다르기 때문에 프런트 엔드에서 사용자에게 표시하는 방법이었어요. 하지만 그런 데이터를 정리하는 능력은 저희가 하는 일에 있어서 정말 중요하답니다.

유연성이 왜 그렇게 중요한가요?

우리는 정말 역동적인 환경에서 사업을 하고 있어요. 우리가 하는 일을 어떻게 수행할지 계속 탐구하고 있죠. 항상 고민하고 있고요. 그리고 데이터를 구성하는 방법, 분류하는 방법, 정렬하는 방법, 링크를 만드는 방법 등에 대한 새로운 아이디어를 계속 내놓고 있어요.

우리가 사용하는 온톨로지를 즉석에서 변경할 수 있다는 건, 사용자에게 투명하고 데이터베이스를 오프라인으로 전환하거나 indexing 또는 re-indexing 등을 요구하지 않는 방식으로 기술 스택과 분석 워크플로우 및 프로세스의 자체 개발 역동성을 유지하는 데 정말 중요한 부분이에요.

그래프 기술이 정보 커뮤니티에 중요한 이유는 무엇인가요?

케이건: 그래프 기술은 지능 분석 시스템의 백본으로서 정말 이상적인 기술이라고 생각해요. 여기에는 몇 가지 이유가 있는데요. 하나는 데이터 정리를 지원하고 다양한 데이터 소스를 통합하는 용이성 때문이에요. 이는 정보 커뮤니티와 일반적으로 큰 문제거든요.

물론 다른 하나는 기업이든 정부이든 모든 정보 조직이 네트워크 연결을 확인하고 네트워크를 통과하는 데 관심이 있다는 것이죠. 그리고 그건 물론 그래프가 일반적으로 어필하는 부분이고 가장 분명한 장점이자 꽤 타당한 이유에요.

저는 SQL 데이터베이스 위에 그래프 GUI처럼 보이는 것을 배치한 다른 시스템과 상호 작용한 다음 Neo4j를 사용하여 비슷한 작업을 수행했는데요. 그래프 순회를 수행할 때, 그리고 그래프와 같은 GUI를 제공하는 SQL 데이터베이스와 실제 Graph Database를 사용하여 다양한 분리 수준에 도달할 때 훨씬 더 나은 성능을 얻을 수 있다는 건 의심의 여지가 없어요.

그리고 네트워크 다이어그램을 이해하고 네트워크 관계를 이해하고 그래프를 빠르게 탐색하는 것은 정보 커뮤니티와 우리 모두에게 계속해서 큰 문제가 될 것이기 때문에 그래프는 커뮤니티가 마이그레이션해야 하는 자연스러운 장소라고 생각해요.

Neo4j를 선택하게 된 계기는 무엇인가요?

케이건: 저는 우리가 사용하는 소프트웨어를 이상한 방식으로 작성하는 임무를 맡게 되었어요. 저는 취미로 일하는 프로그래머거든요. 컴퓨터 과학 강좌를 수강한 적도 없고요. 몇 년 전 저의 대학 감사 직업은 지구물리학자를 위해 Fortran 77 코드를 작성하는 것이었어요.

제가 파이썬을 집어 들었는데요, 몇 년 전에 저는 이것이 도움이 될 것이라고 생각했고 여러 가지 이유로 데이터 세트와 상호 작용하고 해당 데이터 세트를 무언가로 가져올 수 있는 코드를 작성해야 한다는 사실을 깨달았어요. 그래서 저는 그걸 Neo4j로 가져오기로 결정했죠.

놀랍게도 Neo4j를 사용하는 방법, Neo4j에 데이터를 가져오는 방법, 작성 방법을 배우게 되었는데요. Cypher 쿼리는 쉬운 부분이었어요. 제가 해야 할 다른 모든 일이 어려운 부분이었죠. 하지만 저는 Neo4j가 놀라울 정도로 사용자 친화적인 인터페이스이고 Cypher가 초보 프로그래머인 저에게 데이터를 이 데이터 구조로 가져와서 상호 작용을 시작하는 것을 매우 쉽게 만들어주는 데이터와 상호 작용하는 믿을 수 없을 만큼 사용자 친화적이고 직관적인 방법이라는 것을 알았어요.

저는 또한 Neo4j가 믿을 수 없을 만큼 신뢰할 수 있다는 것을 알았어요. 저도 백엔드 엔지니어이기 때문에 좋았죠. 저는 1년 넘게 건강한 데이터 세트를 유지하기 위해 사실상 아무것도 하지 않았어요. 40~50명의 분석가가 언제든지 사용하며 다양한 유형의 Node가 800만~900만 개 있어요. 유지 관리가 거의 필요하지 않아 놀라울 정도로 안정적이고 신뢰할 수 있었어요.

따라서 이러한 모든 관점에서 상대적으로 경험이 부족한 사람을 위한 도구로서 Neo4j와 함께 작업하는 것은 정말 꿈만 같았어요.

Neo4j를 사용하면서 가장 예상치 못한 일은 무엇이었나요?

케이건: 우리는 Neo4j와 이를 백엔드에 어떻게 사용하는지에 대해 매우 흥미를 느꼈고, 웹사이트를 다시 디자인해야 할 때 우리를 위해 작업하고 있는 공급업체와 이야기를 나누고 Neo4j를 웹사이트의 백엔드로 사용하도록 설득했어요.

웹사이트에서 전통적인 WordPress SQL 백엔드 데이터 저장소를 사용하는 대신, 우리는 웹사이트 뒤에서 Neo4j 데이터베이스를 실행하고 있으며, 이는 연구 데이터를 사이트의 시각화에 직접 통합하는 것을 촉진할 거예요. 그리고 관계형 측면 때문에 웹 사이트의 정말 좋은 백본이 되죠.

재미있는 점은 관계형 데이터베이스가 그렇지 않다는 거예요. 그래프 관계에 관해 이야기할 때의 의미에서 관계형이라는 거죠.

우리 웹사이트를 만든 회사는 Neo4j 사용법을 배우고 이를 웹사이트에 도입하는 것에 매우 흥미를 느꼈던 것 같아요. 그것도 많은 관심을 받고 있는 또 하나의 애플리케이션이라고 생각해요.

향후 5분 인터뷰에서 Neo4j 프로젝트에 대해 공유하고 싶으십니까? 우리에게 전화를 걸어 content@neo4j.com

비즈니스에 그래프를 어떻게 활용할 수 있을지 궁금하신가요?
이 백서를 다운로드해서 Graph Database의 주요 5가지 사용 사례와, 연결된 기업을 위한 그래프의 힘을 활용하는 방법을 알아보세요.
  • 5분 인터뷰
  • Cypher
  • Intelligence
  • Intelligence 분석 시스템
  • Python
  • SQL
  • 구조화되지 않은 데이터

에이치시스템즈의 LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.

👉 에이치시스템즈 홈페이지

728x90
반응형

+ Recent posts