ククログ(7)
PGroongaの並列インデックス構築の並列度を最大にする方法
PGroongaのメンテナンスもしている堀本です。
PGroongaは4.0.0からPostgreSQL 17以降を使っている場合に限り、複数のCPUコアを活用してインデックスの構築を並列で実行できます。 (PostgreSQL 17より前のバージョンでは動作しないので注意してください。) 並列に実行するため、インデックス構築速度の高速化が期待できますが、場合によっては思ったほど高速にならない可能性もあります。
今回は、PGroonga 4.0.0を使ってもあまりインデックス構築が高速にならない人向けの記事です。
セキュアブラウザ「Chronos SystemGuard」と最新版定期リリースのご紹介
屋代です。2023年よりセキュアブラウザ製品「Chronos SystemGuard」を担当しています。
2025年2月14日に、Chronos SystemGuardの最新版となるv15.0.131.0をリリースしました! そこでこの機会に、次の2点について簡単にご紹介します。
- Chronos SystemGuardについて
- Chronos SystemGuardのリリースについて
fluent-logger-rubyで並列にログをFluentdに送信する方法
こんにちは。Fluentdチームの藤田です。
今回はfluent-logger-rubyという、Rubyプログラムから手軽にログをFluentdに送信するためのライブラリを取り上げます。
Rubyには並列処理を手軽に扱えるparallelというライブラリがあり、マルチプロセスまたはマルチスレッドで処理が行えるようになります。
これらを組み合わせて、並列的にfluent-logger-rubyでログを送信したときに問題なくログが送信できるか調べてみました。 実装次第では受信データが破損するケースがあるため、注意が必要です。
LTS版 Fluent Package v5.0.6をリリース
2025年2月14日にFluent PackageのLTS(長期サポート)版の最新バージョンであるv5.0.6をリリースしました。
本リリースでは、Windows向けにいくつかの改善を行っています。
本記事ではFluent Packageの変更内容について紹介します。
2025年のGroonga族の肉の日メジャーリリース!
Groongaの開発に参加している須藤です。今年も年に一度の肉の日(2月9日のこと)が来ましたね!例年通り、GroongaとMroongaはメジャーバージョンアップしました!今年はついでにPGroongaもメジャーバージョンアップしました!この一年でどのくらいGroonga・Mroonga・PGroongaがよくなったかを紹介します。
ちなみに、世間ではメジャーバージョンアップをすると互換性がなくなってアップグレードが大変!というソフトウェアが多いですが、Groonga・Mroongaは非互換なしなのでいつもどおり安心してアップグレードできます!PGroongaは非互換がありますが、普通は関係のない非互換なのでいつもどおり安心してアップグレードできます!そこらへんは後述します。
Groonga: パトリシアトライのキーをデフラグのバグ修正
Groongaのパトリシアトライについてちょっとわかってきたつもりの阿部です。
ちょっと前に意気揚々とパトリシアトライのキーをデフラグする機能を追加したことを紹介したのですが、その機能にバグがありました。かなしい。
本記事ではどのようなバグがあってどのように修正したのかを紹介します。
バグの説明をするためにパトリシアトライのレコード削除やレコードの再利用について知っておく必要があるので、はじめにその辺の説明をします。
(前の記事の続編な内容なので、前回の記事を読んでから本記事を読んでもらえるとうれしいです。)
BuriKaigi 2025のLTでOSS Gateの活動を紹介してきました
こんにちは。 OSS Gateのワークショップの企画・実施をここ数年担当している福田です。
2025年2月1日に開催されたBuriKaigi 2025において、OSS Gateの取り組みについて発表(LT)しました。 LTでは次のような話をしました。
OSS(オープンソース・ソフトウェア)の開発に参加したことはありますか? それはハードルが高いな、と思ったそこのあなた、実は少しコツをつかめば誰でも気軽に参加できるんです! OSS開発に興味がある方、世界を広げたい方、社員教育の題材をお探しの方などに、OSS Gateという面白い取り組みがあることを知っていただき、今後活用していただきたいです!
本記事では、このトークで伝えたい要点を紹介します! 合わせて、BuriKaigi 2025の様子も紹介します!
PostgreSQL 17 Contributor Giftをもらった
COPYのフォーマットを拡張できるようにするためのPostgreSQLにパッチを送っている須藤です。本命のパッチはまだマージされていないのですが、マージされやすくなるといいなぁと思って関連するコードのパッチを書いたり、他の人のパッチをレビューしたりしていたらPostgreSQL 17 Contributor Giftをもらいました。
自動テストがなかったGo製Native Messaging Hostの自動テストの作り方
FirefoxやThunderbird、Chromium系ブラウザーなどの拡張機能では、Native Messagingという仕組みを使って、通常のAPIの範囲では行えないローカルファイルへの直接のアクセスなどを行えます。これは、ブラウザーが拡張機能からの求めに応じて「Native Messaging Host(以下NMH)」と呼ばれる特殊なネイティブアプリケーションを呼び出すことによって実現されます。
NMHはどのような言語で開発しても問題ありません1が、拡張機能がマルチプラットフォームで利用され得ることと、NMHは標準入出力を使う非GUIアプリケーションとして実装すればよいことから、当社では、単一ソースからマルチプラットフォームな実行ファイルを容易にクロスビルドできるGo言語(golang)を用いる場合が多いです。本記事では、このような前提で開発されたもののそれまで自動テストがなかったgolang製NMHに、後付けで自動テストを作る際の注意点を紹介します。
-
極端な例では、Bash用のシェルスクリプトもNMHとして使用できます。 ↩