小编Gui*_*mer的帖子

MongoDB在大型集合上的写入性能较差,并且有50.000.000个文档

我有一个MongoDB,它存储了204.639.403项的产品数据,这些数据已经由项目的国家分散到同一个MongoDB进程中同一物理机器上运行的四个逻辑数据库中.

这是一个列表,其中包含每个逻辑数据库的文档数:

  • CoUk:56.719.977
  • 德:61.216.165
  • Fr:52.280.460
  • 它:34.422.801

我的问题是数据库写入性能越来越差,特别是对四个数据库中最大的数据库(De)的写入变得非常糟糕,根据iotopmongod进程使用99%的IO时间,写入少于3MB,读取数据为1.5MB每秒.这导致长锁定数据库,100%+锁定通常根据mongostat- 即使所有进程写入和读取到其他国家/地区数据库已被停止.当前从站达到最大为6的LOAD,副本集主机同时具有2-3的负载,因此也导致复制滞后.

每个数据库都有相同的数据和索引结构,我使用最大的数据库(De)仅用于进一步的示例.

这是从数据库中取出的一个随机项,就像示例一样,该结构经过优化,只需一次读取即可收集所有重要数据:

{
    "_id" : ObjectId("533b675dba0e381ecf4daa86"),
    "ProductId" : "XGW1-E002F-DW",
    "Title" : "Sample item",
    "OfferNew" : {
        "Count" : 7,
        "LowestPrice" : 2631,
        "OfferCondition" : "NEW"
    },
    "Country" : "de",
    "ImageUrl" : "http://….jpg",
    "OfferHistoryNew" : [ 
        … 
        {
            "Date" : ISODate("2014-06-01T23:22:10.940+02:00"),
            "Value" : {
                "Count" : 10,
                "LowestPrice" : 2171,
                "OfferCondition" : "NEW"
            }
        } …
Run Code Online (Sandbox Code Playgroud)

mongodb

22
推荐指数
1
解决办法
3万
查看次数

在一个表上Hibernate两个ManyToOne关系,第一个获取Eager,第二个LAZY加载

我有以下实体,item最多可以有两个类别,主要和次要.两个类别都使用a 映射ManyToOnecategoryJoinColumnsOrFormulas.第一个EAGER按预期获取,但第二个不会出现在SQL语句中并且会延迟加载.这种延迟加载导致经典的n + 1问题.

这是我的项目实体,应该加入两个类别实体:

@Entity
@Table(name = "item", schema = "public", catalog = "stackoverflow_question")
@DynamicUpdate
public class Item extends StackOverflowQuestionEntity {

    @Id
    @Column(name = "id")
    protected Long id;

    @Column(name = "site")
    private String site;

    @ManyToOne
    @JoinColumnsOrFormulas({
            @JoinColumnOrFormula(formula = @JoinFormula(value = "site", referencedColumnName = "site")),
            @JoinColumnOrFormula(formula = @JoinFormula(value = "primary_category_id", referencedColumnName = "category_id"))
    })
    private Category primaryCategory;

    @Column(name = "primary_category_id")
    private Long primaryCategoryId;

    @ManyToOne
    @JoinColumnsOrFormulas({
            @JoinColumnOrFormula(formula = @JoinFormula(value = "site", …
Run Code Online (Sandbox Code Playgroud)

java postgresql hibernate eager many-to-one

9
推荐指数
1
解决办法
1045
查看次数

Zend Framework 2形成了,它们是否消除了装饰模式?

我正在学习ZF2,是否有可能ZF1中的Form装饰器模式已被删除?

我是否正确编写自己的视图助手,装饰我的表单?

php zend-form zend-framework2

5
推荐指数
1
解决办法
2123
查看次数