핵심 요약

  • 개리 탄은 메타의 스레드 개발에 투입된 인력을 언급하며, Rama를 썼다면 엔지니어 한 명이 코드 1만 줄 미만으로 더 빠르고 저렴하게 만들 수 있었을 것이라고 주장했다. 이는 실제 개발 결과가 아닌 가정이다.
  • Rama 개발사 레드플래닛랩스는 자사 플랫폼으로 마스토돈과 유사한 소셜 네트워크를 구현하는 데 코드 약 1만 줄과 9인월이 들었다고 밝혔다.
  • Rama는 데이터 기록, 처리, 색인, 조회를 한 시스템에 통합한다. 핵심인 PState는 용도에 맞춰 여러 데이터 구조를 조합해 색인을 만들도록 설계됐다.
  • 개발사는 대규모 봇으로 운영하는 사례를 제시했지만, 영상에서 안내한 공개 버전은 시뮬레이션 클러스터에서 애플리케이션을 실행하는 형태다.

스레드 개발비 비교는 가정이다

탄은 스레드 개발에 엔지니어 25~50명이 7개월간 참여했고, 총 25인년이 투입됐다고 말했다. 그는 Rama를 사용했다면 엔지니어 한 명이 코드 1만 줄 미만으로 스레드를 최소 30배 빠르고 저렴하게 만들 수 있었을 것이라고 주장했다. 영상은 Rama로 스레드를 실제 구현한 결과를 제시하지 않는다.

탄은 Rama 개발자인 네이선 마스가 이전에 Apache Storm을 만들었다고 소개했다. 자신은 투자사 Initialized에서 레드플래닛랩스의 초기 투자자 중 한 명이었다고 밝혔다. 이어 과거 자신의 스타트업 Posterous가 MySQL 확장 문제로 어려움을 겪었다는 경험을 Rama에 관심을 갖는 이유로 들었다.

개발사가 제시한 마스토돈 구현 사례

마스는 Rama 위에 마스토돈과 소비자용 기능이 유사한 소셜 네트워크를 만들었다고 설명했다. 그에 따르면 구현에는 코드 약 1만 줄과 9인월이 들었다. 그는 트위터의 소비자용 제품 개발에 코드 약 100만 줄과 200인년이 들었다는 수치와 비교하며, Rama 사례의 코드량과 투입 시간이 크게 적었다고 주장했다. 두 수치는 마스가 제시한 비교다.

마스는 운영 중인 사례에서 봇 1억 개가 초당 게시물 3,500개를 올리고, 게시물 하나가 평균 403곳으로 전달된다고 말했다. 또한 자신들의 백엔드 코드가 오픈소스 마스토돈보다 최소 44% 적으며, 더 큰 규모로 확장할 수 있다고 주장했다. 영상에 제시된 부하의 주체는 봇이다.

기록부터 조회까지 묶는 구조

Rama의 구성 요소는 네 가지다. Depot은 데이터를 순서대로 덧붙여 저장하는 복제 로그다. ETL은 그 기록을 병렬로 읽고 변환해 색인을 만든다. 결과물인 PState는 데이터를 색인하고 보존하는 구조이며, 쿼리는 저장된 데이터를 조회한다. 마스에 따르면 개발자는 주로 Java API로 ETL을 작성한다.

쿼리에는 PState의 한 파티션에서 데이터를 찾거나 집계하는 포인트 쿼리와, 여러 PState 및 파티션을 대상으로 미리 정의하는 쿼리 토폴로지가 있다. 탄은 팔로어에게 게시물을 전달하는 피드 작업처럼 애플리케이션에서 처리하던 연산을 데이터 계층으로 옮길 수 있다고 설명했다.

데이터 구조와 확장 방식

마스는 기존 데이터베이스가 키·값, 문서, 열 등 정해진 데이터 모델을 제공한다고 설명했다. 그에 비해 Rama에서는 필요한 데이터 구조를 조합해 PState를 만들고, 용도에 따라 여러 PState를 둘 수 있다고 주장했다. 그의 설명대로라면 한 데이터 모델에 맞지 않는 기능을 위해 별도의 데이터베이스를 도입하는 일을 줄일 수 있다.

탄은 여러 데이터베이스를 함께 운영하면 서버뿐 아니라 백업, 인증, 운영 도구도 각각 관리해야 한다고 지적했다. 마스는 Rama 클러스터에서 파티션과 작업자 수를 지정하고, 자원이 더 필요할 때 작업자 수를 늘릴 수 있다고 설명했다. 예로 작업자 20개를 30개로 늘리는 명령을 들었다.

현재 공개된 범위

마스에 따르면 당시 누구나 사용해 볼 수 있도록 공개된 Rama 빌드는 완전한 애플리케이션을 만들고 시뮬레이션 클러스터에서 실행할 수 있다. 그는 Rama에 학습 곡선이 있다는 점도 인정했다. 영상의 대규모 운영 사례와 공개 빌드에서 사용자가 실행할 수 있는 환경은 구분할 필요가 있다.

Rama의 주장은 데이터 처리 기능을 한데 묶어 백엔드 구현과 운영의 복잡성을 줄일 수 있다는 것이다. 영상은 이를 마스토돈 유사 서비스의 개발·운영 사례로 설명하지만, 스레드를 30배 빠르고 저렴하게 만들 수 있었다는 주장은 가정으로 남는다.