3 google-app-engine transactions gaelyk google-cloud-datastore
首先,我来自RDBMS/SQL/C++/Java/Python背景,我是
Gaelyk,Google API和Google数据存储区的新手.
在编写代码之前,我喜欢建模(使用数据库的代码和数据库建模工具的流程图)
.
过去我曾经大量使用过Erwin进行数据库建模.
在Erwin中,我设计了一个数据库的逻辑/物理数据模型,我希望
使用Google数据存储区和Gaelyk使用Google AppEngine SDK实现该数据库.
我想在编码之前设计数据布局.
我选择的设计工具是Erwin Data Modeler.
当我查看Google数据存储区时,我发现
没有关系约束,并且通过
WHERE子句完成连接:绑定变量.
如何将现有模型(使用PK/FK,依赖实体,重关系链接)映射到Google数据存储区?
是否有一个建模工具可以让我设计Google数据存储区?
数据库设计是否应该从Gaelyk MVC模式和直接编码流出?
我不熟悉这个,因为我来自RDBMS背景,你在那里进行大量建模
,所有好东西都来自良好的关系设计.
此外,在使用命令式语言(C++,C,Java,Python)编写数据库客户端应用程序之前,
我喜欢编写伪代码,但首先是数据库设计(如果应用程序
有数据库后端)
我做错了吗?看起来我
可以使用一套工具来开始编码,但设计工具集并不存在.
附录:
这是我试图绘制的逻辑模型
我如何映射一个循环关系
帐户 - (1:m) - 跟随 - (m:1) - following_account_id - (1:1) - account_id?
通常,App Engine数据存储的指导原则 - 以及所有非关系数据库 - 都是"针对读取进行优化".简而言之,这意味着非规范化,非规范化,非规范化.在某些情况下,这将使更新变得更难 - 例如,如果您将用户名设置为帐户表的主键,并且用户想要更改用户名 - 并且在某些情况下需要复制数据,例如存储持久计数.但是,所有这些都是值得的,因为它提供了更好的读取性能和可伸缩性,并且在典型的Web应用程序中,读取的数量超过了数百比一的因子.
特别是看你的模型,它非常规范化 - 甚至比我见过的大多数RDBMS模型都要规范化.一些建议:
当然,这只是表面上的划痕,而且在SO,群组以及像我这样的博客上都有很多收集到的智慧.请随时回来询问有关数据建模的具体问题!
要回答您的其他问题,不,我没有注意到GAE特定的数据建模工具,但您可以使用标准的图表工具.模型确实在代码中定义,因为数据存储是无模式的,但这不一定是实现事物的顺序的障碍.
| 归档时间: |
|
| 查看次数: |
1479 次 |
| 最近记录: |