問題タブ [wal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 各挿入/更新/削除操作の後に、WAL モードで SQLITE データベースのチェックポイントを作成する
Xamarin Android アプリ内に SQLITE データベースがあり、さまざまなスレッドやプロセスから同時に読み書きできる必要があります。だから私は今それをWALモードで使おうとしています。それはほとんど正常に動作します。以前経験した SQLITE_BUSY エラーが発生しなくなりました。
問題は、このデータベースをデバイスから (つまり、電子メールで送信して) 取り出せるようにしたいということです。できれば 1 つのファイルで。
WAL モードでは、x.db3-wal および x.db3-shm と一緒にメイン データベース ファイル x.db3 がありますが、この目的には十分ではありません。pragma checkpoint(passive)
したがって、挿入、更新、または削除の各操作の後に実行して、データベースが実際にはほとんど常に 1 つのファイルから構成されるようにするという考えがありました。私の場合、更新はめったに行われないため、パフォーマンスへの影響はおそらく問題になりません。チェックポイント中にリーダーがデータを読み取ることができず、処理できることを理解しています。しかし、とにかく私の直感では、これは WAL ロギングを使用する正しい方法ではないことがわかり、それが私が尋ねている理由です。私には虐待のように「見えます」。
このアプローチで遭遇する可能性のある問題についてのアイデアをいただければ幸いです。
arangodb - 先行書き込みログが多すぎるため、ArangoDB がタイムアウトする
ArangoDB インスタンスを再起動しようとしていますが、タイムアウトが発生し続けます。これは、WAL ログ ファイルの再生が原因だと思います。
最初は 2725 個のファイルがありましたが、現在は 2701 個あります。Arango にすべてのファイルを再生させました (以下を参照) が、それでもタイムアウトが発生します。
再起動すると、サービスがここでハングします。
2 つの質問:
- データを回復してarangoを再起動するためのオプションは何ですか?
- すべてのログ ファイルを再生したのに、ログ ファイルの数が 24 しか減らないのはなぜですか?