Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.02.2020, 17:19
|
|||
---|---|---|---|
|
|||
Вопрос по схеме данных |
|||
#18+
Мы только планируем схему данных. База будет реализовываться в PostgreSQL. Очень заманчиво предусмотреть две сущности: "базовая сущность" для хранения журнала изменений конкретной записи и "оборудование", в которой будут хранится атрибуты характеризующие любое оборудование. От сущности "Оборудование" наследуют ключ такие виды оборудования как скаут, контроллеры и другие (не приведенные на данной схеме). При этом все действия с любым оборудованием, например, такие как установка и замена, привязываются не к каждому виду оборудования по отдельности, а именно к родительской сущности "Оборудование". Возник следующий вопрос: насколько я поняла в PostgreSQL использование наследования таблиц не до конца реализовано, и его применить для данной задачи не очень получится. Объем данных предполагается большим (>1000000 записей). Насколько быстро будут работать join-ы при такой иерархической структуре на больших объемах данных? Или стоит провести денормализацию и такие поля как серийный номер и т.д. добавить в каждый вид оборудования ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.02.2020, 18:18
|
|||
---|---|---|---|
Вопрос по схеме данных |
|||
#18+
rosat в PostgreSQL использование наследования таблиц не до конца реализовано в PostgreSQL всё замечательно с этим. Проблема может быть только в программистах ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.02.2020, 15:14
|
|||
---|---|---|---|
|
|||
Вопрос по схеме данных |
|||
#18+
Спасибо, буду разбираться. Но главный для меня вопрос: ключ секционированной таблицы может быть внешним ключом в другой таблице. Т.е. Если я партицирую таблицу Оборудования, смогу я ключ id_equipment использовать как внешний в таблицах Место установки и Замена оборудования и других. Интересует версия Postgresqi 10.4, так как она имеет сертификат ФСТЭК и у нас будет стоять именно она ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.02.2020, 08:50
|
|||
---|---|---|---|
Вопрос по схеме данных |
|||
#18+
rosat Спасибо, буду разбираться. Но главный для меня вопрос: ключ секционированной таблицы может быть внешним ключом в другой таблице. Т.е. Если я партицирую таблицу Оборудования, смогу я ключ id_equipment использовать как внешний в таблицах Место установки и Замена оборудования и других. Интересует версия Postgresqi 10.4, так как она имеет сертификат ФСТЭК и у нас будет стоять именно она Напрямую только c PostgreSQL >= 12, для 10.4 можно реализовать через собственные триггеры или через дополнительную не секционированную таблицу содержащую только первичный ключ секционированной таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.02.2020, 22:54
|
|||
---|---|---|---|
|
|||
Вопрос по схеме данных |
|||
#18+
Похоже на event-based data model. В PPDM была похожая идея, да и не только там. Но сейчас ваша модель неработоспособна, или я не понимаю, чего вы хотите получить на выходе. Обычно подобное делают тогда, когда хотят видеть на каждый момент времени где что стоит, и в каком состоянии, а также отследить историю изменений в каждой точке установки. Найдите человека, у которого в резюме написано что-то типа data arсhitect или, возможно, database architect, и дайте ему контракт на проектирование базы. Тут работы по времени немного, но если накосячить в самом начале, то потом проблем не оберёшься. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.02.2020, 15:05
|
|||
---|---|---|---|
|
|||
Вопрос по схеме данных |
|||
#18+
Sergei.Agalakov, Это маленький кусочек большой базы. Вы правы: хочется хранить и текущее оборудование и то, что с ним происходило ранее. Я занимаюсь проектированием баз давно (правда в основном использовала СУБД Firebird). Но под postgresPro это мой первый проект. Узнала о возможностях наследования \ секционировании таблиц. Вот и возник вопрос как эту особенность можно применить к данной базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.02.2020, 22:06
|
|||
---|---|---|---|
|
|||
Вопрос по схеме данных |
|||
#18+
Я бы не связывался с наследованием. И несколько миллионов записей можно легко поддерживать без секционирования. Я бы сделал без выпендрежа и добавлял секционирование и прочее только если реально надо, в версии 2 или 3. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=1994797]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 142ms |
0 / 0 |