2010年6月3日木曜日

[翻訳]プレリリース: App Engine Python SDKのためのローカルSQLite datastore

sqlite_datastore_stub

プレリリース: App Engine Python SDKのためのローカルSQLite datastore

sqlite_datastore_stub は、現在のファイルベースのスタブを置き換えることを目的とするPython SDKのためのローカルの データストアの実装です。

データはSQLite データベースによってディスク上に格納されます、したがってメモリ消費の問題はありません、そしてサーバのスタート時間も同様に、ローカルの データストアのサイズに応じた影響を受けることがなくなるでしょう。新しいデータストアスタブで期待できるものは以下です
  • ローカルデータストアに多くのデータがある場合、スタート時間が改善されます
  • ローカルデータストアに多くのデータがある場合、パフォーマンスが改善されます
  • メモリ消費を抑えます
とはいえ、同様に重要なのは、予期 すべきではないことがあります
  • 少量のデータに対処するときのパフォーマンス改良。すべてのクエリのスキャンは効率が悪く聞こえますが、速度のためにメモリ内のすべてのデータを保つのが難しいのです--したがって、比較的小さいデータがあるのなら、多くか少しの改良もみることができないでしょう。
  • リレーショナルスキーマdev_appserverによって作成されたSQLiteデータベースを開けるなら、それが1つのkindあたり1個のテーブル、およびプロパティのためのカラムで構成されていると期待しないでください。あなたを関心があるなら、datastoreがどう構造化されるかに関するその他の詳細をここに提供します。
これがプレリリースコードであることを忘れないでください。それはあなたのすべてのデータを破壊するかもしれません。それはあなたの猫を飲み込むブラックホールの偶然発生を引き起こすかもしれません。それは、期待したように動きさえするかもしれません!ほぼ、何が起ってもおかしくはありません。

ダウンロード

ダウンロードは download page にあります。
There are two options for downloading the new stub. If you're unsure which to choose, read the Installation section for details.

インストール

There are two ways to install the sqlite_datastore_stub - you can either download a new copy of the SDK, or patch your existing copy.

Downloading a new SDK

Simply download the SDK zip from the 'download' section, unpack it, and use it as you would normally (see the 'usage' section).

Patching your existing SDK

In order to patch your existing SDK, you will need to have the unix utility 'patch'. Linux and OSX systems will already have this; on Windows you should download a new SDK, or install mingw.
  1. Download the sqlite_datastore_stub.diff file from the download section.
  2. Open a terminal window, and change to the directory containing your SDK.
  3. Enter the command "patch -p1 < /path/to/datastore_sqlite_stub.diff"
If the patch applied successfully, you should see output like the following:

google_appengine nickjohnson$ patch -p1 < /home/nickjohnson/datastore_sqlite_stub.diff 
patching file google/appengine/datastore/datastore_sqlite_stub.py
patching file google/appengine/datastore/sortable_pb_encoder.py
patching file google/appengine/tools/dev_appserver.py
Hunk #2 succeeded at 3485 (offset -6 lines).
Hunk #3 succeeded at 3504 (offset -6 lines).
Hunk #4 succeeded at 3528 (offset -6 lines).
patching file google/appengine/tools/dev_appserver_main.py

使用法(Usage):

変更されたSDKはまだ通常のdatastoreスタッブを使用するのをデフォルトとしています。SQLiteスタッブを可能にするために、dev_appserverに--use_sqlite フラグを使用してください。たとえば、

$ dev_appserver.py --use_sqlite path/to/your/app

データストアファイルの互換性

既存ファイルスタッブと新しいSQLiteスタブによって使用される形式は異なっていて、どちらももう片方によって作り出されたデータを読むことができません。もし以前に使用したものと異なったデータストアスタブを使用して dev_appserver を起動すると(もしくは --use_sqlite フラグを省略している場合も含む)エラーが出るでしょう。

未使用なデータストアを使用するのを保証するために、自身でデータストアのパスの指定して保存するか

$ dev_appsever.py --use_sqlite --datastore_path=/tmp/datastore.sqlite path/to/your/app

または、--clear_datastoreを使用して、起動前にデータストアの以前のコピーを消してください

$ dev_appserver.py --use_sqlite --clear_datastore path/to/your/app

Providing feedback

Please post any feedback or comments to the official group. But reports should be submitted to the issue tracker.

  Sign in   Recent Site Activity   Terms   Report Abuse   Print page  |  Powered by Google Sites


0 件のコメント:

コメントを投稿