1

多数のレコード (約 1 億レコード) を持つ Notifications テーブルを持つアプリ用のサーバーを作成していますが、各レコードには小さな値が 2 つしかありません。私が理解していることから、データストアエンティティの名前はエンティティキーの一部であり、エンティティ名が長くなるとキーが長くなるように見えるので、すべての名前で同じ長さにハッシュされていないと思いますか? これは本当ですか?長い名前を使用するとストレージが増加しますか?

その場合、Objectify (3.x) に Datastore のエンティティ名を指定できますか? または、クラスの名前を変更する必要がありますか?

4

1 に答える 1

2

最初に、Google I/O ビデオの 1 つでそのようなことを聞​​いたので、キーによって使用されるスペースは割り当てにカウントされないと書きました。大規模なグーグル検索の後、これを確認する情報が見つかりません。したがって、エンティティの名前が長いほど、支払う金額が高くなると想定する必要があると思います。

アノテーションの属性でエンティティの名前を定義できます

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface Entity
{
    /**
     * Controls the actual kind name used in the datastore.
     */
    String name() default "";
}
于 2012-04-04T22:55:06.450 に答える