このブログでは、64ビットARM用のGridDBを構築し、Ubuntu Server 18.04のRaspberry Pi 3または4で実行する方法を紹介します。 多くの事例において、IoTソリューションのエッジにあるNoSQLデータベースに時系列データを保存することは理にかなっているといえます。低コストで低消費電力のARMデバイスは、これを実現する優れた方法です。
PHPとGridDBを使った機械学習
機械学習における任意のモデルの出力の品質は、その入力データと同じ程度にしかなりません。アルゴリズムを作成する際には、特定のデータを自由に与えられることが非常に重要になります。データは様々な基準を満たす必要があり、そのためにデータベースを使います。しかし、どんなデータベースでも良いというわけではなく、大量のデータを扱うには高速なデータ処理が必要となります。そこで、GridDB の登場です。GridDBは速度を追求した設計と、計算上有利なコンテナ スキーマや階層構造を使って複雑な構造を表現する可能性を備えています。これから、phpとそのphp-ai/php-mlライブラリを使用してGridDBと接続した基本的な例を見てみましょう。
GridDBスキーマの変更方法
データスキーマを設計する際には、後の変更の余地を考慮して設計するのが望ましいですが、新しい機能を追加するにはカラムを新たに追加する必要があります。初めから余裕を持って設計すると、逆に未使用のカラムがスペースを取ってしまうという問題が生じることもあります。各NoSQLデータベースを比較すると、スキーマの柔軟性には大きな違いがあり、固定スキーマを持つデータベースもあれば、すべてのレコードが異なるスキーマを持つデータベースもあります。GridDBはその中間の特徴があり、簡単に変更できる固定スキーマを持っています。このブログでは、以前のブログ記事 GridDBを使用したニューヨークの犯罪データの地理空間分析のスキーマ定義を使って説明します。
CroMFlaG2 : IoTソリューションを構築するためのオープンソースソフトウェアスタック
このブログでは、シンプルで柔軟なオープンソースのIoTソフトウェアスタック、CroMFlaG2(CROn、Mqtt、FLAsk、GridDB、Grafana)の活用方法とおすすめする理由を紹介します。