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

时间:2015-12-29 05:31:24

标签: google-app-engine google-cloud-datastore

好的,Google App Engine获得了一个名为“数据存储区”的功能。 我们从Google数据存储网站获得了下表:

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 Big Table会发生什么?

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

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

Big Table就像一个大Text file (.txt)或类似的东西? &安培;当数据被插入Big Table时,它就像那张大表中的一个新条目一样?

好的,现在看看“ MyProject \ war \ WEB-INF \ appengine-generated \ local_db.bin ”,我可以看到这张图片 enter image description here

正如您所看到的,应用引擎存储数据的方式非常奇怪

1 个答案:

答案 0 :(得分:2)

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

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