BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース EventStoreDB 20.10がリリースされ、gRPCがサポートされ、セキュリティが改善

EventStoreDB 20.10がリリースされ、gRPCがサポートされ、セキュリティが改善

原文(投稿日:2021/01/07)へのリンク

EventStore LtdはEventStoreDB 20.10をリリースした。EventStoreDB 20.10は、Command Query Responsibility Separation(CQRS)およびEvent Sourcing(ES)パターンを利用したアプリケーションの構築を支援するプラットフォームのメジャーリリースである。

コア製品には、EventStoreDBへのデフォルトの通信プロトコルとしてgRPCが含まれている。通信には、クラスタ化されたセットアップの場合のクライアント・サーバ通信とサーバ・サーバ通信がある。そして、コア製品には既存のクライアント(Javaおよび.NET)に加えて複数の新しいクライアント(go、NodeJS、Rust、Haskell)が含まれる。新しいプラットフォームには、セキュリティの向上、リードモデルのスケーリングに役立つリードレプリカの改善、パフォーマンスを向上させるためのメモリ使用量の改善、クエリを最適化するためのサーバ側フィルタも含まれている。コア製品への変更とともに新しい開発者ポータルもリリースされた。これは開発者エクスペリエンスを大幅に向上させることを目的としている。

EventStoreDBは、フレームワークに依存しない専用のイベントストアである。これらのシナリオでのイベントの永続性を最適化するために、CQRS/ESコミュニティのリーダーによって明示的に構築された。この製品は元々、Greg Young氏によって開発されたものである。Greg Young氏は、コミュニティが目的に特化したイベント永続性データベースから利益を得ることができると感じていた。もともとEventStoreオープンソースデータベーステクノロジーとして知られていたコア製品は、現在は単にEventStoreDBとして知られている。

名前の変更は、YY.MMの2桁の年とそれに続く月で表す新しいバージョン番号戦略に従う。Mat McLoughlin氏(Event Storeのディベロッパーアドボカシー責任者)によると、新しい名前とバージョン戦略には2つの主な理由がある。1つは、主力のEvent Storeテクノロジーがデータベーステクノロジーであることを可能な限り明確にすることである。2つ目は、比較的近い将来に発表されるイベントストアのロードマップにある他の製品のためのスペースを確保することである。Event StoreのDave Remy CEOによると、これにより、の商用製品であるEvent Storeと、主力のオープンソースデータベーステクノロジーである現在のEventStoreDBとの違いがより明確になる。

gRPCサポートの追加は、間違いなくコアプラットフォームへの最も基本的な変更である。これをEventStoreDBのクライアント・サーバ通信とサーバ・サーバ通信の両方のデフォルトのネットワーク通信プロトコルにすることで、特に多言語サポートのためにプラットフォームを拡張する可能性が大幅に拡大した。これにより、より単純なクライアントの作成が可能になり、その結果として、Event StoreがEvent Storeでサポートされるより多くのクライアントを提供できるようになる。最終的には他のコミュニティクライアントの構築と保守が容易になる。Event Storeはすべての技術スタックのフレームワークプロバイダーに繋がっている。これは、プラットフォームをさらに拡張するためにEventStoreDBとのインテグレーションを可能な限り簡単にすることを目的としている。

セキュリティの観点から、EventStoreDBでは、公開証明書を使用して通信を保護できるようになった。これにより、独自の認証局(CA)を設定および作成する手間が省ける。新しいes-gencert-cliは、EventStoreDB用のCA証明書とノード証明書の生成に役立つ。これらの証明書なしでEventStoreDBを実行したい人向けに、「セキュアでないモード」が導入されている。セキュアでないモードでは、ノードとそれに接続されているクライアントに対するすべての認証、承認、トランスポートセキュリティが無効になる。

EventStoreDBクラスタのノードを読み取り専用レプリカとして指定する新機能は、クラスタのパフォーマンスに影響を与えることなく、読み取り操作のスケールアウトを支援することを目的としている。さらに、使用可能な読み取り機能がない場合でも、読み取り専用レプリカから読み取ることができる。これは、読み取り専用レプリカからの読み取りはノードの損失や選択によって中断されないことを意味する。それは、EventStoreDBクラスタのメンバーではないためである。導入されたもう1つの新機能は、サーバ側のフィルタリングである。この機能を使用すると、EventStoreDBにクエリを実行するときにフィルターを渡して、要求したイベントのみを返すようにすることができる。この機能を導入した主な理由は、予測の必要性とそれに関連するコストを削減することである。

McLoughlinはさらに、EventStoreDBを使い始めた人々と既存のユーザに優れた開発エクスペリエンスを提供する必要があると感じていると述べている。そして、これが新しい開発者ポータルの立ち上げの動機であると述べている。ポータルには、大幅に刷新されたドキュメントが含まれている。そして、コア製品を使用するだけでなく、イベントソーシングをパターンとして学びたい人向けに盤石な基盤を提供するリソースが含まれている。

最後に、このリリースでは、AWS/GCP/AzureでマネージドEventStoreDBクラスタをプロビジョニングするのに役立つEvent Store Cloudのアーリープレビュー版も発表された。プレビュー版では、TerraformベースのAPIを提供しており、Pulumi APIを使用してデプロイの自動化を実現する予定である。

この記事に星をつける

おすすめ度
スタイル

BT