The Design of a NoSQL Binary Database for Maintaining Histories of Power Quality Events

Dave Madole
Power Standards Laboratories

May 10, 2013


A smart grid must have memory, and among its most important memories are "events". Events are things like interruptions, sags, swells, spikes: a post-mortem of a grid failure, for instance, will (one hopes) have some recorded events to refer to. Different types of events have different schemas, which must be partially enforceable. Events are described by referring to "channels", which will have separate schema. Channels will usually contain references to binary data, such as RMS readings or a recording of the voltage across the phase of a transformer. The context (schema) of a channel may be quite complex and dependent itself on the type of event. Because of the imprecise schemas, number of "classes" of events, and heavy binary component of the data, MongoDB seems like a good fit for a repository. Referring to my recent experience programming the event processing code of a power quality measuring device and code for the data interchange file, I will outline the design and some implementation tradeoffs involved in developing such a repository.