페이스북, 플래시 전용 NoSQL DB 공개

일반입력 :2013/11/22 09:26

페이스북이 구글의 레벨DB를 대신할 임베디드 NoSQL 데이터베이스(DB)를 공개했다. 서버 PCI 슬롯에 장착되는 플래시카드 성능을 극대화한 키값 스토리지 라이브러리다.

21일(현지시간) 외신에 따르면, 페이스북은 임베디드 키값스토리지 기술 '록스DB(RocksDB)'를 오픈소스로 내놨다.

록스DB는 수많은 코어를 활용하고 플래시카드의 초당 입출력(IOPS) 최대값을 이끌어내 속도를 높이는 목적으로 만들어졌다. 구글이 2년전 공개한 레벨DB에 기반했다.

서버 PCI 슬롯에 장착하는 플래시카드를 저장매체로 활용한다. 외부 디스크를 이용하는 경우 네트워크 대역폭 한계에 따른 병목과 속도저하를 야기한다. 램(RAM)을 이용하는 건 비용적으로 너무 비싸고, 데이터 영속성이 없다.

또한 점차 서버 코어수가 늘어나면서, 스토리지에 대한 초당 요청은 수백만건에 이른다. 스토리지가 초당 수백만 IO를 감당해야 하는 것이다. 전통적인 DB 기술은 여러 요청이 한꺼번에 몰릴 경우 시간순에 따라 순차적으로 응답한다. 이런 구조에선 아무리 빠른 플래시 스토리지와 많은 CPU를 쓰더라도 IOPS 최대성능을 이끌어내지 못한다.

관련기사

페이스북은 블로그에서 퓨전IO를 장착한 자신들의 서버에서 록스DB 성능을 테스트할 수 있는 벤치마크를 밝혔다. 구글의 레벨DB보다 10배 빨랐다는 게 페이스북의 주장이다.

페이스북은 록스DB같은 임베디드DB를 웹사이트 사용자상태나 히스토리를 저장하는 경우나 실시간으로 데이터를 스캔해야하는 그래프서치 쿼리, 하둡용 캐시, 메시지큐 등에 유용하다고 설명했다.