Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JSONの配列としてではなく行区切りの形式で保存する #49

Open
igrep opened this issue Feb 22, 2021 · 2 comments
Open

Comments

@igrep
Copy link
Member

igrep commented Feb 22, 2021

現状、保存したメッセージはJSONの配列として保存しているため、追記したりrepaginateするときの効率があまりよろしくない(配列をいったんメモリーに全部読み込む必要がある)しコードも少し書きづらい。そのため、追記が簡単でかつ従来通りそのまま人間が読み書きできるよう、メッセージ間を改行で区切って出力する形式に変更したい。
JSONを改行で区切って出力する場合、読み込むときのパースが少し面倒になる(pretty printはしたいので、単純に改行で分割することはできない)。

改行二つで区切るか、JSONを止めてYAMLにするか、かなぁ。

@fumieval
Copy link
Contributor

fumieval commented Nov 9, 2021

保存する際はバイト数を節約したいでしょうし、ndjson形式を採用して、人が触るときはjqやエディタのサポートを利用するのが良いのではないでしょうか。
任意の要素のアクセスの効率を上げるなら、franzのように区切りの位置を別途格納するという手もあります

@igrep
Copy link
Member Author

igrep commented Nov 9, 2021

そうでしたね。独自形式にしなくてもndjsonにするのでも充分かもですね。
現状JSONの中のメッセージ単位でランダムアクセスするケースはちょっと思いつかないので、franzはちょっとオーバーキルかな、と思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants