Val Petruchek

подписывайтесь, а то хуже будет!  

ПОДПИСЫВАЙТЕСЬ НА RSS

« Оценка качества работы программиста
Локальный SVN репозиторий »

Protocol Buffers

09.07.08 @ 00:57 — Programming, Google

В понедельник Google выпустил Protocol Buffers — формат хранения данных, позициниоруемый гуглом как частичная замена XML.

Вот как выглядит пример XML:

  <person>
    <name>Йа Креведко</name>
    <email>ja@kreved.co</email>
  </person>

А вот так выглядит та же информация, записанная с помощью Protocol Buffers (в текстовом формате):

  person {
    name = "Йа Креведко"
    email = "ja@kreved.co"
  }

Кроме текстового формата, Protocol Buffers может быть бинарным — т.е. Human Readability, как в случае с XML, не гарантирована.

Для любого файла в формате Protocol Buffers нужен файл формата .proto, в котором описывается структура данных:

message Person {
  required string name = 1;
  required int32 id = 2;
  optional string email = 3;

  enum PhoneType {
    MOBILE = 0;
    HOME = 1;
    WORK = 2;
  }

Google и сам пользуется этим форматом во многих своих проектах, и другим рекомендует его вместо XML для сериалайзинга структурированных данных, ибо Protocol Buffers по сравнению с XML:

  • проще
  • в 3-10 раз меньше
  • в 20-100 раз быстрее
  • менее неопределённые
  • порождают классы для доступа к данным, которые легче использовать программно

Protocol Buffers подходят не для всего: например, хранить текстовый документ с разметкой с помощью этого формата будет неудобно, т.к. структура будет смешиваться с текстом.

3 Comments »

  1. Давно пора было придумать замену, быстрей бы интегрировали бы в PHP и прочее

    Comment by babloblog — 20.07.2008 @ 18:40

  2. Недавно вийшла свіжа версія Google Protocol Buffers 2.1.0. Деталі версії на Розробці.

    Comment by Mux — 02.06.2009 @ 15:51

  3. Mux, все детали — на гугле, а не вашей Розробці.

    Comment by Val Petruchek — 24.10.2009 @ 18:58

RSS feed for comments on this post. TrackBack URI

Leave a comment

  
Реклама::

 
Реклама::