,
Московский инженерно-физический институт (государственный университет)
СЕТЕВАЯ СУБД ДЛЯ УЧЕТА ДВИЖЕНИЯ ПРОДУКЦИИ
В МАСШТАБАХ ХОЛДИНГОВОЙ СТРУКТУРЫ
Разработанная на кафедре системного анализа, сетевая СУБД позволяет извлекать информацию о движении продукции из реляционного хранилища, связывать первичные документы по алгоритму FIFO и определять путь каждого отдельно взятого экземпляра продукции от его производства или закупки холдингом до реализации конечному потребителю.
В подавляющем большинстве решений по автоматизации документооборота в коммерческих структурах информация о движении продукции хранится в реляционной модели.
Эта модель ориентирована на работу с множествами и эффективна не для всех задач. Классическим видом задач, с которыми реляционные инструменты справляются традиционно неэффективно, являются задачи обработки сетевых структур данных (графов). Это связано с рекуррентной природой вычислений, которые производятся при анализе связей между вершинами. Когда речь идет о сетях гигантских размеров, производительность реляционных баз данных падает до неприемлемого уровня. Это касается как процедур построения графа, так и дальнейшего анализа. Именно структурами с сетевой природой оперируют задачи учета распространения продукции в торгово-производственных предприятиях. В случае если размеры бизнеса компании имеют достаточно большие размеры, производительность реляционных баз данных оказывается недостаточной.
На кафедре системного анализа был разработан движок сетевой базы данных, являющийся дополнением к распространенной РСУБД Microsoft SQL Server 2005. Приложение позволяет извлечь из реляционной базы данных первичные документы, свидетельствующие о поступлении продукции в коммерческую структуру, движении продукции между различными юридическими лицами, входящими в холдинг, а также её выходе из структуры (реализации конечному потребителю, возврат товара поставщику и т. п.). На базе извлеченных данных, согласно принятым в Российской Федерации нормам бухгалтерского учета, приложение устанавливает связь между документами (например, по методу FIFO). Получаемый в результате построения этих связей граф представляет собой сеть распространения каждого отдельного взятого экземпляра в системе, начиная от его попадания в систему, и заканчивая его выходом. Приложение хранит сетевую модель в собственном представлении в специальном файле. Разработан ряд хранимых процедур для SQL Server, позволяющих обратиться к этому файлу и получить различную учетную информацию о продукции, (например, определить, из какой изначальной закупки у поставщика был реализован конкретный экземпляр в фирменной розничной сети, что позволяет точно рассчитать стоимость, которую следует перевести поставщику за реализацию).
Разработанное приложение использует специальные методики для ускорения обработки графа:
-организация быстрого поиска идентификатора запрашиваемой вершины методом дихотомии;
- поддержка работы с множеством вершин. Общее время анализа множества вершин значительно меньше, чем суммарное время анализа каждой вершины в отдельности;
- применение индекса в сетевой структуре и его использование вместо рекуррентного движения по графу в ситуациях, где это оправдано.
В настоящий момент приложение проходит апробацию в книжном издательстве АСТ.
Список литературы
1. , Симдянов Mу SQL 5 . – СПб.: БХВ-Петербург, 20с.:ил.
2. , Delphi 2005 для.Net . – СПб.: БХВ-Петербург, 20с.:ил.
3. , Сфер Чак С# 2005.: Пер. с англ.- М.: ООО ””, 2006. – 576с. : ил. – Парал. Тит. Англ.


