问题标签 [bigtable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3521 浏览

google-app-engine - nosql 数据库中的树结构

我正在为 Google App Engine 开发一个应用程序,它使用 BigTable 作为其数据存储。

这是一个关于协作编写故事的应用程序。这是一个非常简单的爱好项目,我只是为了好玩而工作。它是开源的,你可以在这里看到它:http: //story.multifarce.com/

这个想法是任何人都可以写一个段落,然后需要另外两个人来验证。一个故事也可以在任何段落中分支,以便故事的另一个版本可以向另一个方向继续。

想象一下下面的树结构:

每个数字都是一个段落。我希望能够选择每个独特故事情节中的所有段落。基本上,那些独特的故事情节是(2、7、2);(2, 7, 6, 5); (2, 7, 6, 11) 和 (2, 5, 9, 4)。忽略节点“2”出现了两次,我只是从维基百科上拿了一张树状结构图。

我还绘制了一个建议解决方案的图表:https ://docs.google.com/drawings/edit?id=1fdUISIjGVBvIKMSCjtE4xFNZxiE08AoqvJSLQbxN6pc&hl=en

我怎样才能建立一个结构对写作来说是高效的,但最重要的是阅读?

0 投票
2 回答
763 浏览

nosql - Cassandra/BigTable 数据模型 - 构建索引的最佳方法是什么?

我正在为 PenWag.com 进行从 MySQL 到 Cassandra 的转换。在 Cassandra 中,我存储的是使用 GUID 键控的用户,但用户使用他们的电子邮件登录,而不是 GUID(显然)。GUID 作为用户的键对我来说比电子邮件更有意义,原因有两个。从实际的角度来看,更改或删除/添加包含所有 SuperColumns 的行似乎太麻烦了。从理论上讲,它仍然是同一个用户,为什么他们的密钥要改变?

不过,这是我的问题:我在单独的 ColumnFamily 中构建索引,映射电子邮件-> GUID 以支持登录。这是一个标准类型的 CF,其中列名是电子邮件,值是 GUID。避免为每个映射加载整个 SC 是标准的,而不是超级的。支持“更改电子邮件”很容易,它只是一个列删除/添加。但似乎另一种方法是将索引存储为行而不是列,其中行键是电子邮件,列保存 GUID。删除/添加这些行不会很麻烦,因为只有列(GUID)要管理。

似乎这两种方法都有效。各自的优缺点是什么?有最佳实践吗?

0 投票
3 回答
578 浏览

google-app-engine - GQL 查询优化和表架构

我一直在使用 Google App Engine,但我的一些数据查询遇到了一些性能缓慢的问题。我读过设计 App Engine 数据存储区与使用 SQL 数据库的思维方式不同,我不确定我这样做是不是最好的方式。我有两个问题要尝试走上正轨:

具体来说:

我有一个Foo类型和一个UserFoo类型。每个UserFoo都是对应的“实例”,Foo并保存特定于该实例的数据。我的Foo类型有一个fooCode属性,它是一个唯一标识符,我使用它们的UserFoo属性来映射它们。然后我使用如下代码对每个 Foo 进行操作:FoofooCode

注意:我使用fooCode的是引用键,以便我们可以轻松地删除和重新添加新Foo的 s,而不必重新映射所有相应UserFoo的 s。

一般来说:

设计 GAE 数据存储表的典型方法和使用它们的最佳实践是什么?

0 投票
2 回答
1240 浏览

google-app-engine - db.get() 与 db.get_by_key_name() 性能(GAE BIgtable/Datastore)

db.get() 的性能与 db.get_by_key_name() 相比如何?

0 投票
1 回答
1008 浏览

google-app-engine - 批量数据上传时出现 App Engine BadValueError - TextProperty 被解释为 StringProperty

bulkloader.yaml:

模型.py:

一切似乎都很好,但是当我上传时出现此错误: BadValueError: Property data is 24788 bytes long; it must be 500 or less. Consider Text instead, which can store strings of any length.

出于某种原因,它认为 data 是一个字符串属性。

有谁知道我该如何解决这个问题?

0 投票
2 回答
1367 浏览

python - App Engine 批量数据上传 URLError: "Connection reset by peer"

我正在尝试使用 appcfg.py 将一些记录上传到我的本地数据存储

实际上只插入了少量记录,我得到以下输出(有大量错误):

知道问题可能是什么吗?

0 投票
3 回答
443 浏览

python - App Engine 批量数据上传 - 身份验证错误

当我尝试使用 appcfg.py 上传数据时,无论我的登录详细信息是否完全正确,都会出现身份验证错误。

问题可能是什么?

0 投票
1 回答
269 浏览

database - AppEngine 主键

默认情况下,GAE 会为您的数据库条目添加一个唯一键。

是否可以另外有一个数字唯一键?

埃利亚斯

0 投票
3 回答
2108 浏览

google-app-engine - 在 AppEngine 中查询模型列表属性中存在的值

示例模型:

  1. 如何使用 Query 或 GqlQuery 进行查询以返回其bar属性中具有给定值的所有Foo实体?

  2. 如果我有一个 id 列表,是否有一个过滤器可以返回id属性在该列表中的所有实体?

0 投票
1 回答
180 浏览

java - 加入应用引擎的任何解决方案?

我有以下数据模型:

我想在体育场找到所有也是我朋友的用户。我可以这样做:

这可以处理非常少量的对象。一旦用户拥有多个朋友,这将不起作用。应用引擎上有解决方案吗?我想不出一个表现好的。

谢谢

-------- 一些样本数据--------

所以如果我是用户 'john',我的朋友是:{ tim, mary }。如果我使用 Stadiumname='abc' 运行体育场查询,我应该返回 { tim }。