見出し画像

超実践的LINE BOT開発の手引き(コード解説編その1 Google Datastoreの世界)

少し時間が空いたので、コードについて説明します。

LINE BOTとは直接関係なく、Google App EngineでのDatastoreの取扱いの驚異的な容易さを紹介してみます。

下記リンク部分のコードでDatastoreを定義していますが、ここでの表記だけで、Datastoreの定義がなされ、利用が可能となります。しかも、実用上、無限にスケールします。

https://github.com/yoheinishikubo/line-bot-gae/blob/master/main.py#L60

上記をデータベース的に説明すると、Messageというテーブルにtext、sender、content_from、created_at、bodyというカラムがあるというかたちでのDatastoreのクラス定義です。画像の通り、インデックスや自動追加の設定も行っています。

例えば、データベースサーバの構築、データベースユーザの設定、データベースの設定・作成、テーブルの定義・作成などの作業は一切必要ありません。

(データベース自体の設定は置いておくとして)比較的平易なRailsですら、スキーマの定義とrakeコマンドの入力が必要なことを考えれば、驚異的な簡単さです。

しかも、後方互換を気にしなければ、後からいくらでも変更・追加が可能です。(実際には後方互換を意識した運用も可能ですが、特に開発段階では非常にありがたい機能です)

経験していないと理解が難しいと思うのですが、MySQLなどの通常のRDBMSでスケールアウト、スケールアップさせることは技術的、コスト的に非常に難しい問題です。非エンジニアが、世に出ているLAMPで構築されたLINE BOTサンプルコードに手を出して、作ったサービスが下手に当たってしまうと(断言しますが)100%どうしようもなくなると思われますので、Google Datastoreならびにそれを簡単に利用できるApp Engineの利用は一考に値するかと思われます。

この記事が気に入ったらサポートをしてみませんか?