问题标签 [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 投票
3 回答
5710 浏览

google-app-engine - MegaStore 与 BigTable 有何不同?

值得注意的是,Google App Engine 正在将其数据存储实现从 BigTable 转移到 MegaStore。两者有什么区别?

0 投票
2 回答
1467 浏览

c# - Facebook 的大表实现

我发现 facebook 使用所谓的大桌子。有没有办法可以在我正在使用的应用程序中使用这个“大表”数据库?

0 投票
2 回答
834 浏览

mysql - 如果 HBase 不在分布式环境中运行,它是否有意义?

我正在建立一个数据索引,这将需要以(document, term, weight). 我将存储多达几百万个这样的行。目前我在 MySQL 中将其作为一个简单的表来执行。我将文档和术语标识符存储为字符串值,而不是其他表的外键。我正在重新编写软件并寻找更好的数据存储方式。

看看 HBase 的工作方式,这似乎非常适合模式。我可以映射document{term => weight}.

我在单个节点上执行此操作,所以我不关心分布式节点等。我应该坚持使用 MySQL,因为它可以工作,还是尝试 HBase 是否明智?我看到 Lucene 将它用于全文索引(这类似于我正在做的事情)。我的问题实际上是单个 HBase 节点与单个 MySQL 节点相比如何?我来自 Scala,那么直接 Java API 是否比 JDBC 和 MySQL 解析等每个查询都具有优势?

我主要关心的是插入速度,因为这是以前的瓶颈。处理后,我可能最终会将数据放回 MySQL 进行实时查询,因为我需要做一些在 MySQL 中更好的计算。

我将尝试对两者进行原型设计,但我相信社区可以为我提供一些有价值的见解。

0 投票
1 回答
400 浏览

hadoop - 这是 HBase 的合适(或可能)使用吗?

我想将 HBase 用作存储,我可以在其中推送几百万个格式的条目,{document => {term => weight}}例如“将术语 X 插入文档 Y,权重为 Z”,然后发出类似“选择此文档的前 1000 个术语”或“为每个文档选择前 1000 个术语”。这适用于我当前的 MySQL 实现,但也许该域更适合 HBase。我注意到 HBase 和 BigTable 用于全文索引,这是一个类似的问题域。

您可以说我只是在 HBase 上阅读了几页,但我希望您理解我的问题的要点。它与这个问题有关

可能的障碍可能包括 HBase 不允许使用与LIMIT子句等效的查询。鉴于我想按权重查询,我想关联{weight => term},这对于具有相同权重的两个术语来说是有问题的(我假设 HBase 只允许唯一键)。或者,我必须存储给定权重的术语集合,但这会限制我准确限制返回术语数量的能力。

0 投票
2 回答
159 浏览

python - 将实体移动或复制到另一种类型

有没有办法将实体移动到 appengine 中的另一种实体。

假设您有一个种类定义,并且您想保留该种类已删除实体的记录。但是您希望将活动对象和归档对象的存储分开。无论如何,种类基本上只是大表中的序列化字典。也许您不需要以与实时数据相同的方式索引存档。那么,您将如何将一种实体移动或复制到另一种实体。

0 投票
1 回答
519 浏览

iphone - iphone table view delete entry and update app engine db

I have a tableview with data, that i post to the app engine database. Whenever i delete an entry in the table, i want to delelte the item in the app engine database as well. How do i know which entry to delete?

I was thinking of this:

for every item i save in the GAE store, i make a reference to a model with the iphone unique device id. for every item i save in the GAE store, i insert a UUID for iphone db & app engine db.

So my query would be something like this ex:

I dont want to login to app engine, thats why i am using the unique device id.

My only concern is performance, GAE has to lookup device id and the UUID, i dont know if this wil be a problem?

Best solution would be if just could delete it by its db.Key(), but i dont know how to do that, because when i post the data to GAE i dont know what key it generated.

Could anyone give me some advice?

0 投票
2 回答
1249 浏览

google-app-engine - 在 BigTable 数据存储中,关于并发性,我如何“锁定”实体?

我不确定如何在 BigTable 数据存储中处理这个问题。

想象一下下面的例子(只是为了解释这个概念。这个例子与我的实际数据模型不匹配):

  • 我有一个计数器实体来跟踪我的数据存储中的事务数。假设当前的“计数”是 100。
  • 现在两个 web 请求同时读取这个值。
  • 两个 Web 请求都添加了一个新事务
  • 最后两者都更新了计数器(到 101)。

计数器值现在不准确。应该是 102。

关于如何处理这种情况的任何建议?我可以“锁定”计数器以确保在第一个 Web 请求完成之前第二个 Web 请求甚至不会读取它吗?

0 投票
3 回答
896 浏览

database - BigTable 是面向对象的数据库吗?

我想知道分布式数据库系统Bigtable是面向对象的吗?

0 投票
4 回答
35423 浏览

sql - 使用 NOSQL 进行连接操作

我浏览了一些关于 Bigtable 和 NOSQL 的文章。非常有趣的是,它们避免了 JOIN 操作。

作为一个基本示例,让我们以 Employee 和 Department 表为例,假设数据分布在多个表/服务器上。

只是想知道,如果数据分布在多个服务器上,我们如何进行 JOIN 或 UNION 操作?

0 投票
1 回答
608 浏览

google-app-engine - Google Appengine:这是一组好的实体组吗?

我正试图围绕 Google AppEngine 中的实体组。我总体上理解它们,但是由于听起来一旦创建对象就无法更改关系并且我要进行大数据迁移,因此我想尝试在第一时间就正确处理。

我正在制作一个艺术网站,会员可以在其中注册为普通会员或少数非多态实体“类型”(艺术家、场地、组织、艺术家代表等)之一。例如,艺术家可以拥有艺术品,而艺术品又可以拥有其他关系(画廊、媒体等)。所有这些东西都通过引用联系起来,我知道您不需要实体组来仅仅做引用。但是,一些参考需要存在,这就是我关注实体组的原因。

来自文档:“实体组的一个好的经验法则是它们的大小应该与单个用户的数据价值差不多或更小。”

也就是说,我有几个希望是/否的问题。

问题 0:我认为您不需要实体组来进行交易。但是,由于实体组存储在大表的同一区域中,这有助于减少一致性问题和竞争条件。这是对实体组和交易的公平看法吗?

问题 1:保存子实体时,是否有任何父对象被隐式访问/保存?即,如果我使用路径成员/艺术家/艺术品设置实体组,如果我保存艺术品对象,成员和艺术家对象是否得到更新/访问?我不认为,但我只是确定。

问题 2:如果问题 1 的答案是肯定的,那么访问/更新是否只会顺着路径进行而不影响其他孩子。即,如果我更新 Artwork,则不会更新 Member 的其他 Artwork 子项。

问题 3:假设在用户注册时存在成员及其关联的帐户类型实体非常重要,并且只有用户会更新其成员和关联的帐户类型实体,那么将它们放在实体组中是否有意义?

即会员/艺术家、会员/组织、会员/场地。

同样,假设只有用户能够更新 Artwork 实体,是否也包括这些实体?注意:引用艺术作品的媒体/画廊/等可能与许多艺术作品相关,而不仅仅是用户拥有的那些(即多对多关系)。

如果它以我怀疑的方式工作(即 Q1/Q2 为“否”),那么将所有用户的位都放在一个实体组中是有意义的,因为它们都将位于 BigTable 的同一区域中。但是,将艺术品添加到实体组似乎可能违反“保持小”原则,老实说,除了在用户上传艺术品图像时节省带宽/重试之外,可能不需要在事务中。

有什么想法吗?我是否错误地接近实体组?