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
マイクロソフト、強化した「AccountGuard」を31の国や地域に拡大へ–世界各地の選挙を前に
IT関連
2021-03-11 13:22
持続可能な水産養殖を支援するウミトロンとイオンがこだわりの養殖魚「うみとさち」を7月22日・海の日から実証販売
フードテック
2021-07-22 01:47
博報堂と新潟県、地元コンテンツを配信するLINEアカウント開設–関係人口の創出へ
IT関連
2024-03-13 17:35
「ファミコンカセット」オークションの落札最高額が更新、NES版「ゼルダ」未開封・初期生産品が約9600万円で落札
ゲーム / eSports
2021-07-13 10:59
3Dプリンタとスプレーで作る曲面タッチディスプレイ MITなど開発 :Innovative Tech
イラスト・デザイン
2021-02-15 06:27
OnePlus共同創業者の新企業Nothing、無線イヤフォンを発表 日本でも発売へ
製品動向
2021-07-29 18:28
親しみ感ある短い音声メッセージを友達と共有するCappuccino、オーディオSNSが次のフロンティアか
ネットサービス
2021-03-28 08:16
ハッカー集団のFancy BearやGhostwriterがウクライナを攻撃–グーグルが警告
IT関連
2022-03-10 11:11
エヌビディアのGPUカーネルモジュールのオープンソース化–「Linux」への影響を考える
IT関連
2024-07-25 02:49
企業横断の購買データを収集–東芝テック、電子レシートサービスの取り組み解説
IT関連
2024-11-06 02:14
ランサムウェア被害企業の76%が身代金支払い、約3分の1がデータの復元に失敗
IT関連
2022-05-27 04:05
リコー、約1万人がグローバルで利用する技術情報基盤を構築
IT関連
2024-10-18 17:16
進研ゼミ、小学生に「鬼滅の刃」漢字・計算ドリル無償提供 想定以上の応募で12万人→30万人に拡大
くらテク
2021-02-03 21:37
Google Cloud、Redisをフォークした「Valkey 7.2」のマネージドサービス「Memorystore for Valkey」プレビュー版を開始
Google Cloud
2024-09-03 15:19