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

今回は「GitHub、膨大なコードに対応する検索エンジン「Blackbird」を解説」についてご紹介します。

関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


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

 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は、より効率的に動作し、「重複データの排除によってストレージを大幅に節約するとともに、シャード間の均質な負荷分散を保証するようになっている」という。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
自作マスク印刷にも……小型昇華転写プリンタ、エプソンが12万円で発売 ハンドメイド市場拡大に対応
くらテク
2021-01-27 22:52
「コンピュータが危険」ブラウザ通知から不審サイトに誘導 IPA「安易に通知許可しないで」
セキュリティ
2021-03-13 04:13
常石造船、RPA導入で年7000時間以上の業務時間を削減へ
IT関連
2021-06-19 23:14
ソニーセミコンとNEC、エッジAIで倉庫の入出荷を効率化–物流DXに向けて実証実験
IT関連
2022-12-10 07:15
Google、「Workspace」に関し“誰でも無料に”、「Room」を「Spaces」に、などの発表
アプリ・Web
2021-06-16 00:07
KotlinからWebAssemblyバイナリを生成するコンパイラ搭載、「Kotlin/Wasm」が試験的プレビュー公開。Kotlin 1.8.20ベータ版で
Kotlin
2023-02-17 08:14
タワレコが「PUI PUI MUSIC」に 試聴機からモルカーの鳴き声
くらテク
2021-07-09 19:53
Flutter/DartのWebAssemblyコンパイル機能が安定版に。より高速でスムーズなユーザー体験などを実現
Dart
2024-05-16 07:56
アライドテレシス、AI/MLを用いてITインフラの運用・管理コストを削減
IT関連
2023-02-07 20:31
Apple Musicがサポートする「空間オーディオ」とは何か チャンネルベースとオブジェクトベース、Dolby Atomosと360RA (1/4 ページ)
イラスト・デザイン
2021-05-25 13:44
Ridgelinez、AIマルチエージェントを用いた業務改革を支援
IT関連
2024-07-13 02:22
東急建設、DX推進で工事概要システムなどにSaaS型ガイド機能を実装
IT関連
2022-08-11 08:16
高さ50mの大観覧車に“牢屋”ゴンドラ 富士急ハイランド
くらテク
2021-06-30 08:13
紀伊國屋書店、クラウド型名刺管理・営業支援ツールを導入–セールスDXを推進
IT関連
2022-08-23 15:10