dragon.data.ddict.ddict

The Distributed Dictionary is a performant and distributed key-value store that is available to applications and workflows written for the Dragon ecosystem.

This is Dragon’s specialized implementation based on the Dragon file-like interface which relies on Dragon Channels. The Distributed Dictionary works like a standard Python dictionary except that the data that it holds may span multiple nodes and be larger than any one node can hold.

The internals of the distributed dictionary rely on several processes include a single orchestrator process and one or more manager processes. Each client attaches to managers on an as-needed basis. Clients discover managers by attaching to the serialized descriptor of a Distributed Dictionary. When using a Distributed Dictionary in Python, the dictionary will be automitically pickled/serialized and sent to new processes in the same way a Queue or other objects can be passed as parameters in multiprocessing.

While the Distributed Dictionary does its best to evenly distributed data across all managers, a localized wrapper class can be used to direct key/value pairs to user chosen managers. See the Distributed Dictionary documentation for more details.

Classes

DDict

PickleReadAdapter

PickleWriteAdapter

Exceptions

DDictError

DDictManagerFull

DDictTimeoutError

exception DDictError
exception DDictManagerFull
exception DDictTimeoutError