7

私はPythonで基本的なメンバーシップWebアプリを書いています。

データベースを完全に放棄し、Python辞書をファイル(http://docs.python.org/2/library/pickle.html)に単純にピクルスにすることは常に悪い習慣ですか?プログラムは、約1を超える処理を行う必要はありません。500人のメンバーであり、各メンバーについていくつかのフィールドしか保持しないため、スケーリングが問題になることはないと思います。また、このアプリはローカルでも実行する必要がある場合があるため、可能な限りシンプルに保つと、さまざまなマシンで実行する方が簡単です。

したがって、オプションはmysql dbを設定するか、単にファイルにピクルスすることです。私は2番目が好きですが、これがひどい考えであるかどうか知りたいです。

4

1 に答える 1

12

いいえ、すべてのデータをメモリに保持できる場合、データベースは必要ありません。すべてをピクルスにするだけで機能する可能性があります。

ピクルスの顕著な欠点は、安全ではないこと、誰かがあなたのデータを実行可能コードを含む他のものに置き換えることができること、そしてそれがPythonのみであることです。データベースを使用すると、通常、データの更新とディスクへの書き込みを同時に行うことができますが、データをピクルスにしてディスクに保存することを忘れないでください。これには時間がかかるため、一度にすべてのデータを書き込むため、通常は終了時にのみ実行されます。したがって、クラッシュはすべての変更を失うことを意味します。

ただし、中間点があります:sqlite。これは、Pythonに含まれている軽量でシンプルなSQLデータベース(Python 2.5以降)であるため、使用するために追加のソフトウェアをインストールする必要はありません。多くの場合、これは迅速な解決策です。SQLAlcehmeyはSQLiteをサポートしているため、SQLiteをデフォルトのデータベースとしてSQLAlchemyを使用することもでき、より深刻なデータベースへの「アップグレードパス」を提供できます。

于 2012-12-25T08:56:06.630 に答える