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-02-18 23:49
「Android 13」で使用されていないアプリを見つけて削除するには
IT関連
2022-10-11 07:11
グーグル、「Android」にプライバシーサンドボックスを導入へ
IT関連
2022-02-18 22:32
社員1人当たりの売り上げを年7%以上増やす–コムチュアが目指す成長のカギはDX事業
IT関連
2023-08-17 11:54
Canooが仕事や遊びに使える新電動ピックアップトラックを発表
モビリティ
2021-03-13 06:24
ピクミンと“歩く”新作アプリ年内配信へ 任天堂とNianticが共同開発 「ピクミンGOではないです」
くらテク
2021-03-24 02:59
AIによるサイバー攻撃に備える–AI武装したサイバー犯罪者に立ち向かうには
IT関連
2023-04-01 18:53
「シン・ゴジラ」の第2形態が床掃除 サンスター文具、フローリングワイパーカバー発売 部屋のインテリアにも
くらテク
2021-04-15 13:20
説明責任を果たす–苦労を乗り越えた製造企業ローツェのNGAVとEDR、MDR導入の記録
IT関連
2023-11-01 23:45
Google、ノーコードで業務用ボットを作る「AppSheet Automation」正式リリース。請求書やレシートを受け取ると、内容を読み取り、承認者へメールなど自動化
Google Cloud
2021-04-15 03:54
ウガンダのバイクタクシー「SafeBoda」はスーパーアプリ化でパンデミック不況からの回復に賭ける
IT関連
2022-02-22 07:27
「お客さまの変革に貢献する真のパートナー」を目指す–デルが国内事業戦略
IT関連
2021-06-14 02:30
「Fusion Applications」には50以上の生成AI機能が実装–オラクルのSaaS基調講演
IT関連
2024-04-25 15:57
写真で見るグーグルのAI活用ロボット–自然な言葉を理解、缶を捨てポテチを渡す
IT関連
2022-08-19 01:12