GitHub、膨大なコードに対応する検索エンジン「Blackbird」を解説

Liam Tung (Special to ZDNET.com) 翻訳校正: 編集部

2023-02-10 09:56

 プログラミング言語「Rust」の人気は高まり続けている。そんな中、開発者プラットフォームを手掛けるGitHubは米国時間2月6日、Rustで一から記述したコード検索エンジン「Blackbird」の開発動機などについて解説した。

提供:Luis Alvarez/Getty Images
提供:Luis Alvarez/Getty Images

 GitHubは、ユーザーがさまざまなフォーラムを探し回って求めている答えを得るのではなく、現時点でベータ段階のBlackbirdを利用するようになってほしいと考えている。

 開発者向けの知識共有サイトを運営するStack Overflowによると、Rustは多くの開発者が最も愛している(ただし最も普及しているというわけではない)プログラミング言語だという。

 Rustは通常の場合、CやC++で記述されている既存プロジェクトに新機能を追加する際や、アプリの構築時よりシステムプログラミングに採用されることが多いため、新たなプロジェクトでRustが採用されるというのは興味深い。ただ、Microsoft Azureの最高技術責任者(CTO)Mark Russinovich氏は2022年に、Rustはメモリー安全性を備えているため、全ての新規プロジェクトはCやC++ではなくRustを採用すべきだと明言していた。

 しかし、GitHubは「Apache Cassandra」や「Apache Solr」「Elasticsearch」といった数々のオープンソースソリューションを利用できるにもかかわらず、なぜ検索エンジンを一から構築するのだろうか。

 GitHubのTimothy Clem氏は「何もない状態から検索エンジンを構築するというのは、一見すると疑問符の付く意思決定に感じられる。なぜそのような道に進むのだろうか?出来合いのオープンソースソリューションが既にたくさんあるのではないだろうか?なぜ新しいものを構築するのだろうか?」と記している。

 同氏の手短な答えは、コードの検索に利用できる一般的なテキスト検索製品が見つからなかったというものだ。

 同氏は「(既存製品の)ユーザーエクスペリエンスは貧弱であり、インデックス作成は遅く、ホストするにも多大なコストがかかる。より先進的でコード(の検索)に特化したオープンソースプロジェクトも存在しているが、GitHubの規模にはまったく対応できない」と記している。

 GitHubは2011年にElasticsearchをデプロイしてみたが、当時に収容していたおよそ800万件のリポジトリーのインデックスを作成するのに「数カ月」もかかったと同氏は記している。GitHubは今日、2億件を超える動的なコードのリポジトリーをサポートしている。

 Blackbirdは現在、ほぼ4500万件のリポジトリーに対する検索をサポートしている。そのカバレージは部分的だが、それでも115TB分のコードと、PythonやJava、JavaScriptで記述されたプログラムに関する155億件のドキュメントを検索できる。

 GitHubのソフトウェアエンジニアリング担当バイスプレジデントであるPavel Avgustinov氏によると、Rustで記述されたカスタム検索エンジンであるBlackbirdは、より効率的に動作し、「重複データの排除によってストレージを大幅に節約するとともに、シャード間の均質な負荷分散を保証するようになっている」という。

この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]