Компоненты

Язык данных с открытым исходным кодом Google

Солдатик молодой Исполняет Иван Разумов

Солдатик молодой Исполняет Иван Разумов
Anonim

Google открыла -сертифицировал свои протокольные буферы, lingua franca компании для кодирования различных типов данных, чтобы создать основу для волны новых релизов, согласно официальным сообщениям в блогах компании и документам.

«Практически все в Google» используют протокол буферов, содержит страницу часто задаваемых вопросов. «У нас есть много других проектов, которые мы хотели бы опубликовать как открытый источник, использующий протокольные буферы, поэтому для этого нам нужно было сначала освободить буферы протоколов».

Google использует «тысячи различных форматов данных для представления сетевых сообщений между серверами, индексные записи в репозиториях, геопространственные наборы данных и т. д. », - написал Кентон Варда, член команды разработчиков программного обеспечения Google, в блоге. «Большинство из этих форматов структурированы, а не плоские. Это вызывает важный вопрос: как мы все кодируем?»

Вездесущий XML (расширяемый язык разметки) недостаточно эффективен для потребностей Google в области обмена данными, согласно Варде: «Когда все ваши компьютеры и сетевые соединения работают по мощности, XML - чрезвычайно дорогое предложение».

С буферами протоколов «вы определяете, как вы хотите структурировать ваши данные один раз, тогда вы можете использовать специальный сгенерированный источник кода, который легко записывает и читает ваши структурированные данные в различные потоки данных и из разных источников и использует различные языки », согласно странице документации. «Вы даже можете обновить свою структуру данных, не разбирая развернутые программы, которые скомпилированы в« старом »формате.

Буферы протоколов в три-десять раз меньше и в 20-100 раз быстрее, чем XML, согласно Google.

Но XML имеет некоторые преимущества для определенных задач, согласно документации: «Буферы протокола не будут хорошим способом моделировать текстовый документ с разметкой (например, HTML), поскольку вы не можете легко чередовать структуру с текстом. Кроме того, XML является человекочитаемым и редактируемым человеком, протокольные буферы, по крайней мере в их родном формате, не являются ».

Google подготовил загрузку pagethat содержит компиляторы протокола протокола для Java, C ++ и Python.