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

  • Home
  • SEARCH
  • 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 45275
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T15:47:00+00:00 2026-05-10T15:47:00+00:00

Since the Google App Engine Datastore is based on Bigtable and we know that’s

  • 0

Since the Google App Engine Datastore is based on Bigtable and we know that’s not a relational database, how do you design a database schema/data model for applications that use this type of database system?

  • 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. 2026-05-10T15:47:01+00:00Added an answer on May 10, 2026 at 3:47 pm

    Designing a bigtable schema is an open process, and basically requires you to think about:

    • The access patterns you will be using and how often each will be used
    • The relationships between your types
    • What indices you are going to need
    • The write patterns you will be using (in order to effectively spread load)

    GAE’s datastore automatically denormalizes your data. That is, each index contains a (mostly) complete copy of the data, and thus every index adds significantly to time taken to perform a write, and the storage space used.

    If this were not the case, designing a Datastore schema would be a lot more work: You would have to think carefully about the primary key for each type, and consider the effect of your decision on the locality of data. For example, when rendering a blog post you would probably need to display the comments to go along with it, so each comment’s key would probably begin with the associated post’s key.

    With Datastore, this is not such a big deal: The query you use will look something like ‘Select * FROM Comment WHERE post_id = N.’ (If you want to page the comments, you would also have a limit clause, and a possible suffix of ‘ AND comment_id > last_comment_id’.) Once you add such a query, Datastore will build the index for you, and your reads will be magically fast.

    Something to keep in mind is that each additional index creates some additional cost: it is best if you can use as few access patterns as possible, since it will reduce the number of indices GAE will construct, and thus the total storage required by your data.

    Reading over this answer, I find it a little vague. Maybe a hands-on design question would help to scope this down? 🙂

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

Sidebar

Ask A Question

Stats

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

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

    • 7 Answers
  • Editorial Team

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

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Are you closing the socket after you use it via… May 11, 2026 at 9:46 am
  • added an answer You have an .obj linked into your .lib that has… May 11, 2026 at 9:46 am
  • added an answer It may not be optimal, but since I already know… May 11, 2026 at 9:46 am

Related Questions

Since the Google App Engine Datastore is based on Bigtable and we know that's
Since the WMI class Win32_OperatingSystem only includes OSArchitecture in Windows Vista, I quickly wrote
Since the keyboard is the interface we use to the computer, I've always thought
Since the only operations required for a container to be used in a stack
Since the release of Adobe AIR I am wondering why Java Web Start has
Since the early days, Palm OS has had a special easter egg mode that's
Since the TFS is too big for our project, we want to use subversion
Since the launch of Silverlight 2 I was expecting a lot of full blown
Since the configuration manager and update manager for eclipse 3.2 is devoid of nice
Ever since the publication of Enterprise Integration Patterns people have been using the notation

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.