Google App Engine Datastore 的 Big Table 是如何设计的?

How is Big Table of Google App Engine Datastore designed?

好的,Google App Engine 有一个名为“Datastore”的函数。 我们从 Google 数据存储网站获得以下 table:

Concept                         Datastore            Relational database
Category of object              Kind                 Table
One object                      Entity               Row
Individual data for an object   Property             Field
Unique ID for an object         Key                  Primary key

好的,假设我们得到了以下代码:

DatastoreService ds=DatastoreServiceFactory.getDatastoreService();
Entity e1=new Entity("Person1");
e1.setProperty("First Name", "Tom");
e1.setProperty("Last Name", "Mary");
ds.put(e1);

Entity e2=new Entity("Person2");
e2.setProperty("First Name", "Brat");
e2.setProperty("Last Name", "Pit");
ds.put(e2);

我的问题是:

上面的代码运行后Google大Table会发生什么?

它会在 Big Table 中创建如下条目吗?:

Person1 {First Name: Tom}; {Last Name: Mary}
Person2 {First Name: Brat}; {Last Name: Pit}

大 Table 是大 Text file (.txt) 之类的东西吗? & 当数据被插入到 Big Table 中时,它就像那个大 table?

中的 1 个新条目一样

OK,现在看“MyProject\war\WEB-INF\appengine-generated\local_db.bin”,可以看到这张图

如您所见,App Engine 存储数据的方式非常奇怪

您在 local_db.bin 文件中看到的内容并不反映数据存储区的工作方式。这是一个用于 emulate 数据存储的文件 - 不可能(也没有必要)在您的计算机上按照 "real" 数据存储的工作方式重新创建。

真正的数据存储不是一个巨大的文本文件。你可以把它想象成一个巨大的 HashMap。