Автор делится инженерными выводами по масштабированию базы данных SQLite с полнотекстовым поиском FTS5 с 3,5 миллиона до 5,36 миллиона записей о патентах США, уделяя особое внимание методам оптимизации для больших объемов данных.

  • Данные PatentsView были перенесены в портал открытых данных USPTO в марте 2026 года, что потребовало обновления источников загрузки и структур таблиц.
  • Запуск ANALYZE после массового заполнения разрешил проблему коррелированного запроса EXISTS, сократив время выполнения с 34 секунд до 0,16 секунды на таблице цитирований из 108 миллионов строк.
  • Широкие строки (в среднем 19 КБ) негативно влияют на операции UPDATE; использование боковых таблиц с JOINs более эффективно, чем массовое обновление основной таблицы объемом 119 ГБ.
  • Запросы AND превосходят запросы OR для BM25 при таком масштабе, сокращая количество кандидатов с ~1 миллиона до тысяч и значительно улучшая время выполнения запросов.

База данных теперь содержит 5,36 миллиона патентов за период 2010–2025 годов с графом цитирований из 108 миллионов ребер, а следующим шагом будет маркировка вновь добавленных записей.