DiscordBotPortalJP / database

Discordユーザから提供される情報を一元管理するアプリケーション
https://discordbotportaljp.github.io/DiscordBotPortalJP/docs/logs/develop-discord-users-database.html
12 stars 1 forks source link

Discord Bot 版の技術選定 #1

Open 1ntegrale9 opened 4 years ago

1ntegrale9 commented 4 years ago
sizumita commented 4 years ago

https://github.com/DiscordBotPortalJP/database/issues/2#issuecomment-707490657

Fluentd使うと楽になりそうなんですが、Heroku Postgres使うのであればPostgresのほうがいいですかね

1ntegrale9 commented 4 years ago

@sizumita 因みに Fluentd ってロガーの役割だと思うんだけど、 データベースとして使用してて参考になる事例ってあるかな?

1ntegrale9 commented 4 years ago

Postgres だとタグ情報とか管理するの大変なので、 途中から NoSQL に移行する必要はありそう。 DynamoDB or Firestore かな。

最初から NoSQL でいくかは悩みどころ。

sizumita commented 4 years ago

Firestoreなら次のバージョンでasyncio対応するのでいいとおもいます 僕firebaseばっかり使ってますがすごいいいですよ

1ntegrale9 commented 4 years ago

DB は今のところ WebAPI 経由で操作する想定なので、全て同期処理でやることになりますね

sizumita commented 4 years ago

よく考えたらfluentd->RDBってのが多いですね、勘違いしてましたw

sizumita commented 4 years ago

Web APIかー firebase functionsとか使えばどうかな?とか思ったり。firestore弄りやすいので。

1ntegrale9 commented 4 years ago

Cloud Functions かな? 使ったことないのと、ざっと読んでよく分からないので説明求む

sizumita commented 4 years ago

Cloud Functionsは、JavaScriptやTypeScriptの関数を定義するだけで、HTTPリクエストを受け付けて処理できる機能です。URLが用意されていて、そこにPOSTなりGETすることができます。 HTTPリクエストだとonRequestonCallという二つの設定方法?があって、onRequestはリクエストとレスポンスの普通のHTTPを受け付けますが、onCallはFirebase Authの認証情報を取得できます。 また、Firestoreが更新されたということをフラグにして実行したりもできます。

sizumita commented 4 years ago

onRequestを使うとREST APIを作ることができますね。そのために使うこともできる仕様らしいです。

1ntegrale9 commented 4 years ago

WebAPIとして使えるPaaSって感じですね

ということであれば採用ありかなと思います

sizumita commented 4 years ago

全部満たしてると思います。