「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース
今回は「「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース」についてご紹介します。
関連ワード (一般的、実行、時点等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
静的サイトジェネレータAstro用のデータベースサービス「Astro DB」が登場しました。
簡単にAstroに組み込むことが可能で、Astroのバックエンドデータベースとして、例えばフォームやコメントのデータの入出力、ユーザー認証などに利用可能です。
Introducing: Astro DB
Add a hosted database to any Astro project in seconds. Includes a TypeScript ORM, schema manager, and automatic migrations out-of-the-box.
Try it today! Every database comes with a generous free tier for you to get started.https://t.co/sF2LyrSEsw
— Astro (@astrodotbuild) March 12, 2024
Astro DBはフォームやユーザー認証などに利用
静的サイトジェネレータとしてのAstroは、例えばMarkdownファイルやGitHub上のデータを基にWebサイトを生成することができます。
しかしフォームから入力の保存やユーザーの認証、サイトのコンテンツデータそのものをデータベースで管理したい場合などには、バックエンドデータベースを利用することになります。
その際にはFirebaseやSupabaseなどのバックエンドサービスを利用することが一般的でした。
今回登場したAstro DBは、そうしたAstroのバックエンドデータベースを、開発環境用のローカルデータベース、開発と本番環境に使えるマネージドデータベースとして提供されるものです。
SQLクエリに加え、TypeScript ORMによる操作も可能
Astro DBのデータベースエンジンとしては、SQLiteのフォークである「LibSQL」が使われています。そのためSQLによるクエリが可能です。
LibSQLはSQLiteとの互換性を保ちつつ、レプリカエンジンを内蔵し、JavaScript/TypeScriptへのインターフェイスを備えるなどの改良がされています。
と同時にAstro DBには「Drizzile ORM」によるTypeScriptの型と一致させたTypeScript ORMも搭載されており、TypeScriptによるデータベース操作もできるようになっています。
開発環境用のローカルDBとマネージドデータベースを提供
Astro DBを設定すると、ローカルのNode.js上にAstroの開発環境を立ち上げた時点でAstroにローカルなAstro DBが組み込まれると「Astro DB: A Deep Dive」で説明されています。
これにより、ローカルな開発環境でAstro DBを用いた開発を進めることが可能です。
Astro DBはまた、マネージドデータベースとしても提供されます。マネージドデータベースは開発環境でも本番環境でも利用可能です。ローカル環境から本番環境へpushコマンドを実行すると、ダウンタイムなしでスキーマが自動的に反映されるようになっています。
マネージドデータベースの機能としては、負荷がない場合にはサーバインスタンスがゼロになり、データベースの負荷に応じた自動的なスケール機能を搭載。
スキーマ管理やデータをビジュアルに表示するVisual Data Viewerなども備えています。
料金は1GB、1カ月10億回の行の読み出しと書き込みまでが無料となっています。