Book Image

Mastering Google App Engine

Book Image

Mastering Google App Engine

Overview of this book

Table of Contents (18 chapters)
Mastering Google App Engine
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Queries under the hood


In the previous two chapters, we learned that datastore is built on top of BigTable. We also learned the BigTable operations. You may recall from our discussion in the third chapter on BigTable that while reading data from BigTable, operations fetch either a row whose key is known, or a set of rows by using a starting and ending key, which is also known as a range scan. We also learned that the rows in BigTable are always stored sorted in the lexicographic order of the row keys. Hence, scanning the range is very efficient because all the rows are consecutive on the disk.

You'll also recall that our entities are stored as rows in BigTable, with all the properties serialized into a single column. Now, we have a situation where all the properties end up in a single BigTable column and on top of that, the only operations that are available are fetching a single row by key or a range of rows by giving a starting and an ending key range.

So, when this is how data is stored...