HoraeDB開発ガイド:コントリビューションとコミュニティ参加の方法

HoraeDB開発ガイド:コントリビューションとコミュニティ参加の方法

Apache HoraeDB (incubating) は高性能で分散型のクラウドネイティブ時系列データベースです。プロジェクトのアドレス: https://gitcode.com/gh_mirrors/hor/horaedb

Apache HoraeDBは、開発者と企業に強力な時間序列データ処理能力を提供する高性能、分散型、クラウドネイティブの時系列データベースです。このガイドでは、このオープンソースプロジェクトにコードを貢献し、コミュニティ活動に参加する方法について詳しく説明します。

貢献開始前の準備

貢献を開始する前に、まずHoraeDBの基本アーキテクチャを理解する必要があります。プロジェクトは主に2つの核心コンポーネントで構成されています:

  • horaedb:メインデータベースエンジン、Rustで記述
  • horaemeta:メタデータ管理サービス、Goで記述

開発に参加するには、まずリポジトリをクローンします:

git clone https://gitcode.com/gh_mirrors/hor/horaedb
cd horaedb

課題と機能リクエストの提出

新しい課題を提出する前に、既存の課題を検索して重複を避けてください。プロジェクトのメンテナは定期的にコミュニティからの機能リクエストをレビューし、サポートされていない機能については関連するチケットをクローズします。

課題提出のベストプラクティス

  • GitHubの課題テンプレートを使用してバグ報告または機能リクエストを提出する
  • 詳細な環境情報と再現手順を提供する
  • 欠陥を引き起こすテストケースを提供できる場合、問題解決の効率が大幅に向上します

コード貢献のプロセス

1. Pull Requestの作成

PRを提出するには、まずhoraedbリポジトリをフォークし、自分のブランチで作業します。修正を完了したら、Pull Requestを提出してコードレビューを受けます。

2. ローカルでの検証

PRを提出する前に、ローカルで以下の内容を検証してください:

  • コミットメッセージがConventional Commits仕様に準拠している
  • すべてのテストとベンチマークテスト(ドキュメンテーションテストを含む)がパスしている
  • コードフォーマットが正しく、すべてのclippyチェックをパスしている
  • 「コードゴミ」が残っていない

テストの実行

Rustコンポーネントのテスト

Rustで記述されたhoraedbメインエンジンのテストを実行するには:

cargo test --workspace

テストでログ記録を有効にするには:

RUST_LOG=info cargo test --workspace

Goコンポーネントのテスト

horaemetaメタデータサービスのテストを実行するには、Makefileを使用します:

make test

コードのフォーマットと品質チェック

Rustコードのフォーマット

rustfmtコンポーネントをインストールします:

rustup component add rustfmt

コードをフォーマットします:

cargo fmt --all

コード品質のチェック

clippyコンポーネントをインストールします:

rustup component add clippy

clippyチェックを実行します:

cargo clippy --all-targets --workspace -- -D warnings

Goコードのチェック

horaemetaコンポーネントのコードチェックを実行します:

make check

統合テスト

HoraeDBには、integration_tests/ディレクトリに完全な統合テストスイートが含まれています。これらのテストはSQLレベルで機能を検証し、ユーザーのクエリ実行に影響を与える可能性のある変更はすべて統合テストでカバーされる必要があります。

統合テストはシナリオごとに編成されており、特定機能のSQLテストは同じファイルに配置されます。例えば:

  • top_k.sqlはTopK演算子をテストするために使用されます
  • limit.sqlはLIMIT関数をテストするために使用されます

統合テストを実行します:

# すべての環境
make run

# ローカル環境のみ
make run-local

# クラスタ環境のみ
make run-cluster

PR提出後の作業

PRを提出した後、以下の作業を行う必要があります:

  • すべてのCIステータスチェックがパスし、PRが緑色表示されていることを確認する
  • ステータスチェックが赤色表示で理由が不明な場合は、PRで助けを求める
  • チームメンバーによるPRレビューを数日待つ

貢献の提案

初心者向けの貢献分野

  • ドキュメントの改善と翻訳
  • 簡単なバグ修正
  • テストケースの追加
  • コードコメントの改善

上級者向けの貢献方向

  • パフォーマンスの最適化
  • 新機能の開発
  • アーキテクチャの改善
  • エコシステムツールの開発

コミュニティへの参加

HoraeDBコミュニティへの参加は、コード貢献に限定されません。以下のような活動も含まれます:

  • 他のユーザーの質問に答える
  • 技術的な議論に参加する
  • 使用経験を共有する
  • プロジェクトを宣伝する

コミュニティ活動に積極的に参加することで、技術レベルを向上させると同時に、同じ志を持つ開発者と出会い、時系列データベース技術の発展に貢献することができます。

覚えておきましょう:どのような貢献も、その大きさにかかわらず、プロジェクトの発展にとって極めて重要です! 🌟

Apache HoraeDB (incubating) は高性能で分散型のクラウドネイティブ時系列データベースです。プロジェクトのアドレス: https://gitcode.com/gh_mirrors/hor/horaedb

タグ: HoraeDB オープンソース 時系列データベース コントリビューション コミュニティ

6月26日 22:53 投稿