コンテンツにスキップ

Scala ではじめる

build.sbtに追加します。

libraryDependencies += "io.github.edadma" %%% "petradb-engine" % "1.5.0"

%%%演算子がプラットフォームに応じた正しいアーティファクト(JVM、Scala.js、Scala Native)を選択します。

import io.github.edadma.petradb.*
import io.github.edadma.petradb.engine.*
given Session = new MemoryDB().connect()
val results = executeSQL("""
CREATE TABLE users (
id SERIAL,
name TEXT NOT NULL,
email TEXT
);
INSERT INTO users (name, email) VALUES
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com');
SELECT * FROM users;
""")
results.foreach(println)

MemoryDBインスタンスは完全に独立したインメモリデータベースです。すべてのデータはメモリ上に存在し、ファイルシステムには一切アクセスしません。

再起動後もデータを保持する必要がある場合、PetraDBには外部インフラストラクチャ不要の2つのオプションがあります。

PersistentDBstowによるコピーオンライトページとダブルバッファードヘッダーを使用した、単一ファイルのクラッシュセーフな永続ストレージです。JVMとNativeで利用可能です。

TextDB — データベースを人間が読める.ptxtファイルとして保存します。開発、設定データ、バージョン管理に最適です。

どちらもScalaガイドで詳しく説明しています。

プロジェクトのセットアップなしで、PetraDBのSQLサポートを今すぐ試せます。プレイグラウンドはブラウザ上でフルエンジンを実行します。

Scalaガイドでは、永続データベースとテキストデータベース、SQLの実行、結果の処理、完全なAPIについて説明しています。PetraDBをネットワークサービスとして実行する方法については、サーバークライアントガイドをご覧ください。