Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 531551
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T09:18:45+00:00 2026-05-13T09:18:45+00:00

As far as I understand from app engine tutorial, entity groups exist only for

  • 0

As far as I understand from app engine tutorial, entity groups exist only for the purpose of transactions:

“Only use entity groups when they are needed for transactions” (from the tutorial)

The definition of being in the same entity group is to have the same root.. In that case, what is the use of having more than 1 hierarchy level?
That is, why should I use “A -> B -> C” (A is the root, B his son, C his grandson)
instead of “A -> B ; A -> C” ? (A, B and C are still in the same entity group since A is their root).

If the only purpose of entity groups in to make transaction possible between entities, why should I use more than 1 hierarchy level (what do I earn from Root -> Grandson linkage)?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T09:18:46+00:00Added an answer on May 13, 2026 at 9:18 am

    When you’re doing queries, you can use ancestor() to restrict the query to children of a particular entity – in your example, you could look for only descendants of B, which you couldn’t do if they were all at the top level.

    There’s more on Ancestor Queries in Programming Google App Engine

    The Keys and Entity Groups doc also says that:

    Entity group relationships tell App Engine to store several entities in the same part of the distributed network … All entities in a group are stored in
    the same datastore node

    edit: The same document also lists some of the reasons why you don’t want your entity groups to grow too large:

    The more entity groups your
    application has—that is, the more root
    entities there are—the more
    efficiently the datastore can
    distribute the entity groups across
    datastore nodes. Better distribution
    improves the performance of creating
    and updating data. Also, multiple
    users attempting to update entities in
    the same entity group at the same time
    will cause some users to retry their
    transactions, possibly causing some to
    fail to commit changes. Do not put all
    of the application’s entities under
    one root.

    Any transaction on an entity in a Group will cause any other writes to the same entity group to fail. If you have a large entity group with lots of writes, this causes lots of contention, and your app then has to handle the expected write failures. Avoiding datastore contention goes into more detail on the strategies you can use to minimse the contention.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 377k
  • Answers 377k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer You need to add a Content-Disposition header, like this: Content-Disposition:… May 14, 2026 at 9:00 pm
  • Editorial Team
    Editorial Team added an answer You want to use the multirow package. Add the package,… May 14, 2026 at 8:59 pm
  • Editorial Team
    Editorial Team added an answer This is how I'd do it, personally. Might not be… May 14, 2026 at 8:59 pm

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.