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。
好的,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?
OK,现在看“MyProject\war\WEB-INF\appengine-generated\local_db.bin”,可以看到这张图
如您所见,App Engine 存储数据的方式非常奇怪
您在 local_db.bin 文件中看到的内容并不反映数据存储区的工作方式。这是一个用于 emulate
数据存储的文件 - 不可能(也没有必要)在您的计算机上按照 "real" 数据存储的工作方式重新创建。
真正的数据存储不是一个巨大的文本文件。你可以把它想象成一个巨大的 HashMap。