2021-07-10

DynamoDBに正式移行しました

おちラボでは、ようやく、、、、よーやく研究室の公式DBをSimpleDBからDynamoDBに移行しました。

なぜ今まで移行しなかったか?
DynamoDBについては、2012年に

という記事を書いたように、早くから注目していましたが、料金体系に問題があり(後述)、ゼミでの利用に不向きだったこともあり、SimpleDBを利用していました(AWS:SimpleDBをセットアップする)。しかし、SimpleDBはいつ死んでもおかしくないようなサービスなので(全くSDKがバージョンアップしていない)、このまま使う続けるのはまずいよな。。と流石に思い始め、かつ後述するように料金体系がいつの間にか変更されていて、使いやすくなっていたので、今年から切り替えることになりました。

DynamoDBの料金体系を確認する
現在、DynamoDBには2つの料金体系が存在します。
  1. プロビジョニング
  2. オンデマンド
1は昔からあるタイプで、いわゆる事前割当になります。これが問題だったのは、テーブル毎にプロビジョニング設定をしないといけないということ。つまりテーブルを増やせば増やすほど課金されます。これは使わなくてもです。一方、2は最近出てきた料金体系で(2018年に発表されたようです)、使ったぶんだけ、、ということになります。SimpleDBがまさにこの料金体系だったので、おそらくこの料金体系を用意することで、SimpleDBのユーザを移行させようとしているのではないでしょうか(私みたいに)?

実際安くなるのか?
ただし、オンデマンドの場合、青天井に増えていく可能性がありますので注意が必要です。真面目に運用をはじめると、プロビジョニングのほうが割安でしょう。ただ、ゼミでちょっと学生に使わせるとか、テーブルを気軽に増やしておけるというのは大変ありがたく(これが正しいDynamoDBの使い方なのかはおいといて)、現状だとDynamoDBについてコストはほぼ発生していない状況です。

というわけで、今後はDynamoDBについての記事も増えてくると思います。






2021-06-17

Bleakライブラリを使ってBLE端末を探す

 以前(といっても4、5年くらい前)、WindowsでBLEのプログラミングしようと思ったら、情報も少なくすごく大変で、卒研生の研究時間の大半をBLE接続に費やしてしまった経験があり、もう二度とWindowsでBLEプログラムをするもんか。。。と誓ったことがありましたが、今は便利になってきてますね。Pythonであっさりできます。

Bleakというライブラリ

PythonでBLEというのはまあ以前から目にしたことはあり、ちょっとトライしたことがありましたが、最近はBleakという便利なライブラリがあります。Windows,Mac,Linuxで動作するという。。

asyncioで非同期処理

Bleak自体の使い方は超シンプルなのでほぼ説明不要。肝は、asyncioで非同期処理をするということですね。