[フレーム]
BT

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

寄稿

InfoQのすべての体験をアンロックして、そのメリットを最大限に活用しましょう

ログインして、InfoQのすべての体験をアンロックしましょう!お気に入りの著者やトピックの最新情報を入手し、コンテンツと交流し、限定リソースをダウンロードできます。

ログイン
または

アカウントをお持ちでない方

登録
  • あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。
  • 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。
  • 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

Topics

地域を選ぶ

InfoQ ホームページ ニュース MySQLがプレビュー版でJavaScriptをサポート

MySQLがプレビュー版でJavaScriptをサポート

2024年1月18日 読了時間 3 分

作者:

翻訳者

原文リンク(2024年01月01日)

オラクルは最近、MySQLデータベース・サーバーがJavaScriptのファンクションとプロシージャをサポートするようになったと発表した。ストアドルーチンのJavaScriptは現在プレビュー中で、MySQL Enterprise EditionとMySQL Heatwaveでのみ利用できる。

JavaScriptサポートの導入により、開発者はデータベース内で高度なデータ処理ロジックを実装できるようになる。データベース・サーバーとクライアント・アプリケーション間のデータ移動を最小限に抑えることで、ストアド・ファンクションとプロシージャはレイテンシー、ネットワーク・オーバーヘッド、エグレス・コストを削減できる。オラクルのシニア・プリンシパル・ソフトウェア・エンジニアであるØystein Grøvlen氏と、技術スタッフのコンサルティング・メンバーであるFarhan Tauheed氏は、次のように書いている。

JavaScriptストアドプログラムのサポートは、大規模なエコシステムを活用することで開発者の生産性を向上させるだけでなく、より多くの開発者がストアドプログラムを書くために必要なスキルを持つようになる。言い換えれば、組織はバックエンド開発に広く利用可能なJavaScriptのスキルセットを活用することで、より幅広い開発者の才能を活用 することができる。

新機能の一般的な使用例として、オラクルはデータ抽出、データ整形、近似検索、データ検証、圧縮、エンコード、データ変換を挙げている。コミュニティから好意的に受け入れられているこの発表では、JavaScriptコードがSQL定義に直接埋め込まれている関数の例が示されている。

CREATE FUNCTION gcd_js (a INT, b INT) RETURNS INT
LANGUAGE JAVASCRIPT AS $$
 let [x, y] = [Math.abs(a), Math.abs(b)];
 while(y) [x, y] = [y, x % y];
 return x;
$$;

出典オラクル・ブログ

従来のCALL文を使って関数を呼び出すと、SQL型とJavaScript型の間で暗黙の型変換が行われる。ドキュメントによると、JavaScriptのサポートはECMAScript 2021標準に基づいており、整数、浮動小数点、CHAR/VARCHAR型のすべてのバリエーションがサポートされている。Grøvlen氏とTauheed氏が補足する。

MySQLとJavaScriptの統合では、エンド・ツー・エンドで最高のパフォーマンスを実現するために、特定のユースケース用にカスタムビルドされたVMを使用している。このカスタマイズは、GraalVMのAOT(ahead-of-time)コンパイルに基づいており、言語実装は高速処理のためにネイティブ・バイナリ表現にコンパイルされる。GraalVMは、ECMAScript 2021標準に基づいた独自のJavaScript実装を持っている。この言語実装は、GraalVMのPolyglotフレームワークを使用して実装されているが、性能の面では競争力がある。

GraalVMランタイムには、JDK、言語実装(JavaScript、R、Python、Ruby、Java)、サンドボックス機能とツールサポートを備えたマネージド仮想マシンが含まれる。MySQL-JavaScriptは、MySQL Enterprise EditionとOCI、AWS、Azure上のMySQL Heatwaveクラウド・サービスで利用できるが、MySQL Community Editionではサポートされていない。

ストアドルーチンでJavascriptをサポートするオープンソースのリレーショナルデータベースはMySQLが 初めてではなく、PostgreSQL用のJavascript言語拡張としてはPLV8が最も普及している。PLV8は、Amazon RDSのようなマネージドサービスを含むPostgreSQLのすべての現行リリースでサポートされており、ストアドルーチンとトリガーに使用ができる。

オラクルはYouTubeで3本のMySQL HeatWaveビデオを公開し、JavaScriptのストアドプログラムを使用して、Mustacheライブラリの実行Webフォーム入力の検証Web URLの処理を実演している。

作者について

Renato Losio

もっと見るより少なく

この記事に星をつける

おすすめ度
スタイル
  • 関連記事

    • 関連スポンサーコンテンツ

特集コンテンツ一覧

InfoQ ニュースレター

毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。 サンプルを見る

We protect your privacy.

BT

AltStyle によって変換されたページ (->オリジナル) /