简单的疑问,这是否意味着它可以处理一种类型(mysql意义上的行)中没有任何分片以及不影响任何性能的十亿+实体(mysql意义上的行)?
答案 0 :(得分:2)
是的,您可以处理数十亿个没有分片的实体。
数据存储区查询的性能不依赖于您拥有的实体数量。它取决于您要检索的实体数量。换句话说,无论您只有100个实体还是10亿个实体,您将同时获得100个实体。
答案 1 :(得分:1)
是的,它可以处理数十亿实体而不影响性能。但是,“没有分片”是值得怀疑的。默认情况下,您的所有实体都可供Google“分片”,但他们认为这些实体可以满足您应用的需求。当我在这里说“碎片”时,我的意思是将您的实体在他们认为合适的机器或数据中心之间传播。 Sharding不是你自己需要管理的东西。
但是,您可以通过将多个实体放在同一个实体组中来限制分片(在这个意义上)(即通过给多个实体提供相同的 $('.formValidation input[type=submit]').on('click',function(e){
// Prevent Default Form Submit
e.preventDefault();
// Define Global if Invalid Fields Exist
var hasInvalidInputs = false;
// Run Through all to check Input Fields
$('input').filter(function(index){
// Check if Invalid Inputs already got detected. If not - check if this field is red
if( !hasInvalidInputs )
hasInvalidInputs = $(this).css('border-color') == 'rgb(161, 0, 0)'; // If field is red -> update global var to true
});
// Check if Invalid Fields are set to true
if (hasInvalidInputs) {
console.log('Still at least one field to go!');
} else {
console.log('You can submit!');
}
});
)。这是您应该尽可能避免的事情,因此您不会限制Google如何使用分片优化您的数据。但是,如果您需要在单个事务中访问许多实体,则可能需要创建实体组。有关您希望的原因和时间的更多信息可用here。
顺便说一句,谷歌也可能会在全球多个地点制作多份数据副本,以提高读取吞吐量,如果这是他们的算法确定的最佳选择。