提问之前先说一下需求,需要设计一套可自由扩展字段的系统。现在使用的方法就是。
有不同模块和方案时就新建一个扩展表,用来存放新模块的字段。
但是开发中发现扩展表越来越大,已经有几十个了,有时都分不清谁是谁了。
现在有一个想法,但还没有实现,先给大伙说一下,看看是否可行。
例如:
A表: 做数据存放表 里面字段会是 int 类型 10个 int_1 到 int_10
string 数据 10个 str_1 到 str_10。tyint 类型 10 个 tyint_1 到 tyint_10 。
B表: 做关系映射表 管理真实字段和A表 int_* str_* 之类字段的映射关系。并把关系存入内存。
代码业务层:重新定义一套 增删改查 来修改查询 A表里面的数据。
理论上是可以行得通,可以给用户自定义增加字段和关系查询。
但是没有想到这样使用后会出现什么样不可遇期的问题?寻求系统设计方面在行的前辈指点下。
上Mongo