Mongodb、分片和水平缩放
在mongodb中,我想使用mongos并在两台机器上进行mongodb切分,有一个集合并向我的集合中添加文档是否常见,例如:Mongodb、分片和水平缩放,mongodb,Mongodb,在mongodb中,我想使用mongos并在两台机器上进行mongodb切分,有一个集合并向我的集合中添加文档是否常见,例如: {type:'user',name:'xxx',id:1,.........} {type:'userentery',userid:1.........} {type:'usersettings',userid:1.......} {type:'userevent',userid:1.......} {type:'SomthingNotRelated',....}
{type:'user',name:'xxx',id:1,.........}
{type:'userentery',userid:1.........}
{type:'usersettings',userid:1.......}
{type:'userevent',userid:1.......}
{type:'SomthingNotRelated',....}
- 我对如何使用mongodb的理解正确吗
- 是进行水平缩放和避免垂直缩放的方法 避免添加更多集合
- 我的方法有哪些缺点
- 如果一个用户有一个非常大的数组,那么把它放在一个 是否分离文档而不是用户文档本身
我的便条上又添了一条评论。错误的分片密钥不会使您的过程加快太多,如果您按类型查询,并且您的分片密钥是type,那么获得正确的分片以返回您的信息会更快。在另一种情况下,如果需要,比如按日期查询,但它不在您的shard密钥中,Mongo需要将查询发送到每个shard,并在最后合并结果。切分在某些情况下对您帮助很大,在其他一些情况下帮助不大。当然,您可以复制处理器,这总是会更好,但如果您没有正确选择切分键,您不会总是看到很大的差异。切分是Mongo在切分(集合的片段)中拆分单个集合(任何集合)的能力进入不同的小型数据库(使之简单)。对你来说,它是完全透明的,你可以使用一个集合“colX”切分,如果你想的话,你可以把它分成几个机器。唯一的建议是,您必须足够聪明,阅读文档,以使用适当的切分键,帮助您以尽可能最佳的平衡方式拆分收藏。 您可以使用您的集合,如果此类型在统计上与集合中的良好平衡相关(这意味着如果您有1000万条记录和10种类型,则正常情况下,每个类型大约有100万条),您可以使用它并按类型分片 你的方法是正确的,你只需要使用正确的切分键
我的便条上又添了一条评论。错误的分片密钥不会使您的过程加快太多,如果您按类型查询,并且您的分片密钥是type,那么获得正确的分片以返回您的信息会更快。在另一种情况下,如果需要,比如按日期查询,但它不在您的shard密钥中,Mongo需要将查询发送到每个shard,并在最后合并结果。切分在某些情况下对您帮助很大,在其他一些情况下帮助不大。当然,您可以复制处理器,这总是会更好,但如果您没有正确选择切分键,您不会总是看到很大的差异。切分是Mongo在切分(集合的片段)中拆分单个集合(任何集合)的能力进入不同的小型数据库(使之简单)。对你来说,它是完全透明的,你可以使用一个集合“colX”切分,如果你想的话,你可以把它分成几个机器。唯一的建议是,您必须足够聪明,阅读文档,以使用适当的切分键,帮助您以尽可能最佳的平衡方式拆分收藏。 您可以使用您的集合,如果此类型在统计上与集合中的良好平衡相关(这意味着如果您有1000万条记录和10种类型,则正常情况下,每个类型大约有100万条),您可以使用它并按类型分片 你的方法是正确的,你只需要使用正确的切分键
我的便条上又添了一条评论。错误的分片密钥不会使您的过程加快太多,如果您按类型查询,并且您的分片密钥是type,那么获得正确的分片以返回您的信息会更快。在另一种情况下,如果需要,比如按日期查询,但它不在您的shard密钥中,Mongo需要将查询发送到每个shard,并在最后合并结果。切分在某些情况下对您帮助很大,在其他一些情况下帮助不大。当然,您可以复制处理器,这总是会更好,但如果您没有正确选择切分键,您不会总是看到很大的差异。切分是Mongo在切分(集合的片段)中拆分单个集合(任何集合)的能力进入不同的小型数据库(使之简单)。对你来说,它是完全透明的,你可以使用一个集合“colX”切分,如果你想的话,你可以把它分成几个机器。唯一的建议是,您必须足够聪明,阅读文档,以使用适当的切分键,帮助您以尽可能最佳的平衡方式拆分收藏。 您可以使用您的集合,如果此类型在统计上与集合中的良好平衡相关(这意味着如果您有1000万条记录和10种类型,则正常情况下,每个类型大约有100万条),您可以使用它并按类型分片 你的方法是正确的,你只需要使用正确的切分键 我的便条上又添了一条评论。错误的分片密钥不会使您的过程加快太多,如果您按类型查询,并且您的分片密钥是type,那么获得正确的分片以返回您的信息会更快。在另一种情况下,如果您需要按日期进行查询,并且它不在您的shard密钥中,Mongo将需要