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言語で作ったアプリからのアクセスを試してみる予定。