datastore,Blobstore,memcache一起为应用存储数据。这对于在全球范围内分割数据是有用的。比如,一个应用可以为多个公司服务,每个公司可以看到它自己的隔离的应用实例,没有公司可以看到属于其他公司的任何数据。你可以在应用代码中使用公司ID作为每个键的前缀来实现这种分割。但是这样易发生错误:代码中的一个BUG可能暴露或修改其他部分的数据。
为了更好针对这种情况,App Engine在基础设施层次提供了分割特性。一个应用可以通过调用一个API来声明它在一个命名空间中动作。所有的后续的数据服务的使用都自动限制在这个命名空间中。在初期化声明后,这个应用不需要跟踪它在哪个命名空间。
默认的命名空间有一个等于空白字符串的名字。这个命名空间和其他的命名空间不同。(没有全局命名空间)。所有的数据属于一个命名空间。
更过关于命名空间特性的信息,参考官方的文档。