小编don*_*now的帖子

动态表单构建器的数据库架构

我知道已经有类似问题的答案,但我认为答案不够强,所以我会问我自己的具体问题。

  • 假设:动态表单构建器,用户可以创建具有未知结构的表单。

  • 解决方案:表单提交,数据会存储在2个表结构中:

    1. FormSubmissionHeader 表,将存储有关提交的一些基本数据(formid、userid、datetime 等)
    2. FormSubmissionFieldsData(FormSubmissionHeaderID ,FIELDID,FIELDVALUE)

我对这个解决方案的问题是大量使用:
假设我有 100 万用户,
每个用户将有 3 个表单,
每个表单将有 10 个字段
,每个表单每天有 5 个提交。

因此 FormSubmissionHeader 将每天增长 100 万 X3X5 = 每天 1500 万行。

和 FormSubmissionFieldsData 将增长 15X10(每日提交数,字段数的两倍),即每天 1.5 亿行。

所以基于这个解决方案:

我不知道它会如何运作。

我看到两种选择:

  1. 使用 MONGODB 存储提交的标题和数据(无 SQL)

  2. 为每个表单动态创建表,并将数据直接存储在每个字段的相关数据类型中。

这是我看到的类似问题..

Wufoo 的数据库架构 - 你会如何设计它?

我想知道你们对此有何看法,或者您能提出其他建议吗?

database schema database-design dynamic nosql

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

标签 统计

database ×1

database-design ×1

dynamic ×1

nosql ×1

schema ×1