LoginSignup
8
2

More than 5 years have passed since last update.

Cloud Spannerをまずは動かしてみる

Posted at

Cloud Spannerがリリースされたので、まずは以下のクイックスタートに従って動かしてみる。
https://cloud.google.com/spanner/docs/quickstart-console

Spannerのインスタンスを生成

インスタンス名やリージョン、ノード数を指定してSpannerのインスタンスを生成する。

Databaseの作成

データベース名を入力し、データベースを作成する。

クエリの実行

画面の上部にある"Query"をクリック

Screen Shot 2017-02-15 at 21.40.20.png

クエリを入力し、"Run query"をクリック。※BigQueryのUIに似ていて使いやすい。

Screen Shot 2017-02-15 at 21.42.33.png

スキーマを作成

"Create TABLE"をクリックし、"Edit as text"モードにスイッチ
"DDL statement"フィールドに以下を入力し、"Create table"をクリック。※少し(数分)時間がかかる。

CREATE TABLE Singers (
  SingerId INT64 NOT NULL,
  FirstName STRING(1024),
  LastName STRING(1024),
  SingerInfo BYTES(MAX),
  BirthDate DATE,
) PRIMARY KEY(SingerId);

CREATE INDEX SingersByFirstLastName ON Singers(FirstName, LastName);

CREATE TABLE Albums (
  SingerId INT64 NOT NULL,
  AlbumId INT64 NOT NULL,
  AlbumTitle STRING(MAX),
  MarketingBudget INT64,
) PRIMARY KEY(SingerId, AlbumId),
  INTERLEAVE IN PARENT Singers ON DELETE CASCADE;

CREATE INDEX AlbumsByAlbumTitle ON Albums(AlbumTitle);

CREATE INDEX AlbumsByAlbumTitle2 ON Albums(AlbumTitle) STORING (MarketingBudget);

CREATE TABLE Songs (
  SingerId INT64 NOT NULL,
  AlbumId INT64 NOT NULL,
  TrackId INT64 NOT NULL,
  SongName STRING(MAX),
  Duration INT64,
  SongGenre STRING(25),
) PRIMARY KEY(SingerId, AlbumId, TrackId),
  INTERLEAVE IN PARENT Albums ON DELETE CASCADE;

CREATE INDEX SongsBySingerAlbumSongNameDesc ON Songs(SingerId, AlbumId, SongName DESC), INTERLEAVE IN Albums;

CREATE INDEX SongsBySongName ON Songs(SongName);

CREATE TABLE Concerts (
 VenueId                 INT64 NOT NULL,
 SingerId                INT64 NOT NULL,
 ConcertDate             DATE NOT NULL,
 BeginTime               TIMESTAMP,
 EndTime                 TIMESTAMP,
 TicketPrices    ARRAY<INT64>,
) PRIMARY KEY(VenueId, SingerId, ConcertDate);

Screen Shot 2017-02-15 at 21.48.52.png

作成されると以下のようになる。

Screen Shot 2017-02-15 at 21.54.06.png

クエリ実行プランの確認

まだデータは入ってないが、"Query"をクリックし、以下のようなクエリを入力。

SELECT * FROM Singers

"Run query"をクリックし、"Explanation"をクリックするとクエリ実行プランを確認できる。

Screen Shot 2017-02-15 at 21.57.17.png

とりあえずWebUIを使ってざっと動かせた。まだデータ投入やJavaなどから操作してないので、それは次回試す。

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2