I am learning how to use the Google App Engine. My question is on the meaning of words used to describe a BigTable database.
I have read google's paper on big table This paper describes the BigTable data model in terms of rows, cells, column families, columns and column keys. I felt the examples given in the paper gave me a good idea of how to start designing a BigTable database.
I then looked at the Google App Engine datastore documentation and API . This uses the terms entity, properties, key, entity groups and index to describe the data model.
My question is:
What is the relationship be开发者_StackOverflow社区tween the terms used in the paper and the terms used in the API?
The Datastore is built upon Megastore which is built upon an implementation of BigTable.
When developing for appengine you don't really need to concern yourself with the Megastore and BigTable concepts, as it's all out of your control under the hood and the datastore builds much more on top of them anyway. It would be like trying to model your MySQL data after learning how BerkleyDB is implemented.... interesting but ultimately not that useful for your application.
Read through the megastore paper, which will probably give you mostly what you are looking for, and also checkout some of the Google IO talks that bring up the High Replication datastore as these touch a little on what goes on inside.
精彩评论