タグ

tipsとdbに関するkuyのブックマーク (4)

  • Djangoでキャッシュ機能付きモデル - gumi Engineer’s Blog

    はじめにというか雑談 こんにちは。gumiの畠です。 先日GREEでスターフロンティアというゲームを公開しました。 ここ2か月くらいの忙しかった日々が報われたかと思うと感慨ひとしおです。 まぁ今も修正やら調整やらで忙しいのは変わらないのですが。。。 キャッシュを自動化しよう さて、題です。 ソーシャルアプリのようなトラフィックが高いサービスを作るときはDBアクセスを減らすことが重要になります。 Djangoにはそのための機能であるdjango.core.cacheが存在していますので、DBアクセスの結果は積極的にキャッシュしたいところです。 ですが、各モデルにいちいちキャッシュの機構を組み込むのは面倒ですし、万が一消し忘れたりすると大変です。 そこで、スターフロンティアではキャッシュする抽象モデルクラス(AbstructCachedModel)を作って、ある程度のキャッシュを自動化してい

    Djangoでキャッシュ機能付きモデル - gumi Engineer’s Blog
  • Datastoreのtips - スティルハウスの書庫の書庫

    Datastoreのパフォーマンス Datastoreのパフォーマンスは、エンティティの数とは無関係 保存されているエンティティが1件でも、1000件でも、1000万件でも、パフォーマンスに変化はない Datastore performance doesn't depend on how many entities you have 個々のエンティティに対する更新処理のスピードは、1〜10回/秒程度 個々のエンティティの更新処理は遅い アプリケーションのパフォーマンスを決めるのは、更新処理の実装方法。参照処理は桁違いに速い low-level APIを使えば少し速くなるが、ドキュメントがあまりない http://groups.google.com/group/google-appengine-java/browse_thread/thread/e717f7ba37749ea4/0b37a3

    Datastoreのtips - スティルハウスの書庫の書庫
  • datastoreをちゃんと理解するための目次 - urekatのスカンク日記3

    構造と仕組みをちゃんと理解する。いきなりJDOとかダメって。 http://songofcloud.gluegent.com/2009/11/slim3-datastore1.html 間違い、追加等ありましたらおしえてください。 1.概要 http://www.atmarkit.co.jp/fjava/index/index_bigtable.html 分散KeyValueストア:「巨大なハッシュ=datastore」に「小さなハッシュ=Entity」をたくさん詰め込む get/putの速度:データが無限に増えても遅くならない 全体図 2.スキーマレス Entity = Hashみたいなもの : Valueには全プロパティがシリアライズされて保存される Key / Kind プロパティの型 : int / string / date / list / ... 3.インデックス / クエリ

    datastoreをちゃんと理解するための目次 - urekatのスカンク日記3
  • DBの制約を回避する6つのテクニック

    Google App EngineのDBサービスはジョインができないなどの制約があるので,パフォーマンスを高めるには工夫が必要だ。キーワードは「キャッシュ」「非正規化」「分散」「事前計算」など。そのほか,処理性能の予測やフレームワークの利用などに注意したい。 米Googleの「Google App Engine」(以下,GAE)は,Webアプリケーションの開発・実行環境を提供するサービスです。前回はGAEの概要編として,サービスの全体像や開発の流れ,データベース・サービスの概要などを説明しました。Java言語とPython言語で開発でき,各種ライブラリやアプリケーション・フレームワークがそろっている一方で,「データベースのジョインができない」といった制約があることを解説しました。 今回はGAEの設計編として,GAE上で動作するアプリケーションを設計する際のコツを,主にデータベース設計を中心

    DBの制約を回避する6つのテクニック
  • 1