2019.05.14

'데이터 활용 묘수 찾았다'··· FT의 '그래프 DB' 도입기

Tom Macaulay | Computerworld UK
파이낸셜 타임스(Financial Times, FT)는 이미 지난 2012년에 디지털 구독 매출이 인쇄물 매출을 넘어섰다. 이른바 '디지털 퍼스트' 전략 덕분이다. 이를 통해 이 신문사의 IT팀은 독자에게 새로운 영상과 인터랙티브 그래픽, 팟캐스트 등을 제공할 수 있었다. 
 
ⓒ Getty Images Bank

문제는 기존의 모놀리틱(monolithic) 아키텍처였다. 코드와 데이터가 관계형 데이터베이스에 긴밀하게 연결돼 있었고, 이 때문에 개발자가 애플리케이션에서 사용할 데이터를 일일이 구조화해야 했다. 새로운 디지털 서비스를 제공하기에는 제약이 많았다. 그래서 FT는 자사 애플리케이션에 마이크로서비스(microservices) 아키텍처를 도입해 독립적인 서비스로 바꾸었다. 그러자 필요할 때 앱을 릴리즈, 반복, 대체, 삭제하는 것이 더 용이해졌다. 의사결정을 각 일을 담당하는 팀에 넘기는 것도 간편해졌다. 

그러나 여전히 문제가 있었다. 업무 우선순위가 바뀌고 직원이 다른 역할을 맡아야 할 때 유지보수 문제가 발생했다. FT의 선임 엔지니어 리스 에반스는 "다른 기업이 그런 것처럼 FT에서도 핵심 인력이 많은 기술 업무를 담당한다. 그리고 이제는 회사를 떠났거나 혹은 현재 다른 일을 하는 사람에 의해 만들어진 앱도 많다. 때때로 문서화도 잘 안 돼 있다. 그래서 우리는 그 해법을 찾기로 했다. 먼저 그동안 만든 것을 정리할 필요가 있었다. 각 애플리케이션 별로 누구 만들었는지 확인하고 제대로 개발됐는지 문서화가 제대로 됐는지 점검했다"라고 말했다.

가장 중요한 변화는 그 이후였다. FT는 이렇게 점검한 모든 결과물을 네오4제이(Neo4J) 그래프 데이터베이스 플랫폼으로 전환했다. 이 시스템을 이용하면 FT의 IT팀이 데이터 간의 복잡한 관계를 모델링할 수 있다. 이해당사자가 누구인지 더 분명한 투명성을 제공하면서도 이를 단순화하거나 중요한 세부 자료가 사라질까 걱정할 필요가 없다.

IT팀이 이 시스템을 만들면서 명확하고 사람이 읽을 수 있는 코드만 남겼다. 그리고 이와 관련이 없는 모든 인프라를 제거한 후 이 시스템 기록을 그래프 속 팀과 연결했다. 그들은 정보를 바클레이(Barclays) 같은 조직에 제공해 활용할 수 있고, 다시 그 처리 결과를 다른 시스템의 정보와 연결했다.

FT는 이러한 그래프 애플리케이션을 더 쉽게 개발하기 위해 그랜드(GRAND) 스택을 이용했다. 네오4제이 네이티브 그래프 데이터베이스와 그래프QL(GraphQL) 쿼리 언어, API용 프로토콜 등을 결합한 프레임워크다. 컴포넌트 기반 UI를 만드는 리치(Reach) 자바스크립트 라이브러리와, 개선된 그래프QL 워크플로를 만드는 아폴로(Apollo) 스위트 툴도 활용했다.

에반스는 "전통적인 데이터베이스에서는 모든 것을 하나하나 직접 연결해야 하고 이를 유지하기 위해 또 많은 연결이 필요했다. 반면 그래프 데이터베이스는 중간 노드를 통해 모든 것을 연결할 수 있다. 즉 연결은 그대로 존재하지만 각각을 세심하게 유지보수할 필요는 없다. 게다가 관리하기도 쉽다"라고 말했다.

FT는 그래프 데이터베이스를 여러 곳에 활용하고 있다. 기사를 추천하는 개인화된 마이FT 섹션은 물론 새로운 웹사이트 서비스에도 쓴다. 또한, 더 실험적인 스토리텔링 방법에도 네오4제이를 사용했다. 예를 들면 앙겔라 메르켈의 인맥 6단계는 FT가 다룬 인물들 간의 관계를 보여준다. 그래프 데이터베이스는 직원에게도 인기가 있었다. 이 시스템의 단순한 다이어그램은 다른 모델링 언어보다 이해하기 훨씬 쉽기 때문이다. 또한 데이터가 어디에 있는지, 이 데이터의 책임자가 누구인지에 대한 더 명확한 기록을 제공하므로 GDPR을 준수하는 데도 도움이 됐다.

이러한 변화는 FT의 다른 IT팀이 팀과 관련된 결정에 더 많은 권한을 가질 수 있게 했다. 이는 사업 결과는 물론 직원 만족도를 높이는 데도 큰 도움이 됐다. 에반스는 "가장 중요한 것이 바로 이것이다. 팀이 담당하고 있는 모든 것에 대해 팀이 책임을 질 수 있도록 해야 한다. 더는 각 팀이 단순히 처리한 후 방치하는 것은 없다"라고 말했다. ciokr@idg.co.kr



