powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Нужен совет по архитектуре хранилища данных
25 сообщений из 32, страница 1 из 2
Нужен совет по архитектуре хранилища данных
    #36558945
Алексей Тихоновский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трям,народ.

Раздумываю над архитектурой системы. Суть задачи: необходимо создать хранилище отчетности. Отчетность имеет некоторую структуру данных и формы ввода-вывода (ввода - для ввода данных, вывод - что то типа печатных форм, для просмотра). Главная проблема - периодически структура данных и, соответственно, формы меняются. Вопрос в том - как это все хранить? Необходимо при просмотре показывать данные в соответствующем просматриваемому времени формате.
Небольшой пример. Была таблица со списком сотрудников (фио, должность, возраст, сумма ЗП). Вводилось и показывалось все в соответствующем формате. Потом решили каждому сотруднику дать пачку акций предприятия. Соответственно, в формы (и в структуру данных) добавилась табличная часть - список акций для каждого сотрудника. Надо что бы при просмотре отчетов до указанного изменения выводилось только список персонала, а после указанного - добавлялась еще часть с акциями.
Так же важный аспект - копирование данных прошлого периода в новый. Так как отчеты объемные, а изменения зачастую небольшие, многие пользователи хотят иметь возможность скопировать данные из одного из прошлых отчетов и поменять пару-тройку значений.

Пока имею в уме 2 варианта.
1-й.
храню все данные в одной структуре таблиц. При добавлении типов данных - структура дополняется. При удалении некоторых частей данных - структура не изменяется, просто отсутствующие поля в таблицах остаются нуллами. Дополнительно имею служебную структуру данных, которая описывает текущее представление данных + набор форм. Видится что то типа представлений, данными из/в которых заполняются формы.
Какие видятся плюсы: все данные в одной структуре, достаточно легко скопировать данные прошлых периодов в текущие (если в отчете изменилось лишь пара цифр - не надо набирать все заново).
Какие видятся минусы: разрастание таблиц с пустыми столбцами (особенно при удалении из дальнейших отчетов каких либо данных). Да и просто как то не сильно красиво...

2-й.
После каждого изменения копирую всю структуру данных и формы ввода/вывода, вношу изменения. При просмотре - смотрю по дате, в какую копию лезть - там все есть.
Какой видится минус - сложность копирования прошлых данных в текущий отчет (для каждой вновь создаваемой копии надо делать все большее количество интерфейсов к прошлым периодам).
Плюсы - структура данных великолепно подходит к формам, нет пустых полей (наследия старого)..

Вот, собно, такие пока идеи. Кто может подсказать другие пути?
Спасибо!

---------------------------------------------------
Я не волшебник, я только учусь....
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559062
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Тихоновский
Суть задачи: необходимо создать хранилище отчетности
это не хранилище отчётности.
Сначала классифицируй ИС и посмотри аналоги
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559109
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здесь аналогов не будет. Это из серии "что вижу, то и пою". Создавали в экселе новые файлы, данные копировали... значит и в БД нужно это повторить.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559155
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совет ТС по теме. Начни с изучения классиков. Например:
Брайан Ларсон. "Разработка бизнес-аналитики в MS SQL Server 2005". Питер. 2008.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559182
Алексей Тихоновский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как бы тут вопрос не в терминологии. Задача только поставлена (в общем) и пока просто смотрю на нее с разных сторон. Главная проблема, лично мне видящаяся - это изменяющаяся структура данных для разных периодов. Вот по этому на форуме и прошу помощи - кто подскажет идеи, как это правильно хранить. А пока, сорри, ответы из разряда "стань таким же умным, как я- потом спрашивай"...
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559197
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Главная проблема, лично мне видящаяся - это изменяющаяся структура данных для разных периодов.

Проблема решается путем поддержки темпоральности данных + декомпозицией структуры данных таким образом, чтобы последующие изменения были связаны только с добавлением элементов модели + стандартные методы организации хранилища.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559200
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Тихоновскийкак бы тут вопрос не в терминологии. Задача только поставлена (в общем) и пока просто смотрю на нее с разных сторон. Главная проблема, лично мне видящаяся - это изменяющаяся структура данных для разных периодов. Вот по этому на форуме и прошу помощи - кто подскажет идеи, как это правильно хранить.
Вы проблему обрисуйте более четко. Пока напрашивается простое хранение файлов, определенной для периода структуры, в БД (в формате XML или бинарном уже второй вопрос). Требуется ли получение данных за несколько периодов, сводный отчет?
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559202
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> значит и в БД нужно это повторить.

