Bài viết phổ biến của tác giả
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
<分区>
分区>
我正在考虑编写一个 Django 应用程序来帮助记录相当小的 IT 环境。由于每台设备的属性数量可能会有所不同,即使是同一类型的设备,我也无法更好地建模数据。例如,SAN 将具有 1 个或多个阵列,以及 1 个或多个卷。然后,阵列将具有名称、RAID 级别、大小、磁盘数量属性,而卷将具有大小和名称属性。不同的 SAN 将具有不同数量的阵列和卷。
服务器也是如此,每个服务器可能有不同数量的磁盘/分区,所有这些都将具有大小、已用空间等属性,并且这会因服务器而异。
另一种设备类型可能是交换机,它不会有阵列或卷,但会有许多网络端口,其中一些可能是千兆位,其他的可能是 10/100,其他的可能是 10Gigabit,等等。
此外,我希望将来能够在不更改模型的情况下添加设备类型。一种新的设备类型可能是电话系统,它将具有自己独特的属性,这些属性可能因不同的电话系统而异。
我研究过 EAV 数据库设计,但它似乎很快变得非常复杂,我不清楚这是否是解决此问题的最佳方法。如图所示,我正在考虑沿着模型的方向思考一些事情。
http://i.stack.imgur.com/ZMnNl.jpg
一个好处是能够在特定时间创建环境的“快照”,从而可以查看环境随时间的变化。在属性表中添加日期列可能是解决此问题的一种方法。
郑重声明,此应用不需要扩展太多(最多 1000 台设备),因此大规模的可扩展性不是大问题。
Tôi là một lập trình viên xuất sắc, rất giỏi!