Close Menu
    Telegram
    SEO HARDCORE
    • Разборы патентов
      • Патенты Google
      • Патенты Яндекс
    • Скоро
      SEO инструменты
    • Скоро
      SEO аналитика
    SEO HARDCORE
    Разборы патентов • Патенты Google

    Как Google оптимизирует архитектуру и выполнение запросов в графовой базе данных (Knowledge Graph)

    QUERY OPTIMIZATION (Оптимизация запросов)
    • US20110093500A1
    • Google LLC
    • 2011-04-21
    • 2010-12-23
    2010 Knowledge Graph Индексация Патенты Google

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

    • Описание
    • Детальный разбор
    • Выводы
    • Практика
    • Вопросы и ответы
    • Наверх

    Описание

    Какую задачу решает

    Патент решает проблему неэффективности и ригидности традиционных реляционных баз данных (RDBMS) при работе с массивными, слабоструктурированными и постоянно эволюционирующими наборами знаний (например, Knowledge Graph). Он устраняет необходимость определять схему заранее, предлагая подход Schema Last, и фокусируется на оптимизации сложных, незапланированных (ad-hoc) запросов к графовым структурам данных в реальном времени.

    Что запатентовано

    Запатентована архитектура графовой базы данных (называемой graphd, основа Freebase) и методы оптимизации запросов к ней. Система хранит все данные как примитивы (узлы для идентификации сущностей и связи для свойств/отношений) в лог-структурированном хранилище (append-only). Ядром изобретения являются механизмы оптимизации выполнения запросов: cost-based optimization (выбор стратегии на лету), использование иерархических итераторов и система бюджетирования ресурсов.

    Как это работает

    Система функционирует следующим образом:

    • Хранение данных: Факты хранятся как неизменяемые примитивы с уникальными идентификаторами (GUIDs). Изменения создают новые версии (версионирование).
    • Обработка запроса: Запрос представляет собой иерархическое дерево ограничений (constraint tree).
    • Оптимизация (Cost-Based): Для каждого ограничения создаются итераторы. Система запускает «гонки» (races) между разными стратегиями выполнения, оценивая их стоимость (cost) на первых результатах.
    • Выбор стратегии: Выбирается наиболее эффективная стратегия (например, определяется, какой список кандидатов использовать как producer, а какой как checker).
    • Выполнение: Запрос выполняется с использованием оптимизированной стратегии под контролем системы бюджетирования. Большие результаты возвращаются частями с помощью курсоров.

    Актуальность для SEO

    Высокая. Графовые базы данных лежат в основе Google Knowledge Graph. Описанная архитектура (graphd) связана с Freebase (упоминается в патенте), который был интегрирован в Knowledge Graph. Фундаментальные принципы хранения сущностей (Schema Last, identity-oriented) и оптимизации запросов к графам остаются критически важными для современного поиска.

    Важность для SEO

    Патент имеет высокое инфраструктурное значение, но низкое прямое влияние на тактические SEO-задачи (4/10). Он не описывает алгоритмы ранжирования веб-страниц. Однако он детально раскрывает, как Google хранит и обрабатывает данные о сущностях (Entities). Понимание этой архитектуры критически важно для формирования долгосрочной стратегии Entity SEO и работы со структурированными данными.

    Детальный разбор

    Термины и определения

    Budget (Бюджет)
    Механизм ограничения вычислительных ресурсов (в абстрактных единицах стоимости), выделяемых на выполнение запроса. Используется для предотвращения перегрузки системы сложными запросами.
    Cost-Based Optimization (Оптимизация на основе стоимости)
    Метод динамического выбора плана выполнения запроса. Система оценивает стоимость (cost) различных стратегий в реальном времени и выбирает наименее затратную.
    Cursor (Курсор)
    Токен, позволяющий приостановить выполнение длительного запроса и позже возобновить его с того же места, даже на другом сервере, обеспечивая согласованность данных.
    Graphd (Graph Database)
    Название проприетарного графового хранилища (tuple store), описанного в патенте. Инфраструктура для Knowledge Graph.
    GUID (Globally Unique Identifier)
    Глобально уникальный идентификатор, присваиваемый каждому примитиву.
    Identity-Oriented (Ориентированный на идентичность)
    Подход к базе данных, где центральным элементом является идентичность (сущность), а не структура данных.
    Iterator (Итератор)
    Базовый элемент схемы оптимизации. Итераторы используются для оценки и выполнения ограничений в дереве запроса, могут работать параллельно («гонки»).
    Link (Связь)
    Тип примитива, представляющий свойство сущности или отношение между двумя узлами. Имеет поля Left, Right, Type, Value.
    Log-structured / Append-only
    Архитектура базы данных, где данные только добавляются. Примитивы неизменяемы. Изменения реализуются через добавление новых версий (версионирование).
    Node (Узел)
    Тип примитива, представляющий идентичность (identity) сущности. Не несет данных, кроме своего GUID.
    Primitive (Примитив)
    Фундаментальная единица хранения данных в graphd. Все данные моделируются как примитивы.
    Producer/Checker (Производитель/Проверяющий)
    Роли в процессе оптимизации соединения (join). Producer генерирует кандидатов из одного списка, Checker проверяет их в другом. Выбор ролей зависит от оценки стоимости.
    Schema Last (Схема в последнюю очередь)
    Подход, при котором данные собираются до формального определения схемы. Обеспечивает гибкость структуры данных.
    Virtual Time (Виртуальное время)
    Механизм обеспечения согласованности данных в распределенной системе (Master-Replica), использующий последовательные ID примитивов как временную метку.

    Ключевые утверждения (Анализ Claims)

    Примечание: Документ US20110093500A1 является публикацией заявки на патент (Patent Application Publication), а не выданным патентом. Финальный раздел «Claims» отсутствует. Анализ основан на ключевых механизмах, описанных в «Detailed Description» и фигурах.

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

    1. Модель данных на основе примитивов (FIG. 2)

    Описана архитектура базы данных: использование неизменяемых primitives (Nodes и Links) с GUIDs в лог-структурированном хранилище (append-only). Узлы представляют идентичности, связи — свойства. Модификация реализуется через версионирование или метки удаления (tombstone). Это обеспечивает полную историю изменений.

    2. Cost-Based Optimization для Ad-Hoc запросов (FIG. 6, FIG. 14)

    Описан метод оптимизации выполнения сложных запросов (nested loop join) в реальном времени:

    1. Запрос поступает с несколькими ограничениями. Для каждого генерируются списки кандидатов.
    2. Система динамически оценивает стоимость (cost или abstract count) получения первых нескольких элементов из каждого списка. FIG. 14 указывает, что это происходит путем одновременного применения как минимум двух разных стратегий («гонка»).
    3. На основе этой стоимости система решает, какой список использовать как Producer (источник кандидатов), а какой как Checker (для проверки).
    4. Выбирается стратегия, которая быстрее дает результаты, для выполнения пересечения (intersection) списков.

    3. Иерархическое выполнение с итераторами и бюджетированием (FIG. 15A, 16A, 17)

    Описан механизм выполнения иерархического запроса с управлением ресурсами:

    1. Запрос представляется как hierarchical constraint tree. Для каждого ограничения создается Iterator.
    2. Итераторы выполняются параллельно, начиная с нижнего уровня иерархии.
    3. Ресурсы ограничиваются с помощью Budget Granter. Если выполнение превышает бюджет, оно приостанавливается.
    4. Система стремится вернуть результаты на верхний уровень как можно быстрее, прерывая работу над тупиковыми или слишком затратными ветками.

    4. Приостановка и возобновление запросов (Cursors, Freezing/Thawing) (FIG. 18A, 20, 21)

    Система может приостановить выполнение длительного запроса. Состояние итераторов «замораживается» (freeze) в строковую форму и сохраняется в cursor. Позже запрос может быть «разморожен» (thaw) и возобновлен с того же места.

    Где и как применяется

    Этот патент описывает инфраструктуру базы данных для хранения и извлечения структурированных знаний (Knowledge Graph), а не алгоритмы веб-поиска.

    INDEXING – Индексирование (в контексте Knowledge Graph)
    На этом этапе факты и сущности сохраняются в графовой базе (graphd). Система реализует модель данных: сущности становятся Nodes, а их атрибуты и отношения — Links. Создаются индексы для быстрого доступа к примитивам.

    QUNDERSTANDING / RANKING (в контексте извлечения фактов)
    Когда поисковой системе нужно получить данные из графа (например, для Knowledge Panel или ответов на вопросы), она выполняет запрос к этой базе. Здесь применяются основные механизмы патента:

    1. Оптимизация: Активируется Cost-Based Optimization, используются Iterators для оценки стоимости различных путей выполнения.
    2. Выполнение: Запрос выполняется по наиболее эффективному пути с учетом Budget.

    Входные данные:

    • Иерархический запрос (template-based query).
    • Данные графа (Primitives: GUIDs, Types, Values, Linkages).

    Выходные данные:

    • Набор результатов (фактов/сущностей), удовлетворяющих запросу.
    • Cursor для пагинации (если результат большой).

    На что влияет

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

    Когда применяется

    • Условия работы: Алгоритмы оптимизации применяются динамически при выполнении любого запроса к graphd.
    • Триггеры активации: Сложность запроса (наличие нескольких вложенных ограничений и соединений) активирует механизмы Cost-Based Optimization и Budgeting. Большой размер результата активирует механизм Cursors.

    Пошаговый алгоритм (Процесс оптимизации и выполнения запроса)

    1. Получение и парсинг запроса: Система получает запрос и преобразует его в иерархическое дерево ограничений (constraint tree).
    2. Инициализация итераторов: Для каждого ограничения в дереве создается Iterator.
    3. Генерация кандидатов (на нижних уровнях): Итераторы начинают генерировать списки кандидатов, удовлетворяющих базовым ограничениям.
    4. Оценка стоимости (Cost Estimation) и «Гонка»: Когда необходимо выполнить пересечение (join) списков кандидатов, система запускает параллельную оценку стоимости. Она вычисляет стоимость (Cost) генерации первых нескольких элементов для каждой стратегии.
    5. Динамический выбор стратегии: На основе оценки стоимости система выбирает оптимальный способ соединения, назначая роли Producer (источник) и Checker (проверяющий).
    6. Выполнение с бюджетированием: Выбранная стратегия выполняется под контролем Budget Granter. Если затраты ресурсов превышают бюджет, выполнение может быть приостановлено.
    7. Передача результатов вверх (Percolation): Результаты пересечения передаются на верхний уровень иерархии. Процесс повторяется на каждом уровне.
    8. Формирование ответа и курсора: Система формирует финальный набор результатов. Если результат частичный, генерируется Cursor путем «заморозки» (freezing) состояния итераторов.

    Какие данные и как использует

    Патент инфраструктурный и не описывает факторы ранжирования веб-поиска.

    Данные на входе

    • Структурные факторы (Модель данных):
      • Примитивы (Primitives): Базовые единицы данных (узлы и связи).
      • Идентификаторы (GUIDs).
      • Поля примитивов: Left, Right (для связей), Type (тип отношения), Scope (контекст/создатель).
    • Контентные факторы (внутри графа):
      • Value: Поле, содержащее литеральные значения (строки, числа, даты).
      • Name: Имя примитива.
    • Временные факторы (внутри графа):
      • Timestamp: Временная метка создания примитива.
    • Системные данные: Индексы примитивов, последовательные ID (используются для Virtual Time).

    Какие метрики используются и как они считаются

    • Cost (Стоимость): Абстрактная метрика ресурсоемкости выполнения операции (включает чтение данных/индексов, выделение памяти, время выполнения). Рассчитывается динамически для выбора оптимальной стратегии (cost-based optimization).
    • Budget (Бюджет): Предопределенный лимит ресурсов (в единицах Cost), выделенный на запрос.
    • Virtual Time (Виртуальное время): Метрика актуальности состояния базы данных, основанная на последовательных ID примитивов.

    Выводы

    1. Инфраструктура Knowledge Graph, а не ранжирование: Патент детально описывает архитектуру и оптимизацию графовой базы данных (graphd). Он не содержит информации об алгоритмах ранжирования веб-поиска, но объясняет, как Google хранит и извлекает факты о сущностях.
    2. Подтверждение подхода «Schema Last» и «Identity-Oriented»: Система Google для хранения фактов ориентирована на идентичности (сущности), а не на жесткие схемы. Это позволяет Knowledge Graph гибко эволюционировать, добавляя новые атрибуты и отношения без перестройки базы данных.
    3. Сложная оптимизация для Ad-Hoc запросов: Google использует продвинутые методы (Cost-Based Optimization, параллельные Iterators, «гонки») для динамического выбора наиболее эффективной стратегии выполнения сложных, незапланированных запросов к графу.
    4. Полное версионирование фактов: Архитектура append-only гарантирует сохранение полной истории изменений каждого факта (versioning). Google знает, когда и как менялась информация о сущности.
    5. Управление ресурсами и стабильность: Система использует агрессивное бюджетирование (Budget) и механизмы приостановки запросов (Cursors) для обеспечения стабильности и доступности базы при высоких нагрузках.

    Практика

    Best practices (это мы делаем)

    Хотя патент описывает внутреннюю инфраструктуру, он подтверждает важность стратегий, направленных на оптимизацию под Knowledge Graph и сущности (Entity SEO).

    • Фокус на создании четкой идентичности (Identity): Необходимо помочь Google идентифицировать вашу сущность (компанию, персону, продукт) как уникальный узел (Node). Используйте согласованные идентификаторы (Schema.org, sameAs) и NAP (Name, Address, Phone) во всех источниках.
    • Обеспечение консистентности фактов: Поскольку система оптимизирована для быстрого извлечения связанных фактов (Links), важно поддерживать актуальность и непротиворечивость информации о сущности. Противоречивые данные могут затруднить формирование четкого графа.
    • Построение связей между сущностями: Четко указывайте отношения между сущностями (например, основатель компании, автор статьи) с помощью микроразметки и упоминаний в тексте. Это соответствует модели Links и позволяет Google эффективно обрабатывать эти данные.
    • Внедрение микроразметки (Schema.org): Структурированные данные помогают Google напрямую потреблять факты о ваших сущностях. Чем точнее данные, тем эффективнее они будут храниться и извлекаться системой graphd.
    • Управление историей сущности: Учитывая механизм версионирования, при ребрендинге или смене ключевых атрибутов необходимо обеспечить четкую преемственность, чтобы новая информация корректно версионировала старую, а не создавала дубликат сущности.

    Worst practices (это делать не надо)

    • Предоставление противоречивой информации: Публикация разных атрибутов для одной и той же сущности на разных платформах усложняет формирование ее единого представления (Node) в базе данных.
    • Игнорирование Entity SEO: Рассматривать поиск только как работу с ключевыми словами неэффективно. Патент подтверждает, что извлечение фактов из графа является отдельным, высокооптимизированным процессом.
    • Попытки манипулировать графом традиционными методами: Тактики, такие как спам ключевыми словами или ссылками, не влияют напрямую на механизмы хранения и оптимизации запросов, описанные в этом патенте.

    Стратегическое значение

    Патент имеет фундаментальное стратегическое значение, подтверждая переход Google от «strings to things». Он детально описывает техническую реализацию системы, которая ставит сущности (Identities) в центр хранения знаний. Для долгосрочной SEO-стратегии это означает, что управление фактической информацией о сущностях (Entity Management) является обязательным компонентом работы. Стратегия должна быть направлена на то, чтобы стать признанным источником достоверных фактов о сущностях в своей нише.

    Практические примеры

    Практических примеров тактического применения для SEO нет, так как патент описывает инфраструктуру. Однако можно привести пример запроса, который оптимизируется этой системой.

    Сценарий: Оптимизация сложного запроса к сущностям

    1. Запрос пользователя: «Фильмы с Вайноной Райдер, вышедшие в 90-х».
    2. Обработка в Graphd: Запрос транслируется в ограничения: Найти Сущность 1 (Фильм), связанную с Сущностью 2 (Вайнона Райдер), И Сущность 1 имеет свойство (Дата выхода) в диапазоне 1990-1999.
    3. Оптимизация (Cost-Based): Система создает итераторы для: (A) Все фильмы Вайноны Райдер; (B) Все фильмы 90-х. Запускается «гонка».
    4. Выбор стратегии: Система определяет, что список (A) короче и его дешевле сгенерировать.
    5. Выполнение: Система выбирает (A) как Producer. Она итерирует по фильмам Вайноны Райдер и проверяет (Checker) дату выхода каждого.
    6. Результат: Быстрое получение итогового списка.

    Вопросы и ответы

    Что означает термин «Schema Last» и как это влияет на SEO?

    Schema Last — это подход, при котором база данных может хранить данные до того, как будет определена их финальная структура (схема). Это позволяет системе быть очень гибкой. Для SEO это означает, что Google может собирать любые факты о ваших сущностях (например, из текста, таблиц, разметки), даже если они пока не вписываются в стандартные категории Knowledge Graph. Важно предоставлять четкие факты, чтобы Google мог корректно их сохранить.

    Является ли этот патент описанием алгоритма ранжирования?

    Нет, этот патент не описывает алгоритмы ранжирования веб-страниц. Он описывает архитектуру графовой базы данных (вероятно, основы Knowledge Graph) и методы оптимизации запросов к этой базе. Он объясняет, как Google эффективно хранит структурированные данные и быстро их извлекает, а не то, как он ранжирует сайты в поиске.

    Что такое «Примитивы» (Primitives) в контексте этого патента?

    Primitives — это базовые строительные блоки графовой базы данных. Они бывают двух типов: Nodes (Узлы) и Links (Связи). Node представляет собой идентичность или сущность (например, человека или компанию) и имеет уникальный ID (GUID). Link представляет собой факт или отношение, связанное с этой сущностью (например, дату рождения или связь «работает в»).

    Зачем Google нужна оптимизация запросов, описанная в патенте?

    Knowledge Graph содержит миллиарды фактов. Пользователи часто задают сложные, нетипичные (ad-hoc) запросы, требующие соединения множества данных (например, «книги авторов, получивших Пулитцеровскую премию в 2020 году»). Описанная оптимизация (Cost-Based Optimization, Iterators) позволяет выполнять такие сложные запросы за миллисекунды, выбирая наиболее эффективную стратегию поиска данных в реальном времени.

    Что такое механизм «Producer/Checker»?

    Это техника оптимизации соединения двух наборов данных. Если нужно найти сущности, которые есть и в Списке А, и в Списке Б, система оценивает стоимость (cost) двух вариантов: 1) Итерировать по А (Producer) и проверять вхождение в Б (Checker); 2) Итерировать по Б и проверять в А. Система выбирает более быстрый вариант, обычно начиная итерацию по более короткому списку.

    Как этот патент связан с микроразметкой Schema.org?

    Патент описывает движок базы данных (graphd), который хранит структурированные данные. Микроразметка Schema.org — это один из основных способов подачи этих структурированных данных в Google. Внедряя Schema.org, вы помогаете наполнять базу данных, архитектура которой описана в этом патенте, чистыми и понятными фактами (Primitives).

    Что такое «Бюджетирование» (Budgeting) запросов? Это связано с Crawl Budget?

    Нет, это не связано с Crawl Budget. Budgeting в этом патенте — это механизм защиты от перегрузки базы данных. Каждому запросу выделяется бюджет вычислительных ресурсов. Если выполнение запроса слишком сложное и превышает бюджет, система может приостановить его, чтобы не замедлять работу всей системы.

    В патенте упоминается Freebase. Какое это имеет значение?

    Freebase был большим графом знаний, который Google приобрел в 2010 году. В патенте указано, что описанная технология (graphd) использовалась для Freebase. Это подтверждает, что архитектура, описанная в патенте, легла в основу или оказала значительное влияние на развитие Google Knowledge Graph.

    Означает ли этот патент, что Google хранит историю всех фактов о моем бренде?

    Да, архитектура является лог-структурированной (append-only) и поддерживает версионирование. Примитивы после записи не изменяются. Любое обновление факта создает новый примитив, который версионирует старый. Это означает, что система технически хранит полную историю изменений фактов о сущности и может выполнять запросы по состоянию на определенную дату.

    Какова главная ценность этого патента для Senior SEO специалиста?

    Главная ценность — это глубокое понимание инфраструктуры, лежащей в основе Entity Search. Это подтверждает, что Google инвестирует значительные ресурсы в сбор, хранение и эффективное извлечение фактов о сущностях. Это знание должно формировать долгосрочную SEO-стратегию, смещая фокус с оптимизации под ключевые слова на оптимизацию сущностей и построение авторитетности в качестве источника фактов.

    Навигация
    • Описание
    • Детальный разбор
    • Выводы
    • Практика
    • Вопросы и ответы
    • Наверх
    Telegram
    © 2025 SEO HARDCORE

    Type above and press Enter to search. Press Esc to cancel.