现在我使用remote_api并appcfg.py download_data每晚拍摄我的数据库的快照.这需要很长时间(6小时)并且很昂贵.如果没有滚动我自己的基于更改的备份(我不敢做那样的事情),那么确保我的数据安全无故障的最佳选择是什么?
PS:我认识到谷歌的数据可能比我的更安全.但是,如果有一天我不小心写了一个删除它的程序呢?
我有一个EntityKind SuggestedInterest.当我使用键"GrpId"和属性"suggestedint"填充它时.
现在,我需要"suggestint"值来请求"GrpId"
所以,我把查询写成:
String findSuggestedInterest(String grpId)
{
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Filter filter = new FilterPredicate(Entity.KEY_RESERVED_PROPERTY,FilterOperator.EQUAL,grpId);
Query q0 = new Query("SuggestedInterest").setFilter(filter);
PreparedQuery pq0 = datastore.prepare(q0);
Entity result = pq0.asSingleEntity();
return result.getProperty("suggestedint").toString();
}
Run Code Online (Sandbox Code Playgroud)
当我执行此代码时,我得到了
java.lang.IllegalArgumentException: __key__ filter value must be a Key
Run Code Online (Sandbox Code Playgroud)
开发人员讲述了使用Entity.KEY_RESERVED_PROPERTY来查询密钥,但我想我误解了.查询密钥的正确方法是什么?
我正在Google App Engine上编写应用程序,以帮助我更好地学习它.我将数据保存在数据存储区中.
该应用程序是类似于StackOverflow的模型:您有一个Story实体,它有一组Comment实体,而这些实体又可以被许多用户所喜欢/讨厌.我现在建模的方式如下:
class Story {
Comment[] comments;
...
}
class Comment {
User[] likes;
User[] hates;
...
}
Run Code Online (Sandbox Code Playgroud)
因此,当您加载给定的故事时,您可以列出所有评论,以及每个评论的喜欢和讨厌的百分比.您还可以跟踪给定用户是否已投票评论.
我假设我可以延迟加载Comment实体中的所有实际用户,但即便如此,我还是认为有更好的方法可以做到这一点.
这将如何处理一个有数百条评论的故事,每条评论都有数十万票?!
在NoSQL中建模这种概念的常用方法是什么?
google-app-engine data-modeling nosql google-cloud-datastore
将新实体发布到数据存储区后,我将页面重定向到一个新URL,该URL列出该组中的所有实体.当我重定向时,页面显示过时的结果,我必须重新加载以查看数据存储区中的新实体列表.
我知道最终的一致性.这就是为什么我看到陈旧的结果?
例如,
我的数据存储区我有一个用户 - 用户1然后,在一个表单中,我添加一个用户 - 用户2这个实体被放到数据存储区然后我重定向到一个新的网址,即'get/users'
在重定向上我只看到用户1,但如果我刷新页面,我会看到用户2.我能保证或帮助防止陈旧结果吗?
google-app-engine browser-cache app-engine-ndb google-cloud-datastore
我在Google应用引擎中部署了一个应用程序.当我在更新该实体后立即通过id获取实体时,我得到的数据不一致.我正在使用JDO 3.0来访问应用程序引擎数据存储区.
我有一个实体员工
@PersistenceCapable(detachable = "true")
public class Employee implements Serializable {
/**
*
*/
private static final long serialVersionUID = -8319851654750418424L;
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY, defaultFetchGroup = "true")
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String id;
@Persistent(defaultFetchGroup = "true")
private String name;
@Persistent(defaultFetchGroup = "true")
private String designation;
@Persistent(defaultFetchGroup = "true")
private Date dateOfJoin;
@Persistent(defaultFetchGroup = "true")
private String email;
@Persistent(defaultFetchGroup = "true")
private Integer age;
@Persistent(defaultFetchGroup = "true")
private Double salary;
@Persistent(defaultFetchGroup = "true") …Run Code Online (Sandbox Code Playgroud) java google-app-engine jdo datanucleus google-cloud-datastore
我有一些GAE应用程序,我正在考虑分成三个模块:default(www), mobile而api但我有理解模块以及如何组织代码中的一些困难.
这是我到目前为止提出的简化结构:
gae-app/
??? modules
? ??? api
? ? ??? app.yaml
? ? ??? src
? ? ??? main.py
? ??? mobile
? ? ??? app.yaml
? ? ??? src
? ? ??? index.html
? ??? www
? ??? app.yaml
? ??? src
? ??? main.py
? ??? templates
??? cron.yaml
??? index.yaml
??? queue.yaml
Run Code Online (Sandbox Code Playgroud)
该api模块提供了大量的API函数,并且可以自行运行.
该mobile模块只是一堆html + js,api通过ajax 与模块配合得很好. …
我在Matlab中有一堆二维数据矩阵(没有图像数据,但有一些单精度数据).
有谁知道如何将2D matlab矩阵转换为caffe所需的leveldb格式来训练自定义神经网络?
我已经完成了关于如何训练图像(使用imagenet架构)和mnist(数字识别数据集)的教程.但是在后一个例子中,他们没有展示如何创建相应的数据库.在教程中,已经提供了数据库.
当我访问Cloud Datastore Web管理时,"索引"部分下没有列出索引,我想明确定义一些索引以运行高级查询.我有一个yaml文件,看起来像:
indexes:
- kind: order
ancestor: no
properties:
- name: email
- name: name
- name: ownerId
- name: status
- name: updated_at
- name: created_at
direction: descRun Code Online (Sandbox Code Playgroud)
然后我运行以下命令来创建索引:
gcloud预览数据存储区创建索引indices.yaml
这是我得到的错误消息:
"AppInfoExternal类型的对象的意外属性'索引'"
有没有人遇到同样的问题?有任何想法吗?
问候,何塞
google-cloud-datastore google-cloud-platform google-cloud-sdk
在阅读新谷歌关系数据库Spanner的定价后,它指出成本是基于存储和使用.他们每节点收费0.9美元.问题是:如果我为开发创建数据库,并且每天只使用它6小时,每月最多100小时...我是否只需要支付活跃使用时间(接收查询)或整个时间月?费用类似于App Engine实例?
在第一种情况下,花费90美元来测试这个新数据库是没有问题的,但是如果他们收取整个月的费用(使用与否)......成本上涨到每月670美元......
任何人一直在使用这个数据库,可以分享最终的发票费用吗?
在教程中,他们建议在测试后删除de数据库,但是对于开发来说,删除数据库并每天重新创建数据库和数据是不合适的.
将Cloud Functions与Firebase实时数据库一起使用时,您可以使用云功能定位特定字段.例如,给定这个JSON结构,我可以定位user1的电子邮件字段是否通过('/user/{userId}/email').onUpdate云功能更改.
{
"user": {
"user1": {
"name": "John Doe",
"phone": "555-5555",
"email": "john@gmail.com"
}
}
}
现在使用Firestore,我似乎无法定位特定字段,只能定位文档.如果是这种情况,定位电子邮件字段的Firestore云功能必须如下所示 ('/user/{userId}').onUpdate,并且每次user集合中的任何文档发生更改时都会触发.这将导致大量浪费的云功能触发.这就是Firestore的工作方式吗?它有一个优雅的工作吗?
database database-design firebase google-cloud-functions google-cloud-firestore