구성 요소

Google 오픈 소스 데이터 교환 언어

다각화되는 요즘 무선 환경의 '3대 트렌드'

다각화되는 요즘 무선 환경의 '3대 트렌드'
Anonim

공식적인 회사 블로그 게시물 및 문서에 따르면, 새로운 릴리스의 물결에 대한 단계를 설정하기 위해 다양한 유형의 데이터를 인코딩하는 회사의 프로토콜 버퍼를 제공합니다.

"실질적으로 Google 내부의 모든 사용자"는 프로토콜을 사용합니다 버퍼, FAQ 페이지. "우리는 프로토콜 버퍼를 사용하는 오픈 소스로 공개하고 싶은 다른 많은 프로젝트가 있기 때문에 먼저 프로토콜 버퍼를 해제해야했습니다."Google은 서버간에 네트워크로 연결된 메시지를 표현하기 위해 수천 개의 서로 다른 데이터 형식을 사용합니다., 지형지 물 데이터 세트 등의 색인 레코드 등이 포함됩니다. "라고 Google의 소프트웨어 엔지니어링 팀원 인 Kenton Varda가 블로그 게시물에 썼습니다. "대부분의 포맷은 구조화 된 것이 아니라 평평하지 않은 형식으로 구성되어 있기 때문에, 어떻게 인코딩 할 것인가?"중요한 질문이 제기됩니다. Varda에 따르면 유비쿼터스 XML (extensible markup language)은 Google의 데이터 공유 요구에 충분히 효율적이지 않습니다.: "여러분의 모든 기계와 네트워크 링크가 용량에 따라 실행될 때, XML은 매우 비싼 제안입니다."

프로토콜 버퍼를 사용하면 데이터를 한 번 구성하는 방법을 정의한 다음 특수 생성 된 소스 구조화 된 데이터를 다양한 데이터 스트림간에 쉽게 읽고 쓰고 다양한 언어를 사용하는 코드 "라고 설명합니다. "기존의 형식에 맞게 컴파일 된 배포 된 프로그램을 중단하지 않고도 데이터 구조를 업데이트 할 수 있습니다."

Google에 따르면 프로토콜 버퍼는 XML보다 3 ~ 10 배 작고 20 ~ 100 배 빠릅니다.

하지만 XML은 특정 작업에 몇 가지 이점이 있습니다. "프로토콜 버퍼는 텍스트와 구조를 쉽게 인터리브 할 수 없기 때문에 마크 업 (예: HTML)을 사용하여 텍스트 기반 문서를 모델링하는 좋은 방법이 아닙니다. 또한 XML "

Google은 Java, C ++ 및 Python 용 프로토콜 버퍼 컴파일러가 포함 된 다운로드 페이지를 준비했습니다.

Google은 사용자가 읽을 수 있고 사람이 편집 할 수 있으며,