kar*_*arl 4 sql database google-app-engine bigtable table-structure
假设我有一个由用户组成的预订数据库:
user_id
fname
lname
Run Code Online (Sandbox Code Playgroud)
和他们的门票
ticket_id
user_id
flight_no
Run Code Online (Sandbox Code Playgroud)
和相关的航班
flight_no
airline
departure_time
arrival_time
Run Code Online (Sandbox Code Playgroud)
移动此Google AppEngine需要更改哪些内容?
我知道AppEngine 不允许加入.
这是否意味着我的桌子应该成为一片混合在一起的大片?
预订:
user_id
fname
lname
ticket_id
flight_no
airline
departure_time
arrival_time
Run Code Online (Sandbox Code Playgroud)
换句话说,我的所有查询现在都针对同一个表运行?
您需要进行哪些更改主要取决于您需要运行的查询,而不是您拥有的数据.很可能你只需添加几件东西.
创建查询列表,然后查看查询限制.在找到有问题的那些之后,尝试用BigTable的约束重写它们.
例如,如果您经常需要查找航班列表的门票数量,您将无法做到:
SELECT
flight_no, COUNT(*)
FROM
flights
JOIN
tickets ON tickets.flight_no = flights.flight_no
GROUP BY
flight_no
因此,您需要flights在创建/删除票证时添加票证计数器并递增/递减.
好的一面是,BigTable迫使您拥有一个可扩展的数据库设计.不好的一面是,当你真的不需要可扩展的设计时,它浪费了你很多时间.
| 归档时间: |
|
| 查看次数: |
681 次 |
| 最近记录: |