如何有效地保存和存储大量生成的对象?

时间:2018-07-24 21:26:46

标签: database storage

背景

有一棵对象树:

enter image description here

网页提供了用于创建TypeA对象的表单。填写表单时,用户还选择应生成TypeB个对象并将其附加到父TypeA对象。对于TypeC的对象也是如此。

例如,用户创建一个公司(TypeA对象),选择创建100个员工(typeB对象)在其中工作,每个员工都有一个 unique 技能(TypeC对象)。

问题

创建TypeA对象时,会生成许多TypeB对象。该数字可以是1到100000。每个TypeC对象也有1到25 TypeB个对象。添加单个TypeA对象后,数十万条记录可以添加到数据库中,而系统中还有其他用户可以创建数千个自己的TypeA对象。

问题

如何有效地存储和检索此类数据?

我考虑的解决方案

  1. 将每个对象存储在数据库中。 优势:易于访问和 代码维护。 缺点:数据库表已满 不久,在数据库存储上的巨额支出。

  2. 仅将TypeA个对象存储在数据库中。 TypeB对象及其子对象的集合存储为JSON字符串。 优势: 数据库中的记录更少。 缺点:JSON解析时间和问题 TypeBTypeC更改时。

  3. 将每个对象存储在数据库中,但是与 solution#1 相反,它仅存储签名(算法)以生成以下内容的集合 TypeB个对象。 优点:数据库中的记录更少,问题更少 模型更改时。 缺点:增加对象的CPU使用率 生成并查询生成的集合。

0 个答案:

没有答案