Google、超高速に評価可能でポータブルな式言語「Common Expression Language」(CEL)発表

2024年6月21日

Googleは、超高速に評価できて移植性が高い、安全に実行できる式言語「Common Expression Language」(CEL)発表しました

fig

式言語とは一般に、プログラミング言語の一部やネットワークなどの構成ファイル、テンプレートファイルなどの中で、簡易な式やロジック、ポリシーなどを記述する際に使われる言語のことです。

こうした用途では、さまざまなプラットフォームに対応する移植性、起動時やプログラムの実行中に評価されることがあることから高速に評価が完了すること、安全に評価が実行できること、用途に応じて拡張しやすいこと、などが求められます。

CELは超高速に評価、ポータブル、サブセットサポート

CELは正にこうした要件に対応した式言語となっており、Googleは次のような特徴があるとしています。

  • ナノ秒からマイクロ秒程度の高速な評価に最適化されている
  • C++、Java、Goでサポートされるスタックによるポータブル性
  • 何千もの適合性テストにより、スタック間での一貫した動作を保証
  • 言語の拡張とサブセットをサポート

AWSは2023年に似たような用途のためにポリシー言語「Cedar」をオープンソースで公開しています。

参考:AWS、アプリケーション内できめ細かなアクセス制御を実現するポリシー言語「Cedar」と認可エンジンをオープンソースで公開

GoogleはCedarと比較してCELが上記の4つの特徴を備えている上に、ポリシーの記述だけではなく、より広範な用途に使えることが大きな違いだとしています。

4値論理、SQLへの変換可能

またCELは真(True)、偽(False)、エラー(Error)、不明(Unknown)の4値論理を備えていること、SQLにシームレスに変換できることも特徴と説明されています。

特に大量のデータに対してCELを適用する場合、1つ1つのデータにCELを評価するよりも、データベースにSQLクエリを投げて処理する方が高速になるケースが考えられるとして、SQLへの変換可能性は高性能な式言語の設計における重要な要素だったとのことです。

GoogleはCELをレイテンシが重要でポータブルなロジックを記述するための最高のビルディングブロックにするために今後も開発を続けていくとしています。

あわせて読みたい

プログラミング言語 Google




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本