記事

IoTの格納先を考える(1)SQL Server Express

無償で利用できるデータベース

 今まで、Raspberry Piのマイコン・ボードで温度センサなどからのデータを読み取る処理を行ってきました。測定したデータを格納する方法について考えます。

SDカードに保存する
 測定したデータの格納法としては、SDカードに個別にファイルを作成し保存する方法が考えられます。この場合、Raspberry Piに装備されているSDカードには、Windows 10 IoT Coreのシステムが入っています。システムだけで15.8Mバイトのエリアが占有されています。空きエリアは使用するSDカードによって異なりますが、数G以上のエリアは容易に確保できます。
 問題点としては、データを利用する際もプログラムを書く必要があります。また、SDカードに保存されたデータは、数年以上の長期に渡っての保存には懸念があります。
 ネットワーク経由で、PCにデータを送りハードディスクに保存するためのファイルを作成する方法もあります。

データベースを利用すると
 データベースを利用すると、テーブルの設定を行うだけで実際のテーブルの処理をデータベースが行ってくれます。また、テーブルへのデータセットなどを行うユーティリティなども用意されていて、比較的容易にシステムの構築も行えそうです。

現在無償で利用できるデータベース
 現在無償で利用できるデータベースを検索すると、マイクロソフト社のSQL Server Express、オープン・ソースのPostgreSQL、MySQLなどがあります。今回は、まず最初はWindows 10 IoT Coreを開発し、Raspberry Piのプログラム開発に利用しているVisual Studioの開発元であるマイクロソフト社のSQL Server Expressを入手してインストールしテストします。Raspberry Piが測定したデータをデータベースに蓄積するプログラムの開発を行います。

SQL Server Express
 タイトルが「SQLServerの各エディションとサポートされる機能」のページのアドレスを次に示します。このページにSQL Serverの各エディションの仕様がSQL Server Expressのスペックについても説明され、10Gバイトまでのデータベースに対応できます。
   https://msdn.microsoft.com/ja-jp/library/cc645993.aspx

ダウンロード・サイト
 2016年1月現在のSQL Server Expressのダウンロードサイトのアドレスを次に示します。
   https://www.microsoft.com/ja-JP/download/details.aspx?id=54284
 このSQL Server Expressのダウンロード・サイトのページを次に示します。

 ダウンロードのボタンをクリックすると「SQLServer2016-SSEI-Expr.exe」がダウンロードされます。

 ダウンロードされたSQLServer2016-SSEI-Expr.exeをダブルクリックすると、次に示すようにインストールの方法の選択画面が表示されます。

 今回は次に示すように、カスタムを選択しました。

 カスタムを選択して次に進むと、ダウンロードしたファイルの格納場所が表示されます。デフォルトのままインストール・ボタンをクリックしてインストールを開始します。

 インストール・ファイルは、デフォルトの設定でC:\SQLSever2016Mediaにダウンロードされます。

 インストール・ボタンをクリックすると、インストール・パッケージのダウンロードが開始されます。

 1292Mバイトのファイルをダウンロードするので、かなりの時間がかかります。ダウンロードするための回線のスピードは数十Mビット以上ほしくなります。

 カスタムを選択した場合、インストール・パッケージのダウンロードが完了すると、次に示す「SQL Serverインストールセンター」が起動します。
 最初は一番上のSQL Serverの新規スタンドアロンのインストールをクリックして、SQL Server Expressのインストールを行います。

 インストールに先立って、ライセンス条項を確認します。

 ライセンス条項に同意し、同意のチェック・ボタンをクリックすると、インストールを開始するための「次へ」ボタンがクリックできるようになります。「次へ」をクリックしてインストールを開始します。

 インストールに先立ち、セットアップの実行中に問題が生じないかシステムの内容を調べます。確認した結果は次のようになりました。ファイヤウォールについての警告がありますが、これは問題とならないので次に進みます。

 警告について次に示すメッセージが表示されています。OKボタンをクリックして次に進みます。

 「詳細レポートの表示」をクリックすると次に示すように、システム構成チェック・レポートの詳細が表示されます。

 エラーはなかったので「次へ」のボタンをクリックして、セットアップ・ファイルのインストールを開始します。

 セットアップファイルのインストールが完了すると、次へのボタンがアクティブになります。次へのボタンをクリックします。
 インスタンスの構成のウィンドウが次に示すように表示されます。今回は名前付きインスタンスを選択します。インスタンス名はSQLExpressとなります。

 サーバの構成のウィンドウが表示されます。

 次に進むと認証モードの選択のウィンドウになります。SQL Server 2016 Expressの認証モードは、


(1) Windows認証モード

(2) 混合モード(SQL Sever認証とWindows認証 )

の二つがあります。この認証モードは後でも変更できます。また、混合モードを設定しても、ほかのPCからSQL Server 2016 Express に接続するためのほかにも設定する事項があります。インストールしたPCでデータベースを利用するにはまったく問題ないので、今回はデフォルトのWindows認証とします。

 「次へ」のボタンをクリックしてインストールを進めます。次のウィンドウで「インストールと構成」を選択していることを確認します。

 インストールに先立って、次のウィンドウで承認を求めています。



 承認をクリックすると、しばらく確認に時間をとった後、次に示すように「次へ」のボタンがイネーブルになります。

 インストールが進行し、進行状況がバーグラフに表示されます。併せて進行中の処理を示すコメントが表示されます。

 このインストールの処理は少し時間がかかり待つことになりました。インストールが完了すると次に示すように、個々の機能のインストールが成功したと表示されます。

 その後、セットアットの処理が完了した後、再起動が必要とのメッセージが表示されます。

 完了のウィンドウの確認が終えたら「閉じる」ボタンをクリックするとSQL Server 2016 Expressのインストールが完了します。

 次回、 SQL Server Management Tools
     SQL Server Data Tools
のインストールを行い、SQL Server2016 Expressにデータベースを作成してみます。併せてほかのPCからデータベースに接続するために必要なアカウント、権限などの仕組みついての確認を行います。

(2017/1/24 V1.0)

<神崎康宏>

IoTの格納先を考える

(1) SQL Server Express

(2) ユーティリティのインストール

(3) 音楽データを題材に

(4) テーブルの検討

(5) SQL Server Management Studioでテーブルの作成

(6) Visual StudioでSQLSeverと連携

(7) Visual Studio 2017を利用

(8) メインテナンス・プログラムの作成

(9) メインテナンス・プログラムの作成 その2