スマートスタイル TECH BLOG

データベース&クラウド技術情報

React / Node.js アプリケーションから ColumnStore を利用

本記事は MariaDB Corporation より寄稿された記事となります

はじめに

先日,本ブログにて MariaDB Corporation が公開している Node.js / React サンプルアプリケーション, Places を紹介させていただきましたが,

React / Node.js で JSON データを扱う

新たに MariaDB ColumnStore 上のデータを検索,グラフ表示することが可能な React / Nodes.js サンプルアプリケーション,Flights が公開されましたので,紹介したいと思います。

GitHub レポジトリ

Places と同じ GitHub レポジトリで公開されています。

https://github.com/mariadb-corporation/Developer-Examples.git

Flights アプリケーションの利用方法

Flights を利用するには以下の手順が必要となります。

  • MariaDB ColumnStore のインストール
  • MariaDB ColumnStore サンプルデータのインポート
  • Node.js 実行環境のインストール
  • Flights アプリケーションのインストール

テスト環境

  • OS: CentOS 7.7.1908
  • MariaDB ColumnStore 1.2.5
  • Node.js v13.5.0 (nodejs-13.5.0-1nodesource.x86_64)
  • MariaDB Node.js Connector 2.1.3

MariaDB ColumnStore のインストール

CentOS 7 への MariaDB ColumnStore のインストール手順は以下の過去の投稿にて解説されています。

https://mariadb.com/ja/resources/blog/install-mariadb-columnstore-with-yum/

Docker 上で利用するにはこちらで公開されている Docker イメージが利用可能です。
例えば以下のコマンドでシングルノード構成で実行可能です。

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

MariaDB ColumnStore 用のサンプルデータ以下の GitHub レポジトリで公開されています。

https://github.com/mariadb-corporation/mariadb-columnstore-samples

これらのサンプルデータのうち,flights ディレクトリにある Flights Sample Data を用います。
このデータはアメリカ合衆国運輸省(US Department of Transporation)が公開している航空便の遅延情報になります。

サンプルデータのインポート手順は以下のとおりです。

get_flight_data.sh は https://www.transtats.bts.gov/ から2018年分のデータをダウンロードするため,日本からですとかなりの時間がかかりますので留意願います。また,データのダウンロードと展開に curl / unzip コマンドを必要とします。

正常にサンプルデータがインポートできた場合は,queries ディレクトリにある 2018_airline_summary.sql の実行結果が以下のようになります。

Node.js 実行環境インストール

以下の手順で Node.js 13 をインストールします。

Flights アプリケーションのインストール

GitHub レポジトリからアプリケーションコードを clone,package.json がある各ディレクトリで npm install を実行します。

Developer-Examples/Flights/src ディレクトリにある,db.js の ColumnStore への接続情報を編集します。

ColumnStore への接続用ユーザ作成

例えば以下のSQL文で nodejs@localhost ユーザを作成します。

ColumnStore Database User Management

Flights アプリケーションの実行

Developer-Examples/Flights/src ディレクトリで npm start を実行します。

上記のような表示が得られればアプリケーションは正常に実行されています。
表示されている URL にwebブラウザでアクセスすればアプリケーションを利用可能です(上記の例では http://192.168.8.226:3000/ )。クラウド上のVM等で実行されている場合は,以下のコマンド等でVMインスタンスのグローバルIPアドレスを確認,ポート3000が開放されているか確認願います。

まとめ

MariaDB ColumnStore 上のデータを利用する React / Node.js サンプルアプリケーションの利用法を解説させて頂きました。実際のアプリケーション開発での参考にして頂ければ幸いです。


執筆者情報

後藤 智(GOTO Satoru)
2017年6月よりMariaDB CorporationにてAPAC(Asia Pacific)地域におけるプリセールス業務を主に担当。現在は主に日本を担当。
この執筆者の他の記事をよむ
Return Top