質問

Google App Engineに掲載したい中型の読み取り専用データベースがあります。データストアに入れることはできましたが、データストアは少し遅く、リレーショナルな機能がなく、他の多くのイライラする制限があります(ここには行きません)。別のオプションは、すべてのデータをメモリにロードすることですが、Googleが課した割り当てをすぐに押します。最後のオプションは、django-nonrel + djangoappengineを使用することですが、パッケージがまだ初期段階にあるのではないかと思います。

理想的には、データソースとしてブロブストアを使用する読み取り専用のSQLiteデータベースを作成したいと思います。これは可能ですか?

役に立ちましたか?

解決

私はあなたがそのようなものを見つける可能性が高いとは思わない...確かにBlobstoreを超えていない。すべてのデータが単一のブロブに保存されている場合、操作のためにデータベース全体をメモリに読み取る必要があり、それはできないと言ったからです。

データストアをバックエンドとして使用することはもっともらしいですが、それほどはありません。 SQLiteドライバーにトランザクションセマンティクスを実装することに大きな問題があります。それは、高可用性のためにGaeがあなたから奪う重要なことなので、誰かがそのようなことを書くのに多くのトラブルに巻き込まれることを想像するのは困難です。

他のヒント

Django -Nonrelは魔法のようにSQLデータベースを提供していないため、問題の解決策ではありません。

ファイルのようにブロブストアブロブにアクセスすることは可能ですが、SQLiteモジュールには、アプリエンジンでは有効にされていないネイティブC拡張機能が必要です。

Blobstoreオブジェクトにアクセスすることは可能ですが BlobReader ファイルのようなオブジェクトとしてのクラスは、おそらくファイルの全体を最初にメモリにロードせずに、そのようなファイルでリレーショナルデータベース操作を実行しようとデータストアをさらに悪化させるでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top