導入
昨年 11 月に GreptimeDB が初めてオープンソースとして発表されて以来、Greptime チームは、v0.1 の初期アーキテクチャの完成から、PromQL と互換性のあるスタンドアロン バージョンの v0.2、そして v0 まで、継続的な反復を繰り返してきました。 .3 配信スタイル機能を追加。
v0.3 の機能レベルは、スタンドアロン バージョン、分散版、PromQL 互換性、さまざまなアクセス プロトコルのサポートなど、比較的安定しており、多くのユーザーが試し始めており、多くのフィードバックや提案も受け取りました。同時に、GreptimeCloud にも取り組んでいます。このプロジェクトは独自のドッグフードを使用しており、最下層は完全に v0.3 に依存しており、常に DB チームに要件を返しています。
その中で最も大きな問題となっているのがクエリのパフォーマンスの問題であり、率直に言って、v0.3 バージョンは機能が安定しており、書き込みパフォーマンスの要求には応えていますが、クエリのパフォーマンスにはまだ改善の余地が多く、十分ではありません。大規模なデータを処理するのに十分なクエリ分析。v0.4 この問題を解決するために、ストレージ クエリ エンジン Mito に大幅なアップグレードが行われ、ほぼ書き直され、エンジンに関連するコンポーネントも再構築され、最終的に、TSBS テスト スイートによって実際の改善が測定されました。平均6回。詳細は記事末尾のテストレポートを参照してください(追記:車に詳しい友人ならミトに見覚えがあると思うかもしれません。そう、アルファロメオミトから来ています。誰が許可した会社ですか)アルファ ロメオのオーナーが 3 名いることになります)。
十分なテストが保証されたので、今日、ついに興奮を込めて発表できます: GreptimeDB v0.4 が正式にリリースされました. 以前のバージョンとは異なり、v0.4 のリリースは、GreptimeDB が基本的に運用環境に入る準備ができていることを示しています。これは、GreptimeDB が基本的に運用環境に入る準備ができていることを意味します。新たな探索と挑戦が始まろうとしています。
要約すると、この新しいバージョンの更新は主に次の側面に焦点を当てています。
- パフォーマンスの最適化: 再設計された新しいエンジン Mito2。
- 安定性の最適化: CREATE、DROP、ALTER などの DDL は、単一マシン実装と分散実装を統合し、最終的な一貫性を確保するために Procedure フレームワークを導入します。
- エクスペリエンスの最適化: Vector/OpenTelemetry などをサポート
v0.3 から v0.4 まで、 Greptime チームの主要プロジェクトには 6 つの国と地域から 42 人の貢献者が参加しており、。バージョンアップに伴い、使用説明書や技術資料も最新のものに更新されました。さらに、Golang/Java/Rust/C++/Erlang/JS の 6 言語を正式にサポートする C++、Erlang、JS SDK もリリースしました。コミュニティに関しては、新しいコミッター@Niwakaを迎えました。
GreptimeDB v0.4 の主要な内容
-
ストレージのパフォーマンスをクエリする
- 新しいバージョンのエンジン Mito2 は完全に再設計され、時系列データ用に特別に最適化されており、測定されたパフォーマンスは v0.3 の 5 ~ 20 倍です。
- Cassandra からインスピレーションを受け、TWCS (Time Window Compaction Strategy) 圧縮戦略をサポートしています。
- 新しいオブジェクト ストレージ Google Cloud Storage がサポートされています。
-
安定性と信頼性
- SQL 性テストのシナリオを強化します。
- カオス テスト ケースの継続的な改善に基づいて、バージョン v0.4 はより信頼性の高い分散堅牢性を備えています。
- プロシージャ フレームワークに基づいてテーブルの作成/変更/ドロップなどの DDL 操作を実装し、スタンドアロン実装と分散実装を統合します。
- 分散アーキテクチャ全体が再構築され、分散バージョンをより安定して実行できるようにハートビート プロトコルが最適化されました。
-
エクスペリエンスの最適化
- 範囲選択と通常の関数でのネストされた使用のサポートが追加されました。
- 真新しいダッシュボード。
- DESC TABLE エクスペリエンスを最適化します。
- Apache ORC 形式の外部テーブルをサポートします。
- ユーザーフレンドリーな gRPC 行形式書き込みプロトコルをサポートします。
-
統合およびその他
- Vector は、GreptimeDB メトリクスの出力サポートを追加します。
- KubeBlocks を使用した GreptimeDB クラスターの起動をサポート。
- EMQXを統合します。
- CentOS をサポートします。
- JS/Erlang/C++公式クライアントをリリース。
GreptimeDB v0.4 パフォーマンス テスト
GreptimeDB は TSBS に基づいてパフォーマンス テストが行われました。TSBS (Time Series Benchmark Suite) は、Go をメイン言語として使用するプログラムのセットで、時系列データ セットの生成と読み取りおよび書き込みパフォーマンスのベンチマークに使用されます。元々は、ベテランの時系列データベース メーカーである InfluxDB エンジニアによってリリースされ、TimescaleDB チームによって継続的に改良されました。このスイートは拡張可能で、さまざまなタイプのデータやクエリ タイプを含めたり、システム間で比較したりできます。GreptimeDB は、スイートに基づいて対応する拡張機能を作成しました。具体的なプロジェクトのアドレス: https://github.com/GreptimeTeam/tsbs/
テストハードウェアとデータの準備
ハードウェア環境
試験データ(TSBSに基づく)
スタートアップ構成 (デフォルト構成、データ ディレクトリのみ変更)
[storage]
data_home = "/var/greptimedb/"
テスト結果(v0.3.2と比較し、数値が小さいほど良好)
アップグレードのヒント
過去の影響に邪魔されずに徹底的な最適化を実行するために、0.3 -> 0.4 にはいくつかの重大な変更があり、アップグレードにはダウンタイムが必要です。この目的のためにアップグレード ツールを提供しており、後で公式ドキュメントにアップグレード マニュアルを追加する予定です。一般的な手順は次のとおりです。
- 新しい 0.4 クラスターを作成します。
- 古いクラスターのトラフィック入口を閉じます (書き込みを停止します)。
- CLI アップグレード ツールを介してデータをエクスポートします。
- データを新しいクラスターにインポートします。
- 入力トラフィックは 0.4 の新しいクラスターに切り替えられます。
GreptimeDB の将来展望
GreptimeDB が追求し続ける中心的な目標は、依然として柔軟な ServerlessDB アーキテクチャを構築することです。同時に、将来のトレンドはデータベースの自律性にあると認識しており、データベースの自律性への投資を徐々に増やし、インテリジェントなスケジューリング技術と組み合わせて、時系列データベースの安全な自動運転を徐々に実現していきます。
コミュニティのおかげで
GreptimeDB に注目してくださった皆様、GreptimeDB に提案をしてくださった皆様、コードを提出してくださった皆様、本当にありがとうございました。GreptimeDB は、Rust をベースにしたデータベース プロジェクトです。Rust 言語を学習していて、始めるプロジェクトを探している学生、すでにある程度の経験を持つ技術専門家、あるいは貢献したいと考えている非技術的な学生であっても、 GreptimeDB で自分に合った貢献方法を見つけて貢献者になり、世界中の他のコミュニティ貢献者と最新のテクノロジーを交換することができます。ひっそり、投稿者になれば、Greptime限定品や豪華な周辺プレゼントがもらえますよ~
オープンソース フレームワーク NanUI の作者がスチールの販売に切り替えたため、プロジェクトは中断されました。Apple App Store の無料リストのナンバー 1 はポルノ ソフトウェア TypeScript です。人気が出てきたばかりなのに、なぜ大手はそれを放棄し始めるのでしょうか。 ? TIOBE 10月リスト:Javaが最大の下落、C#はJavaに迫る Rust 1.73.0リリース AIガールフレンドにイギリス女王暗殺を勧められた男性に懲役9年の実刑判決 Qt 6.6正式リリース ロイター:RISC-Vテクノロジーが中米テクノロジー戦争の鍵となる 新たな戦場 RISC-V: 単一の企業や国に支配されない レノボ、Android PC の発売を計画