5

ウィキペディアでAppEngineについて読んでいて、GQLの制限に遭遇しました。

  • JOINはサポートされていません

  • 一度に最大1つのテーブルから選択できます

  • WHERE句に最大1列を配置できます

これらの制限の利点は何ですか?

これらの制限は、スケーラビリティが優先される他の場所で一般的ですか?

4

3 に答える 3

19

GQL が対話するデータストアは次のとおりです。

  • MySQL や PostgreSQL のようなリレーショナル データベースではありません
  • BigTable と呼ばれる列指向の DBMS です。

このようなデータベースを使用する理由の 1 つは、何百ものサーバーに拡張できる非常に高性能なデータベースを使用するためです。

GQL は SQL ではなく、SQL に似ています。

ここにいくつかの参照があります:

于 2008-11-14T06:37:10.350 に答える
4

答えは、実際には、利用可能なものに対するあらゆる種類の制限ではなく、データストアの基盤となるテクノロジーに関係していると思います. Google は内部でリレーショナル データベースを使用していませんが、 BigTableの代わりに、SQL のようなクエリを使用して、リレーショナル データベースの使用に慣れているユーザーの学習曲線を制限する優れた API を追加しました。ORM の使用に慣れている人にとっては、アヒルのように水を飲むようになります。

于 2008-11-14T06:41:05.193 に答える
2

既存の回答は、高レベルの質問でうまく機能します。

追加の注意: あなたが言及した 3 番目の制限は、実際には当てはまりません。GQL クエリでは、WHERE 句に必要な数の列を含めることができます。いくつかの注意点がありますが、列の数は明示的に制限されていません。もっと:

http://code.google.com/appengine/docs/python/datastore/queries.html

于 2011-01-27T23:17:55.590 に答える