2024年6月15日土曜日

surrealDBを使う

紆余曲折メモ

rustでgeojsonからpolygonに変換して、並列処理ベンチマークしたら0.5~2.0秒で処理が終わる。そんなに最適化してないのに!

こいつをVPS入れたらメモリ足らなくて困り果てた。(プラン上げるのはイヤだ!なんとかしたい)


<やりたい事>

空間インデックスなくても、ちょっと工夫したら処理できる内容で、常に計算し続けるのでストレージアクセスをしたくない。

geojsonが500Mなので、すべてオンメモリで動作しようとしたが、パース処理でメモリを3ギガ以上食う。



<手法1 パース結果をバイナリで保存>

メインマシンでデータを作って、サーバサイドはそれを使えばいいと思った。

くっちゃくちゃになって頭パー!!


<手法2 パースの仕方を変える>

すべてオンメモリにしてからパースするのが良くないのであって、

構造上1行ずづ処理できる。

最初の4行が不要で、データは1種類で可変構造なので、jsonを無理やり1行ずづ処理できる。

だけど、ぐちゃぐちゃになって頭パー!!になってもうた!なんかrustだと凄い大変なことになってしもた。





連続して頭パー!!AIに込み入ったの作らせるとわけわからんの作り出す。

なんとなくgpt-4oよりgpt-4の方が正確性が高いような気がする・・・

ほどんとが4o使ったとき、くっちゃくちゃにぶっ壊されてた気がする。



対して難しい処理じゃないのに、AIないと組めない体になってしまった・・・年かな?


<そうだ!AI時代にふさわしいDBを使おう!>

考えたくないので、surrealDBにgeojsonを放り込んだ方が楽じゃないかと思い始めてきた。

空間インデックス使えるんだよね?知らんけど。

雑運用するから、フロントからこいつに直で叩けばよかろうもんなのでは?!


https://surrealdb.com/docs/surrealdb/installation/windows


ここに入るから、環境変数のPATHを通しとけ。

"C:\Users\user\SurrealDB\surreal.exe"




0 件のコメント:

コメントを投稿