Sanjay Ghemawat
Санджай Гемават (англ. Sanjay Ghemawat) — американский учёный и инженер в области компьютерных наук, известный как один из ключевых разработчиков распределённых систем и программного обеспечения в компании Google. Наиболее известен как соавтор (совместно с Джеффом Дином) основополагающих технологий, лежащих в основе инфраструктуры Google, включая файловую систему Google File System (GFS), распределённую вычислительную платформу MapReduce и систему управления базами данных Bigtable. Внёс значительный вклад в развитие парадигм облачных вычислений и обработки больших данных.
Биография
Ранние годы и образование
Санджай Гемават родился в Индии. Получил степень бакалавра в области компьютерных наук в Корнеллском университете (США). В 1995 году защитил докторскую диссертацию (Ph.D.) в области компьютерных наук в Массачусетском технологическом институте (MIT). Тема его диссертации была связана с моделированием и анализом производительности вычислительных систем.
Карьера в Google
Гемават присоединился к Google в 1999 году, когда компания ещё не была публичной и насчитывала всего несколько десятков сотрудников. Он стал одним из первых инженеров, работавших над фундаментальными проблемами масштабирования поискового индекса и обработки огромных объёмов данных. Вместе с Джеффом Дином он сформировал дуэт, который разработал несколько ключевых систем, ставших основой для всей последующей инфраструктуры Google.
В 2015 году Гемават был избран членом Национальной инженерной академии США (NAE) за вклад в проектирование и разработку крупномасштабных распределённых вычислительных систем.
Ключевые разработки
Google File System (GFS)
Google File System (GFS) — это распределённая файловая система, разработанная для удовлетворения растущих потребностей Google в хранении и обработке больших объёмов данных. Гемават выступил одним из ведущих авторов статьи, описывающей GFS, опубликованной в 2003 году. Основные особенности GFS:
- Отказоустойчивость: Система проектировалась для работы на дешёвом, ненадёжном оборудовании. Она автоматически реплицировала данные (обычно 3 копии) и восстанавливалась после сбоев.
- Высокая пропускная способность: GFS была оптимизирована для больших, последовательных чтений и записи, а не для низкой задержки.
- Централизованный мастер: Для упрощения архитектуры использовался один сервер метаданных (Master), который управлял расположением всех блоков данных.
GFS стала основой для многих внутренних сервисов Google, включая поисковую индексацию и обработку данных. Позднее её идеи были реализованы в открытых проектах, таких как Apache Hadoop Distributed File System (HDFS).
MapReduce
MapReduce — это программная модель и парадигма для распределённых вычислений на больших наборах данных. Гемават и Дин опубликовали основополагающую статью о MapReduce в 2004 году. Модель включает два этапа:
- Map (Отображение): Пользовательская функция обрабатывает входные данные и генерирует набор промежуточных пар «ключ-значение».
- Reduce (Свёртка): Пользовательская функция агрегирует все значения, связанные с одним ключом, и выдаёт конечный результат.
MapReduce позволила программистам, не имеющим опыта работы с распределёнными системами, легко писать программы, которые автоматически распараллеливались и выполнялись на тысячах машин. Эта модель стала стандартом де-факто для обработки больших данных в середине 2000-х годов и легла в основу таких проектов, как Apache Hadoop.
Bigtable
Bigtable — это распределённая система управления базами данных, построенная на основе GFS и MapReduce. Гемават был одним из главных архитекторов Bigtable, описанной в статье 2006 года. Bigtable представляет собой:
- Распределённое хранилище: Данные организованы в виде разреженной, распределённой, многомерной отсортированной карты.
- Модель данных: Строки и столбцы, с возможностью версионирования данных по времени.
- Производительность: Bigtable способна обрабатывать петабайты данных на тысячах серверов с высокой производительностью.
Bigtable используется для многих сервисов Google, включая Google Search, Google Maps, Google Earth, Google Finance и Gmail. Её идеи повлияли на создание таких NoSQL-баз данных, как Apache HBase и Cassandra.
Другие проекты
Помимо трёх вышеупомянутых систем, Гемават внёс вклад в разработку:
- Spanner: Глобально распределённая база данных Google, которая обеспечивает внешнюю согласованность и поддержку транзакций SQL.
- TensorFlow: Открытая библиотека для машинного обучения, хотя его вклад в неё был менее заметным, чем в инфраструктурные проекты.
- Протоколы и системы управления данными: Участвовал в разработке внутренних систем для обработки потоков данных и управления конфигурацией.
Влияние и наследие
Работы Санджая Гемавата, особенно в соавторстве с Джеффом Дином, оказали глубокое влияние на индустрию информационных технологий. Они не только решили практические проблемы масштабирования в Google, но и сформировали теоретическую базу для целого поколения распределённых систем.
- Парадигма «Больших данных»: MapReduce и GFS стали основой для экосистемы Hadoop, которая сделала обработку больших данных доступной для широкого круга компаний и исследователей.
- Облачные вычисления: Идеи, заложенные в GFS, Bigtable и MapReduce, лежат в основе многих современных облачных платформ (Amazon Web Services, Microsoft Azure, Google Cloud Platform).
- Научное признание: Статьи Гемавата и Дина по GFS, MapReduce и Bigtable являются одними из самых цитируемых в истории компьютерных наук. Они получили множество наград, включая премию ACM SIGOPS Hall of Fame Award и премию ACM Prize in Computing (в составе группы).
Интересные факты
- Гемават известен своей скромностью и непубличностью. Он редко даёт интервью и предпочитает сосредотачиваться на инженерной работе, а не на публичной деятельности.
- Вместе с Джеффом Дином он является автором нескольких ключевых патентов Google, связанных с распределёнными вычислениями.
- Несмотря на то, что его работы часто цитируются в контексте «больших данных», сам Гемават в интервью подчёркивал, что их главной целью было решение конкретных инженерных проблем, а не создание абстрактной теории.
Источники
- Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung. "The Google File System". 19th ACM Symposium on Operating Systems Principles (SOSP), 2003.
- Jeffrey Dean, Sanjay Ghemawat. "MapReduce: Simplified Data Processing on Large Clusters". 6th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2004.
- Fay Chang, Jeffrey Dean, Sanjay Ghemawat, et al. "Bigtable: A Distributed Storage System for Structured Data". 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2006.
- James C. Corbett, Jeffrey Dean, Sanjay Ghemawat, et al. "Spanner: Google's Globally-Distributed Database". 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2012.
- Национальная инженерная академия США (NAE). Профиль Санджая Гемавата.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →