Question

I am working on an asset management application for a data center where I am employed. I am still in planning but one issue that has been weighing heavily is: A server rack is 42U(1U per server/device minimum, some devices are more Us). I am designing my classes for servers, drives/peripherals and racks.

1 Rack can hold a max of 42 devices, a server can have multiple drives. I can handle the drives I think, but is there a way when designing a class that I can say "No more than 42 devices per rack, no more than 1 device per U?

I have looked at an enum field, and having a method to adjust that field each time a device is placed or removed from a rack. This seems like it could become very hard to maintain as time moves forward.

Ideally this would be limited client/code side unless a stored procedure has some ability to do this.

I am still deciding what DB server to use. I am open to any that better suits the needs. Postgre has the CIDR type which would allow some handy operations on IP blocks. db4o is very attractive for the ability to just store my C# objects. MySQL is attractive due to it's presence elsewhere in our operation.

Any help is appreciated. If this does not fit the Q&A format, can you direct me to a more appropriate place to ask this?

Was it helpful?

Solution

I'm not sure what you question is so I'm not sure if this is an answer, but reading your question I felt like you did not believe in your own design.

Let me explain. You say you are going to have classes for servers, drives and racks.

Great that is your design, now move on from there. What are the requirements which those classes have to fill?

Instead you seem to be jumping to use-cases and thinking it is going to be hard. Don't go to that detail yet... fill out the classes with broad strokes and then look at the details.

You seem to be jumping to small details without having the basics down yet. OR if you do have those basics then you should have posted them with the question so we can give you an answer.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top