Deno、JavaScript/TypeScriptのためのデータストア「Deno KV」発表。Deno本体にSQLiteを統合、分散環境では強い一貫性も提供

今回は「Deno、JavaScript/TypeScriptのためのデータストア「Deno KV」発表。Deno本体にSQLiteを統合、分散環境では強い一貫性も提供」についてご紹介します。

関連ワード (対応、必要、設定等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


サーバサイドやエッジでのJavaScriptランタイムを提供するDenoは、Deno本体に統合したJavaScript/TypeScriptのためのデータストア「Deno KV」を発表しました。

これまでDenoでアプリケーションを開発し実行する際には、データを保存するためのデータベースをユーザーが用意する必要がありました。

Deno KVはDenoに統合されたデータストアとして、JavaScriptの変数や配列変数、オブジェクトなどのあらゆる構造化された値が保存可能なキーバリュー型のデータベースとして提供されるため、ユーザーがデータベースを用意しなくてよくなります。

Announcing Deno KV: A Global Database for Global Apps!

Read data in milliseconds, worldwide
Zero setup and zero provisioning
ACID transactions
Designed for JavaScript & TypeScript
Built on FoundationDB and SQLite

Read more → https://t.co/XoRzT21dKs

— Deno (@deno_land) April 28, 2023

Deno KVは、4月29日にリリースされた「Deno 1.33」からDeno本体に統合され、APIから簡単かつ高速に利用できるようになりました。

ローカルではSQLite、分散エッジではFoundatoinDBが動作

Deno KVは、Deno単体で利用した場合と、Deno Deployによって世界中に分散されたエッジ環境上で利用した場合で、それぞれバックエンドデータベースが異なります。

ローカル環境などでDenoを単体で利用する場合、Deno KVはDenoに統合されたSQLiteデータベースを用いて動作します。SQLiteは設定不要のコンパクトかつ高速なデータベースであり、Deno KVも同様に設定不要で高速に動作します。

一方、Deno Deployによる世界中に分散されたエッジ環境のDenoでアプリケーションを実行する場合、それぞれのエッジのDeno KVは分散データベースであるFoundationDBのノードとして動作します。

FoundationDBは、もともとAppleがオープンソースとして公開したNoSQLデータベースです。分散環境で高速に動作しつつトランザクション操作により全体としてデータの強い一貫性を実現できます。

Deno Deploy上のDeno KVは、Deno Land社がマネージドなデータベースサービスとして提供するFoundationDBをバックエンドとして利用するため、やはり設定や運用を気にすることなく、高速かつスケーラブルで強い一貫性を実現したデータストアが利用可能です(結果整合性の選択も可能です)。

開発者は、トランザクション処理について意識する必要はあるものの、ローカル環境のDenoでDeno KVを用いて開発したアプリケーションを、そのままDeno Deployへデプロイして世界中のエッジで実行される分散アプリケーションとして実行することができるわけです。

Denoは、分散環境におけるDeno KVのデモアプリとして、お絵かきアプリを紹介しています。これは世界各地のエッジ上のDenoでお絵かきアプリが実行されつつも、分散データベースとしてのDeno KVにより全体が1つのまとまったデータとして参照できる、という動作を示したものです。

A little Deno KV app https://t.co/X1VTPEuSrN

The images are monotone and low resolution to fit in the alloted 2kb maximum size per entry in the Deno KV database.

Source code here https://t.co/ApYYdVKH5C

Visit https://t.co/XoRzT21dKs to join the waitlist for Deno KV access. pic.twitter.com/jLH6X0xkXW

— Deno (@deno_land) May 5, 2023

Deno KVは現在ベータ版として申し込みを受付中です(ウェイトリストへの申し込み)。

エッジ環境での分散データストアの競合が始まる

CDNのような分散したエッジを統合するデータベースとしては、CloudflareがSQLiteのレプリケーション機能を用いた「Cloudflare D1」を発表しています。

参考:Cloudflare、CDNエッジで稼働するSQLiteベースのRDB「Cloudflare D1」発表。ユーザーの近接CDNエッジに自動でレプリカを分散配置、高速アクセスを実現

さらに、Next.jsの開発元として知られるVercelもRedisをベースとしつつ分散環境にも対応したデータストレージの「Vercel KV」を発表しています(後日、別記事で紹介する予定です)。

エッジ環境に対応したJavaScriptランタイムの相次ぐ登場に続いて、今度は分散データベースの分野での商用サービスの競合が始まろうとしています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
早稲田大学、電子申請・契約ソリューションを導入
IT関連
2021-07-28 14:19
AJS、販売管理業務の標準化に「SAP Signavio」を導入–約30%のコストを削減
IT関連
2024-03-17 06:42
旧型「iPhone」「iPad」向けにセキュリティ更新、悪用されている脆弱性を修正
IT関連
2022-09-06 00:45
日本企業も“SASE/ゼロトラスト”という方向に行かざるを得ない–クラウドフレア
IT関連
2021-06-18 02:09
アイドルの握手会で、握手の感触を遠隔化―モーションリブの感触伝送技術リアルハプティクス採用
IT関連
2022-03-18 03:26
「全開発者をAI開発者に」–SAP、HANA Cloudにベクトルデータベースを導入
IT関連
2023-11-07 07:23
The Browser Company、新ブラウザー「Dia」のプレビュー動画を公開
IT関連
2024-12-05 13:59
WebAssemblyとWebGPUを用い、Webブラウザ上でStable Diffusion Turbo全体を高速実行可能な推論エンジン「ONNX Runtime Web 1.17」マイクロソフトから登場
Microsoft
2024-03-08 19:29
AIドリブンへの転換を支援するdotDataの次の一手
IT関連
2021-07-05 18:47
厚労省、新型コロナの注意喚起に「はたらく細胞」起用 YouTubeで無料配信
社会とIT
2021-04-29 09:10
イーロン・マスク氏、テスラのカリフォルニア工場で組合投票を実施するよう全米自動車労働組合に挑む
IT関連
2022-03-05 00:05
関東学院大とNTT Com、看護部長/看護師長向けのVRコンテンツを提供
IT関連
2021-01-22 22:10
「会議室が足りない」を独自アルゴリズムで解消–イトーキ、予約最適化サービスを開発
IT関連
2024-11-23 08:04
複業マッチングプラットフォーム「Another works」が1.6億円調達、AI技術活用しプロダクトの機能拡充
HRテック
2021-04-17 12:18