読者です 読者をやめる 読者になる 読者になる

Engineer's Way

主にソフトウェア関連について色々書くブログです。

NewSQLのCrate.IOについて調べてみた

 

Crate.ioとは

データベースの世界で、従来の「RDB」に加えてKVS形式の「NoSQL」が出てきて久しいけど、 その両方のいいとこ取りをした「NewSQL」というものもある。
そのNewSQLの中で「Crate.io」なるものの存在を知ったので、少し使ってみた。
下が公式サイト。

crate.io

Crate.ioの良いところ

少し触っただけではあるけど、以下の点が良さそう。

  1. 導入が簡単。
  2. SQLがごくごく普通に使える。
  3. 使用状況を見るための管理画面が最初から用意されている。
  4. 色んな言語のSDKが用意されている。

導入手順 (Dockerを入れている前提)

  1. docker pull crateでオフィシャルコンテナのインストール完了。
  2. docker run -d -p 4200:4200 -p 4300:4300 crateで起動。
  3. localhost:4200にアクセス。 f:id:matsnow:20161107035059p:plain
  4. localhost:4200/adminにアクセス。 f:id:matsnow:20161107035102p:plain

管理画面の説明

以下の5種類のメニューが用意されている。

  1. ダッシュボード f:id:matsnow:20161107035102p:plain
  2. サンプルデータインポート f:id:matsnow:20161107035112p:plain
  3. SQLの実行画面 f:id:matsnow:20161107035125p:plain
  4. テーブルごとの情報表示 f:id:matsnow:20161107035118p:plain
  5. ノードごとの情報表示 f:id:matsnow:20161107035122p:plain

サンプルデータのインポート

  1. サンプルデータインポート画面で「Import tweets for testing」をクリックする。 f:id:matsnow:20161107035112p:plain
  2. Twitterの連携認証に飛ぶので、許可する。 f:id:matsnow:20161107035109p:plain
  3. データのインポートが始まるので、適当なところでボタンを押して止める。 f:id:matsnow:20161107035105p:plain
  4. SQL実行画面でselect * from tweets;を実行してみる。
    取得したTweetの一覧が出ていることが確認できる。 f:id:matsnow:20161107035116p:plain

クライアントライブラリ

すでに色んな言語に対応したSDKが用意されているので、大抵の場合は問題ないはず。 Client Libraries | Crate.IO

この後、Go言語で作ったアプリからのアクセスを試してみる予定。