ローカルタイムラインを保持する方法について #20
Labels
No Label
bug
discussion
documentation
duplicate
enhancement
feature
help wanted
invalid
Priority
High
Priority
Low
Priority
Medium
question
wontfix
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stat2/delightly-v2fork#20
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ちょっとPHPのjson_decode/json_encodeの仕様が不透明でJSONで保持するのは怖いなあ、と思ってしまいました。jsonファイルが一度壊れると手動で直さないと復旧できない、というのも嫌な感じです。ただredisのようなインメモリDBを使うのはさすがに大げさな気もしますし、何かいい方法はないでしょうか。
ぶっちゃけてしまいすとモデレーションのために検索が今後必要になると思われるので(現状おそらくそれを同じjsonをベースに書き込みログを生成している臭い)、結局DBを導入したほうが長期的にみると無難ではないかなと考えています
複数端末による自演、規制回避ユーザーなどを調べるための強化版必死チェッカーが求められていますので・・・
また集団による荒らし(アフィカスグループによる荒らし/ネトウヨ・ネトサポによるスレ荒らし/Twitterなどのインフルエンサーからのファンネル飛ばし)のような判断の難しい荒らされているスレを管理者側が比較的炙りやすくするためにはグラフが必要になると思いますので将来的には結局DBが必要になるのではないかなと思います
この手の荒らし方は非常に質が悪く、対抗するためには管理者への負担もでかいのでシステムで補っていかないと難しいかなと
備考
データで見破るフェイクニュースの傾向とは? SNSに潜む社会の「空気感」の数理的構造解明に挑む筑波大佐野幸恵助教
https://www.rikelab.jp/post/3144.html
なるほど、ありがとうございます
現状の使い方だとRedisのようなKV型のデータベースで十分かと思っていたのですが、最初からRDBMSで作ってしまうのも手かもしれませんね
私はど素人ですのでなんとも言えませんが可視化するとき比較的マシなNeo4jに渡すのが楽なものを選ぶのがいいんじゃないかなと考えてます
もちろん掲示板自体のパフォーマンスが優先ではありますが
なるほど、可視化についても少し調べてみます
私もそれほどDBに詳しいわけではないので、もう少し色々な人の知恵を頼ったほうがいいかもしれませんね
ただ今のコードに合わせて実装しやすいのはRedisかなあという感じはします
DDoSが来たときにメモリ足りるのか
これがわからない
dashboardのURLをお伝えしてkenmo-melonさんにどういう状況なのかという現状を見てもらうのが一番早そうですが、そういうのを勝手に渡してもいいのか
これもわからない
もしよければ統計部員2さんにURLを渡してもらうようにお願いできませんか?
自分にDDoSに対処した知識・経験はないのでお役に立てるか自信はないのですが、どちらかというとDBへのアクセス部分がボトルネックになりそうなので、プログラム側で接続の持ち方を工夫すればいいのかなという気はします。
ちょっと後で統計部員2さんに聞いてみますね。
やはり拡張パッケージ(https://pgroonga.github.io/ja/)をいれれば日本語全文検索ができるPostgresがいいかもです。定番だし情報も一番多いと思うので。
横から。
NDJSONを利用するのがいいと思います。
(行単位で壊れてしまったとしても、壊れた行をスキップするだけで済みます)
また、分析を行うのであればFluentd / Logstashのようなログ収集基盤を使って転送する方がいいでしょう。
ありがとうございますー
確かに現状の使い方ではndjsonなども良さそうです
また、私が一つ気づいたのは、ndjsonなど「ファイル全体を読み込まず追記するだけでいいデータ構造」もしくはDBを使う場合、恐らくPHP側でデータ全体をロードする必要はないのかな、という点です。たぶん「datに追記」「ndjson等に追記orDBに追加」だけすればいいです。
この方式だとjsonを読み込んで落ちるということはなさそうです。
もう一つ問題になるのが管理画面やブラウザ版とのデータの受け渡しですが、これはjson以外を使うと少しややこしくなるのかなと思ってます。ただDBにfetchするにしてもndjsonなどのデータを読み込むにしても大した手間ではないでしょう。
私は経験がないのでなんとも言い難いところですが...ログ収集基盤・解析基盤を整備する人的・金銭的コスト次第といったところでしょうか?DBにつっこんでおくだけでもまあなんとかならなくはないと思いますし(今後の書き込み数次第かもしれませんが)
@stat2 @apple こちら、今後もdelightlyを使用していく予定であれば私の方で実験的に実装してみますが、どうしますか?
出来ればdelightlyを改修して使っていきたいです。VPSなので色々自由は効きます。ただ、他の掲示板運営者も共有ホスティングで使用できるというメリットが大きいので、使うとしたらPostgresが最有力で他にエクスポート等可能、あるいはオプションとして使える形がいいと考えています。
現在運営に関わるサーバーは3台体制で、その内1台はs3互換オブジェクトストレージをインストールしているため、NGINXログや過去ログdatもそこに飛ばせるといいなと、alice2chさんの言うFluentd等調べているとことでした。
ちょっと疲れていて的外れなこと書いているかもしれませんがいかがでしょうか。
追記:ローカルタイムラインというよりは全体のログも含めての意見です。今のdelightlyはログの保存、閲覧の仕様も少し問題があります。