All data store queries are performed using indexes,
and knowing how they work is important when you
design and build your applications. If you have
worked with a relational database management system, and SQL.
You should be aware that those indexes are
not the same as data store indexes. Indexes in
RDBMS are a query optimization used to retrieve your
result faster. While indexes in Datastore are, in fact,
required to perform a query on that data at all. So you if you want to query for
Datastore data, there has to be an index for
that data. Be sure to remember this. So let's
look at Datastore indexes by going back to conferences.
And look at what happens when we perform a
search on the property city. In fact, let's even
talk about what happens before the query. When storing entities,
Datastore also updates index tables, which are
later used to find entities when the query
is made. These index tables consist of an
index value, that maps to a matching entity
key. Taking the city Berlin as an example,
the index value would be constructed using the
kind, conference. Then the property, city, and finally
the value of the property, Berlin. Here are
the index values for the cities Halloween,
London, and Paris. So again, the index value
is a combination of the kind, property, and
value of the property. Each index value then
points to the entity key where the value
resides. So a matching entity where city is
Berlin has the following key. And one with
London has the following key, and so on.
So let's say your favorite city is, Paris.
And you would like to get all conferences that
are in Paris. Then Datastore would look at the
index table where city is Paris, and find all
matching entities. Since data store require index tables
to perform queries, every property that you query for
will need an index table. By default, Datastore creates
these automatically. But we will also see how you
can control this later on.
،يتم تنفيذ كل استعلامات مخزن البيانات باستخدام الفهارس
ومن المهم معرفة كيفية عملها عندما تقوم
بتصميم تطبيقاتك وبنائها. إذا كنت تعمل
.بنظام إدارة قاعدة بيانات ارتباطية وSQL
يجب معرفة أن هذه الفهارس
ليست مطابقة لفهارس مخزن البيانات. الفهارس في
RDBMS هي تحسين لاستعلام مستخدم لاسترداد
نتيجتك بشكل أسرع. بينما الفهارس في قاعدة البيانات
مطلوبة في الواقع لتنفيذ استعلام على هذه البيانات ككل. لذا إذا كنت تريد الاستعلام عن
بيانات قاعدة البيانات، يجب أن يكون هناك فهرس
لهذه البيانات. تذكر ذلك. فلننظر
.إلى فهارس قاعدة البيانات بالعودة إلى المؤتمرات
وانظروا إلى ما يحدث عندما تقومون بإجراء
بحث على مدينة الخاصية. دعونا
،نتحدث على ما يحدث قبل الاستعلام. عند تخزين الكيانات
تقوم قاعدة البيانات أيضًا بتحديث جداول الفهارس التي يتم
استخدامها لاحقًا للعثور على الكيانات عند تنفيذ
الاستعلام. تتكون جداول الفهارس هذه
من قيمة الفهرس التي ترتبط بمفتاح الكيان
،المطابق. وباتخاذ مدينة برلين كمثال
سيتم إنشاء قيمة الفهرس باستخدام
النوع: مؤتمر. ثم الخاصية: المدينة، وأخيرًا
قيمة الخاصية: برلين. وها هنا
قيم الفهارس للمدن هالووين
ولندن وباريس. ومرة أخرى، فإن قيمة الفهرس
عبارة عن مجموعة من النوع والخاصية
وقيمة الخاصية. ثم تشير كل قيمة من قيم الفهرس
إلى مفتاح الكيان الذي تقع فيه
القيمة. ومن ثم يكون للكيان المطابق الذي تكون فيه المدينة
برلين المفتاح التالي. ويكون للكيان الخاص بمدينة
.لندن المفتاح التالي، وهكذا
.لذا دعونا نفترض أن مدينتكم المفضلة هي باريس
وتريدون حضور كل المؤتمرات التي
تقام بها. إذًا ستبحث قاعدة البيانات
عن جدول الفهرس الذي تكون فيه المدينة باريس، وستجد كل
الكيانات المطابقة. ولأن مخزن البيانات يتطلب جداول الفهارس
لتنفيذ الاستعلامات، ستحتاج كل خاصية تقوم بالاستعلام عنها
إلى جدول فهرس. وبشكل افتراضي، تقوم قاعدة البيانات بإنشاء
ذلك تلقائيًا. وسنرى كيف يمكنك
.التحكم بهذا لاحقًا
Todas las consultas al data store se realizan utilizando índices,
y saber cómo funcionan es importante
cuando diseñas y construyes tus aplicaciones.
Si has trabajado con un sistema de gestión de bases de datos relacionales y SQL,
debes ser consciente de que esos índices
no son iguales que los índices del data store.
Los índices en RDBMS son una optimización de la consulta
usados para obtener un resultado más rápido.
Mientras los índices del data store son, de hecho, requeridos
para realizar una consulta sobre la totalidad de los datos.
Así que si deseas consultar los datos del data store,
tiene que haber un índice para esos datos.
Asegúrate de recordar esto.
Veamos los índices del data store, volviendo a las conferencias.
Y mira lo que sucede cuando realizamos una búsqueda
sobre la propiedad city.
De hecho, incluso hablemos de lo que sucede antes de la consulta.
Al almacenar entidades, Datastore también actualiza tablas de índices,
que luego son usadas para encontrar entidades
cuando se realiza la consulta.
Estas tablas de índice consisten en un valor del índice,
que se asigna a una clave de entidad correspondiente.
Tomando la ciudad de Berlín como ejemplo,
el valor del índice se construye utilizando el tipo, conferencia.
Luego la propiedad, ciudad,
y finalmente el valor de la propiedad, Berlín.
Estos son los valores del índice para las ciudades de
Halloween, Londres y París.
Así que de nuevo, el valor del índice
es una combinación del tipo, propiedad y valor de la propiedad.
Cada valor del índice, apunta a la clave de entidad
donde reside el valor.
Entonces una entidad coincidente cuando la ciudad es Berlín
tiene la siguiente clave.
Y una con Londres tiene la clave siguiente, y así sucesivamente.
Digamos que tu ciudad favorita es París.
Y quisieras conseguir todas las conferencias que están en París.
Luego Datastore buscaría en la tabla de índices
donde la ciudad sea París,
y encontraría todas las claves de entidades coincidentes.
Puesto que el data store requiere tablas de índice
para realizar consultas, cada propiedad que consultes
necesitará una tabla de índices.
Por defecto, Datastore las crea automáticamente.
Pero también veremos más adelante cómo se puede controlar esto.
すべてのDatastoreのクエリは インデックスを使って行われます
その仕組みを知っておくことは
アプリケーションをデザインし作成する時に 重要になります
リレーショナルデータベースや SQLを使って作業する場合
気をつけなくてはいけないのは これらのインデックスは
Datastoreのものとは違うということです
RDBMSのインデックスは結果を より早く回収するために用いるクエリの最適化です
そしてDatastoreのインデックスは そのデータ全体のクエリの実行が要求されます
ですからもしDatastoreのデータに
問い合わせたければそのデータの インデックスがあるはずです
これは必ず覚えておいてください
会議の話に戻って Datastoreのインデックスを見てみましょう
そして都市のプロパティについて 検索をした時に何が起こるか見ていきます
実際には何が起こるのかを先にお話ししましょう
Datastoreはインデックス表も アップデートします
これはあとでクエリが作られる時 エンティティを見つけるのに使われます
これらのインデックスの表は
インデックス値からできていて 適切なエンティティキーに変換できます
ベルリンを例にとってみましょう
インデックスの値はカインドである会議と プロパティである都市と
プロパティの値であるベルリンから作られます
ここにハロウィーン、ロンドン、パリの
それぞれの都市のインデックス値があります
つまりインデックス値はカインド、プロパティ、 プロパティ値の組み合わせです
それぞれのインデックス値には 値が与えられているエンティティキーがあります
ベルリンのエンティティに対応するのは
この後ろにあるキーです
ロンドンだったらこのキーです
ではお気に入りの都市はパリだとしましょう
そしてパリでのすべての会議に 出席したいと思っています
Datastoreは都市がパリだという インデックス表を参照し
すべての対応するエンティティを探します
Datastoreはクエリの実行に インデックス表を要求するので
問い合わせるすべてのプロパティは インデックス表が必要です
デフォルトではDatastoreは自動的に表を作ります
それをコントロールする方法も後ほど学びます
Todas as consultas ao Datastore são realizadas através de índices.
Saber como eles funcionam é importante para
projetar e criar aplicativos. Se você já
trabalhou com um sistema de gerenciamento de banco de dados relacional (RDBMS) e SQL,
já deve saber que esses índices não são
iguais aos índices do Datastore. Índices em
RDBMS são uma otimização de consultas usada para recuperar
o resultado mais rápido. Por outro lado, os índices no Datastore são, na verdade,
obrigatórios para realizar qualquer consulta nos dados. Portanto, se você deseja consultar
dados no Datastore, é necessário haver um índice para
esses dados. Lembre-se sempre disso. Vamos dar uma olhada
nos índices do Datastore, voltando às conferências.
Veja o que acontece quando realizamos uma
pesquisa na propriedade cidade. Na verdade, vamos
falar até mesmo sobre o que acontece antes da consulta. Ao armazenar entidades,
o Datastore também atualiza as tabelas de índice, que são
usadas mais tarde para encontrar entidades quando a consulta
é feita. Essas tabelas de índice consistem de um
valor de índice que mapeia para uma chave de entidade
correspondente. Tomando a cidade de Berlim como exemplo,
o valor de índice é construído usando o
tipo conferência, a propriedade cidade e, por fim,
o valor da propriedade Berlim. Aqui estão
os valores de índice das cidades Halloween,
Londres e Paris. Novamente, o valor de índice
é uma combinação do tipo, da propriedade e
do valor da propriedade. Cada valor de índice
aponta para a chave de entidade na qual o valor
reside. Então, uma entidade correspondente, cuja cidade é
Berlim, tem a seguinte chave. E aquela cuja a cidade é
Londres, tem a seguinte chave, e assim por diante.
Então, digamos que a sua cidade favorita seja Paris.
E que você gostaria de obter todas as conferências
em Paris. O Datastore analisa a
tabela de índice cuja cidade é Paris e encontra todas as
entidades correspondentes. Como o Datastore necessita ter tabelas de índice
para realizar consultas, cada propriedade que você consultar
precisará ter uma tabela de índice. Por padrão, o Datastore as cria
automaticamente. Mas também veremos mais tarde como
você pode controlar isso.
使用索引执行所有数据存储查询
并且当你设计和构建应用时了解
使用索引执行查询的工作原理至关重要 如果你使用
相关数据库管理系统和 SQL
那么你应该注意 这些索引与
数据存储索引不同 RDBMS 中的索引是
为了更快检索结果
而进行的查询优化 数据存储中的索引实际上是
执行数据查询所需的索引 所以 如果你要查询
数据存储数据 必须有
数据索引 请一定要切记 现在我们
转回到会议来看看数据存储索引
并看一看我们搜索城市属性时
会发生什么 甚至我们
还要看一看查询之前发生了什么 存储实体时
数据存储还会更新索引表
稍后进行查询时会使用该索引表
查找实体 这些索引表由
索引值组成 可以映射到
匹配的实体键值 以城市柏林为例
使用种类会议构建
索引值 然后是属性、城市
最后是属性值 柏林 这些都是
城市的索引值：好莱坞、
伦敦和巴黎 再调强一次 索引值
是种类、属性和属性值的
组合 每一个索引值都
指向驻留值的
实体键值 所以 城市为柏林的匹配实体
有以下键值 城市为伦敦的
匹配实体也有以下键值 等等
比如说 你喜欢的城市是巴黎
你要获取在巴黎举行的
所有会议 数据存储会查看
其中城市为巴黎的索引表
并查找所有匹配实体 因为数据存储需要索引表
来执行查询 你查询的每个属性
都将需要索引表 默认情况下 数据存储
会自动创建索引表 但是我们也希望看到
你稍后会如何进行控制