퀀트캐스트 파일 시스템

Quantcast File System
퀀트캐스트 파일 시스템(QFS)
개발자스리람 라오, 마이클 오브시안니코프, 퀀트캐스트
안정된 릴리스
1.1.4 / 2015년 3월 5일, 7년 전(2015-03-05)[1]
기입처C++
유형분산 파일 시스템
면허증.Apache 라이센스 2.0
웹 사이트quantcast.github.com/qfs

QFS(Quantcast File System)는 대규모 MapReduce 또는 기타 배치 처리 워크로드를 위한 오픈 소스 분산 파일 시스템 소프트웨어 패키지입니다.대규모 프로세싱 클러스터에 더 나은 성능과 비용 효율성을 제공하도록 설계된 Apache Hadoop 분산 파일 시스템(HDFS)의 대안으로 설계되었습니다.

설계.

QFS는 수백 대 또는 수천 대의 범용 Linux 서버 클러스터에서 실행되며 다른 소프트웨어 계층이 하나의 거대한 하드 드라이브인 것처럼 상호 작용할 수 있도록 하는 소프트웨어입니다.다음 3가지 컴포넌트가 있습니다.

  • 청크 서버는 데이터를 호스트하는 각 머신에서 실행되며 하드 드라이브에 대한 I/O를 관리하고 해당 활동과 용량을 모니터링합니다.
  • 메타서버라고 불리는 중앙 프로세스는 디렉토리 구조와 파일의 물리적 스토리지에 대한 매핑을 유지합니다.모든 청크 서버의 작업을 조정하고 파일 시스템의 전반적인 상태를 모니터링합니다.고성능을 위해 모든 데이터를 메모리에 보관하고 복구를 위해 체크포인트와 트랜잭션 로그를 디스크에 기록합니다.
  • 클라이언트 컴포넌트는 소프트웨어의 다른 레이어에 파일시스템 Application Programming Interface(API; 응용 프로그램프로그래밍 인터페이스)를 제공하는 인터페이스 포인트입니다.데이터를 보관 유지하는(또는 보관하는) 청크서버를 특정하기 위해 메타서버에 의뢰한 후 청크서버와 직접 대화하여 읽고 씁니다.

수백 대 또는 수천 대의 머신이 있는 클러스터에서는 모든 머신이 언제든지 실행되어 도달할 가능성이 낮기 때문에 폴트 톨러런스가 설계의 핵심 과제입니다.QFS는 Reed-Solomon 오류 수정을 통해 이를 충족합니다.QFS에서 사용되는 Reed-Solomon 인코딩 형식은 용장 데이터를 9개소에 저장하고 이들 [2]6개의 스트라이프에서 파일을 재구성할 수 있습니다.파일을 쓸 때 기본적으로는 물리적으로 다른9대의 머신에 스트라이핑 됩니다.이 머신에는 6대의 데이터가 저장되어 있으며 3대의 패리티 정보가 저장되어 있습니다.그 중 3개는 사용할 수 없게 될 수 있습니다.6개 중 하나가 판독 가능한 상태로 남아 있는 경우 QFS는 원래 데이터를 재구성할 수 있습니다.그 결과 50%의 데이터 확장 비용으로 폴트 톨러런스를 실현할 수 있습니다.

QFS는 프로그래밍 언어 C++로 작성되어 고정 메모리 풋프린트 내에서 동작하며 직접 입출력(I/O)을 사용합니다.

역사

QFS는 Kosmix가 2005년에 시작한 오픈 소스 프로젝트인 Kosmos File System(KFS)에서 발전했습니다.Quantcast는 2007년에 KFS를 채택하여 향후 수년간 자체적인 개선사항을 구축하여 2012년 [3]9월에 오픈 소스 프로젝트로 QFS 1.0을 출시하였습니다.

레퍼런스

외부 링크