2019.05.14

'데이터 활용 묘수 찾았다'··· FT의 '그래프 DB' 도입기

Tom Macaulay | Computerworld UK
파이낸셜 타임스(Financial Times, FT)는 이미 지난 2012년에 디지털 구독 매출이 인쇄물 매출을 넘어섰다. 이른바 '디지털 퍼스트' 전략 덕분이다. 이를 통해 이 신문사의 IT팀은 독자에게 새로운 영상과 인터랙티브 그래픽, 팟캐스트 등을 제공할 수 있었다. 
 
ⓒ Getty Images Bank

문제는 기존의 모놀리틱(monolithic) 아키텍처였다. 코드와 데이터가 관계형 데이터베이스에 긴밀하게 연결돼 있었고, 이 때문에 개발자가 애플리케이션에서 사용할 데이터를 일일이 구조화해야 했다. 새로운 디지털 서비스를 제공하기에는 제약이 많았다. 그래서 FT는 자사 애플리케이션에 마이크로서비스(microservices) 아키텍처를 도입해 독립적인 서비스로 바꾸었다. 그러자 필요할 때 앱을 릴리즈, 반복, 대체, 삭제하는 것이 더 용이해졌다. 의사결정을 각 일을 담당하는 팀에 넘기는 것도 간편해졌다. 

그러나 여전히 문제가 있었다. 업무 우선순위가 바뀌고 직원이 다른 역할을 맡아야 할 때 유지보수 문제가 발생했다. FT의 선임 엔지니어 리스 에반스는 "다른 기업이 그런 것처럼 FT에서도 핵심 인력이 많은 기술 업무를 담당한다. 그리고 이제는 회사를 떠났거나 혹은 현재 다른 일을 하는 사람에 의해 만들어진 앱도 많다. 때때로 문서화도 잘 안 돼 있다. 그래서 우리는 그 해법을 찾기로 했다. 먼저 그동안 만든 것을 정리할 필요가 있었다. 각 애플리케이션 별로 누구 만들었는지 확인하고 제대로 개발됐는지 문서화가 제대로 됐는지 점검했다"라고 말했다.

가장 중요한 변화는 그 이후였다. FT는 이렇게 점검한 모든 결과물을 네오4제이(Neo4J) 그래프 데이터베이스 플랫폼으로 전환했다. 이 시스템을 이용하면 FT의 IT팀이 데이터 간의 복잡한 관계를 모델링할 수 있다. 이해당사자가 누구인지 더 분명한 투명성을 제공하면서도 이를 단순화하거나 중요한 세부 자료가 사라질까 걱정할 필요가 없다.

IT팀이 이 시스템을 만들면서 명확하고 사람이 읽을 수 있는 코드만 남겼다. 그리고 이와 관련이 없는 모든 인프라를 제거한 후 이 시스템 기록을 그래프 속 팀과 연결했다. 그들은 정보를 바클레이(Barclays) 같은 조직에 제공해 활용할 수 있고, 다시 그 처리 결과를 다른 시스템의 정보와 연결했다.

FT는 이러한 그래프 애플리케이션을 더 쉽게 개발하기 위해 그랜드(GRAND) 스택을 이용했다. 네오4제이 네이티브 그래프 데이터베이스와 그래프QL(GraphQL) 쿼리 언어, API용 프로토콜 등을 결합한 프레임워크다. 컴포넌트 기반 UI를 만드는 리치(Reach) 자바스크립트 라이브러리와, 개선된 그래프QL 워크플로를 만드는 아폴로(Apollo) 스위트 툴도 활용했다.

에반스는 "전통적인 데이터베이스에서는 모든 것을 하나하나 직접 연결해야 하고 이를 유지하기 위해 또 많은 연결이 필요했다. 반면 그래프 데이터베이스는 중간 노드를 통해 모든 것을 연결할 수 있다. 즉 연결은 그대로 존재하지만 각각을 세심하게 유지보수할 필요는 없다. 게다가 관리하기도 쉽다"라고 말했다.

FT는 그래프 데이터베이스를 여러 곳에 활용하고 있다. 기사를 추천하는 개인화된 마이FT 섹션은 물론 새로운 웹사이트 서비스에도 쓴다. 또한, 더 실험적인 스토리텔링 방법에도 네오4제이를 사용했다. 예를 들면 앙겔라 메르켈의 인맥 6단계는 FT가 다룬 인물들 간의 관계를 보여준다. 그래프 데이터베이스는 직원에게도 인기가 있었다. 이 시스템의 단순한 다이어그램은 다른 모델링 언어보다 이해하기 훨씬 쉽기 때문이다. 또한 데이터가 어디에 있는지, 이 데이터의 책임자가 누구인지에 대한 더 명확한 기록을 제공하므로 GDPR을 준수하는 데도 도움이 됐다.

이러한 변화는 FT의 다른 IT팀이 팀과 관련된 결정에 더 많은 권한을 가질 수 있게 했다. 이는 사업 결과는 물론 직원 만족도를 높이는 데도 큰 도움이 됐다. 에반스는 "가장 중요한 것이 바로 이것이다. 팀이 담당하고 있는 모든 것에 대해 팀이 책임을 질 수 있도록 해야 한다. 더는 각 팀이 단순히 처리한 후 방치하는 것은 없다"라고 말했다. ciokr@idg.co.kr

X