Since Google Application Engine does not permit joins, performs this imply that I must take all the tables during my web application and discover a method of mixing them right into a single huge table?

Mixing it to 1 large table is definitely a choice, however it results unnecessarily large and redundant tables more often than not, thus it'll make your application slow and difficult to keep.

You may also emulate a join, by iterating with the outcomes of a question, and managing a second query for every result found for that first query. If you possess the SQL query

SELECT a.x FROM b INNER JOIN a ON a.y=b.y;

you are able to emulate this with something similar to this:

for b in db.GqlQuery("SELECT * FROM b"):
  for a in db.GqlQuery("SELECT * FROM a WHERE y=:1", b.y):
    print a.x

Simply because you do not have joins implemented through the DBMS does not mean you cannot have multiple tables. In Application Engine, they are known as 'entity types', and you will have as most of them as you would like.

Generally, you have to denormalize your computer data to be able to avoid the requirement for frequent joins. Within the couple of situations where they are inevitable, you should use other techniques, look foward to the participate in user code.

Switching from the relational database towards the Application Engine Datastore takes a paradigm change for designers when modeling their data. Have a look here to obtain a better idea. This can need you to think more in advance concerning how to match your problem in to the constraints the datastore imposes, but when after that you can you're guaranteed that it'll run rapidly and scale.