Если есть прототип, это 80% решения.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559208
Алексей Тихоновский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmВы проблему обрисуйте более четко. Пока напрашивается простое хранение файлов, определенной для периода структуры, в БД (в формате XML или бинарном уже второй вопрос). Требуется ли получение данных за несколько периодов, сводный отчет?
нет, на данный момент не требуется выборки данных из разных периодов.
Фактически вопрос в правильной реализации хранения полуструктурированных данных. Исходя из различных обсуждений народ использует либо много таблиц, либо одну общую с пустыми столбцами.
Почему задаю вопрос здесь - с такими данными еще не сталкивался. Нет криетриев для оценки вариантов...
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559213
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Фактически вопрос в правильной реализации хранения полуструктурированных данных.

Это неправильная постановка задачи. Если у вас есть РСУБД, то задача формулируется как параллельная поддержка нескольких моделей. Если настаиваете на приведенной формулировке - откажитесь от РСУБД и храните данные другим образом.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559233
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Алексей Тихоновский, 03.04.2010, 00:14 [8574423]
>Раздумываю над архитектурой системы...

Посмотри на архитектуру хранения данных (документов) в 1С v77 (отправная точка). Не программную реализацию, а именно идею хранения объектов данных в реляционных структурах.

С уважением, Владимир.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559282
Vika Vinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Проблема решается путем поддержки темпоральности данных + декомпозицией структуры данных таким образом, чтобы последующие изменения были связаны только с добавлением элементов модели + стандартные методы организации хранилища.
Неправда Ваша, уважаемый. Не работают на хранилищах никакие законы - один закон есть - сто двадцать раз спроси чего хочет бизнес. Представь и так и этак, никогда не делай ничего наперед. Покажи, исправь, опять покажи, опять исправь - пока не будет 100 % удовлетворения... нарушай все существующие законы... И тогда - точно получится
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559295
Vika Vinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Тихоновский Кто может подсказать другие пути?
Коллега, не надо спрашивать инженеров КАК делать хранилище. Спросите тех кто будет им пользоваться - ЧТО ИМ НАДО? Какие отчеты и выборки будут нужны и главное ЗАЧЕМ именно эти - а не другие. Начните с простого - соберите все существующие отчеты и категоризируйте их.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559388
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Неправда Ваша, уважаемый.

У меня нет желания обсуждать пробелы в ваших знаниях.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559399
Vika Vinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я к этому пришла не сама ... Много много раз попадала впросак когда "шла по пути логических рассуждений" А потом мне подсказали. Практически слово в слово то что перевела Вам я тут... Нет в хранилищах такого пути. вернее есть - много путей и как выяснилось логический - не самый короткий и уж точно не самый правильный. Извините меня за такие "незнания"
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559685
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересная концепция, по-моему, подходящая для ТС реализована в MongoDB и CouchDB.
Правда, есть вопросы к надежности.

Если смотреть в сторону RDBMS, то видится тэговая структура: типы тэгов + собственно тэги.

Например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
table TagType {
    int ID;                
    string Name;        // friendly-наименование
    string Symb;        // символ для динамической привязки (например, в формулах)
    int ValType;        // Тип значения 
};

table Tag {
    int ID;                // ИД значения
    int TypeID;         // -->TagType.ID
    oid ObjID;           // ИД объекта которому принадлежит тэг
    timestamp Dtm;   // Момент начала актуальности значения
    //
    // далее следуют типизированные варианты значений
    // определяется полем TagType(TypeID).ValType
    //
    int64 IVal;
    real   RVal;
    timestamp TVal;
    string SVal;
};


Основные вопросы - в технике привязки тэгов к документам (уникальность, скорость извлечения и т.д.) и их отношения с представлением объектов реального мира (персоналии, ценные бумаги, география и т.д.), а так же друг с другом.

PS. Не воспринимайте приведенные структуры слишком серьезно: что-то подобное практикуется, но данный вариант - просто набросок.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559835
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> CouchDB

Сталкивались реально? Есть мнение?
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559841
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет не работал. Идея показалась привлекательной - примериваюсь.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559853
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> примериваюсь.

У меня тоже руки никак не дойдут. Вроде уже и релиз 1.0 на подходе, так что пора, видимо: opennet.ru/opennews/art.shtml?num=26023
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559880
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sobolevНет не работал. Идея показалась привлекательной - примериваюсь.
поздравляю, вы только что изобрели велосипед - EAV
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559897
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123sobolevНет не работал. Идея показалась привлекательной - примериваюсь.
поздравляю, вы только что изобрели велосипед - EAV
???
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559970
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sobolev,
Код: plaintext
    int ValType;        // Тип значения 
разве не напоминает 3 таблицы E A V (сущность, атрибуты, значения атрибутов)?
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559974
Vika Vinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
Петенька - Вы уже причастились сегодня? Или всего лишь разговелись ...
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559979
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Женщины иногда много понятливее мужчин.
...
Рейтинг: 0 / 0
Нужен совет по архитектуре хранилища данных
    #36559983
Vika Vinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sobolevЖенщины иногда много понятливее мужчин.
Ваша шутка про Иногда мне очень понравилась Коллега
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Нужен совет по архитектуре хранилища данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]