Гость
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Почему используют БД без FK? / 25 сообщений из 1 100, страница 1 из 44
23.01.2018, 14:36
    #39589160
maslinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
в чем преимущества использования БД без FK?
повышается производительность?
...
Рейтинг: 0 / 0
23.01.2018, 15:00
    #39589189
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Повышается занятость. Эникейщик, спроектировавший такую базу, чувствует себя важным
человеком, разгребая бесконечный поток косяков с данными и уверен в своём будущем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.01.2018, 15:01
    #39589191
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
maslinka,

Отказ от целостности данных. ;-)
...
Рейтинг: 0 / 0
23.01.2018, 15:16
    #39589206
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
maslinkaв чем преимущества использования БД без FK?
повышается производительность?А почему сразу преимущество?
Может это микросервис какой и связь тупо не с чем устанавливать.
...
Рейтинг: 0 / 0
23.01.2018, 15:27
    #39589223
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
maslinkaв чем преимущества использования БД без FK?
повышается производительность?Плотно поработай с данными (объемные импорты/переливки) - узнаешь. :)
...
Рейтинг: 0 / 0
23.01.2018, 15:29
    #39589228
maslinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
LSVmaslinkaв чем преимущества использования БД без FK?
повышается производительность?Плотно поработай с данными (объемные импорты/переливки) - узнаешь. :)
работаю. говорят типа производительность системы выше такой.
вот пытаюсь понять зачем так спроектировали.
...
Рейтинг: 0 / 0
23.01.2018, 15:36
    #39589242
Serguei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
maslinkaв чем преимущества использования БД без FK?
повышается производительность?

Как то я спросил у архитектора одной серьезной системы - почему без FK делают.
Ответ был: чтобы враги не смогли разобраться, а мы мол и так знаем. При этом ни в каком case средстве структура не проектировалась.
Ну и вторую причину назвал производительность, но при этом никто не задумывался над оптимальностью структуры БД.

ИМХО: что то что другое сомнительно. Враги, если надо разберутся, а производительность врядли увеличится.
Зато гемор с целостностью данных- этим вопросом приходится заниматься на уровне сервера приложений, а это доп расходы.
Ну и новичкам в курс дела войти очень сложно без FK.
...
Рейтинг: 0 / 0
23.01.2018, 15:53
    #39589272
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
maslinkaв чем преимущества использования БД без FK?
повышается производительность?
Теоретически - повышается, и это даже можно замерить на соответствующем стенде.
Практически, на живой реальной системе в реальных бизнес-операциях получить таким образом прирост хотя бы в 1% - мне представляется сомнительным.
...
Рейтинг: 0 / 0
23.01.2018, 16:49
    #39589339
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Теоретически - повышается, и это даже можно замерить на соответствующем стенде.И практически тоже.
Ибо каждая вставка должна проверить себя в другой таблице, допустимо ли такое значение. На больших таблицах становится заметно.

сабж уже неск. раз плотно обсуждали.
...
Рейтинг: 0 / 0
23.01.2018, 16:53
    #39589344
Alex_496
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
ну потому что у некоторых Agile на всю голову, включая головы сверху, и некогда заниматься всякими там FK и Case Tools
...
Рейтинг: 0 / 0
23.01.2018, 17:10
    #39589364
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
LSVТеоретически - повышается, и это даже можно замерить на соответствующем стенде.И практически тоже.
Ибо каждая вставка должна проверить себя в другой таблице, допустимо ли такое значение.

Эти соображения как раз из разряда "теоретически" :) А "практически" - это, к примеру, "мы снесли в своей готовой системе все ФК и тут же получили легко заметный выигрыш в N%". Как я уже сказал, мне этот сценарий представляется сомнительным.
...
Рейтинг: 0 / 0
23.01.2018, 18:31
    #39589432
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Кот МатроскинLSVпропущено...
И практически тоже.
Ибо каждая вставка должна проверить себя в другой таблице, допустимо ли такое значение.
Эти соображения как раз из разряда "теоретически" :) А "практически" - это, к примеру, "мы снесли в своей готовой системе все ФК и тут же получили легко заметный выигрыш в N%". Как я уже сказал, мне этот сценарий представляется сомнительным.Лично я сталкивался с заметными на глаз тормозами. Не катастрофа, но хорошо заметно на слабых серверах/десктопах.
...
Рейтинг: 0 / 0
23.01.2018, 18:37
    #39589438
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
В Оракл OEBS FK не было.

- ссылочная целостность - которые они обеспечивают - только малая часть целостности данных с точки зрения всего бизнес - процесса.
...
Рейтинг: 0 / 0
23.01.2018, 20:42
    #39589533
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Vladimir BaskakovВ Оракл OEBS FK не было.

- ссылочная целостность - которые они обеспечивают - только малая часть целостности данных с точки зрения всего бизнес - процесса.Это, конечно, так. Но программно эмулировать внешние да и первичные физические ключи этож ппц как люто, особенно в многопользовательском режиме. Даже, я бы сказал, не возможно.
...
Рейтинг: 0 / 0
23.01.2018, 20:52
    #39589535
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Обойти все уровни изоляций и добраться до сырых данных конкурентных сессий, да еще на формсах как OEBS - не представляю! Я немного знаком с OEBS, там на каждый клик делался job и оператор ставился в очередь на выполнение, ну и Оракел там сам, как-то разруливал. Практически работа пользователей сериализовалась в очередь. Прикольно, чо.
...
Рейтинг: 0 / 0
23.01.2018, 21:20
    #39589543
Alex_496
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
FK можно декларативно обозначить. Но это надо потрудиться и время и понимание какую ценность дает.
...
Рейтинг: 0 / 0
23.01.2018, 22:57
    #39589587
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Кот МатроскинЭти соображения как раз из разряда "теоретически" :) А "практически" - это, к примеру, "мы снесли в своей готовой системе все ФК и тут же получили легко заметный выигрыш в N%". Как я уже сказал, мне этот сценарий представляется сомнительным.

Это было давно, когда я занимался массовыми загрузками в Оракл, но помню, что выигрыш получался в разы. Собственно, и документация это прямо советует:

Oracle Database Administrator's Guide - Managing Schema Objects - Managing Integrity ConstraintsTo enforce the rules defined by integrity constraints, the constraints should always be enabled. However, consider temporarily disabling the integrity constraints of a table for the following performance reasons:

When loading large amounts of data into a table

When performing batch operations that make massive changes to a table (for example, changing every employee's number by adding 1000 to the existing number)

When importing or exporting one table at a time

In all three cases, temporarily disabling integrity constraints can improve the performance of the operation, especially in data warehouse configurations.
...
Рейтинг: 0 / 0
23.01.2018, 23:08
    #39589593
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
авторIn all three cases, temporarily disabling integrity constraints can improve the performance of the operation, especially in data warehouse configurations.

Ну дак сам Оракел написал, что может, а не будет. Если все будет выполняться в один поток, выиграш может быть символический, даже если это и массовые загрузки.
...
Рейтинг: 0 / 0
23.01.2018, 23:09
    #39589595
Бредятина
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
maslinkaв чем преимущества использования БД без FK?
повышается производительность?
В БД даже теоретически нет никаких FK. Вы находитесь в разделе "Проектирование БД", а вопрос задаете про "Проектирование реляционных БД". Я просто поправлю Ваш вопрос:
"В чем преимущества использования реляционной БД без FK?".
...
Рейтинг: 0 / 0
23.01.2018, 23:25
    #39589607
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Cane Cat FisherКот МатроскинЭти соображения как раз из разряда "теоретически" :) А "практически" - это, к примеру, "мы снесли в своей готовой системе все ФК и тут же получили легко заметный выигрыш в N%". Как я уже сказал, мне этот сценарий представляется сомнительным.

Это было давно, когда я занимался массовыми загрузками в Оракл, но помню, что выигрыш получался в разы.

Выигрыш между чем и чем?
Я призываю еще раз прочитать мое первое сообщение в теме - да, можно зафиксировать возрастание скорости отдельного bulk insert'а. Проблема в том что скорость отдельного bulk insert'а в реальности мало кому интересна, а скорость процесса "ETL из системы А в систему Б" от отсутствия FK в системе Б вырастет, ээ, вряд ли сильно, поскольку оный процесс включает в себя не только (обычно далеко не только) bulk insert.
...
Рейтинг: 0 / 0
23.01.2018, 23:47
    #39589610
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
И да, мне почему-то кажется что ТС-а интересовали не хранилища, поэтому рекомендации про хранилища не то чтобы очень релевантны теме.
...
Рейтинг: 0 / 0
24.01.2018, 07:09
    #39589650
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Ссылочная целостность базы - с чего ей нарушаться если за каждое действие в системе отвечает специально назначенная для этого процедура? Обеспечивающая кроме формальной- ссылочной еще и смысловую, логическую целостность бизнес-данных, и плюс к тому всякое логирование- кто что зачем творил в базе?

В чем тогда плюсы от fk?
...
Рейтинг: 0 / 0
24.01.2018, 07:29
    #39589654
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
LSVТеоретически - повышается, и это даже можно замерить на соответствующем стенде.И практически тоже.
Ибо каждая вставка должна проверить себя в другой таблице, допустимо ли такое значение. На больших таблицах становится заметно.

сабж уже неск. раз плотно обсуждали.

Не ну как. Допустим вставляют проводку и она (вставка проводки) вся такая сомневается - а есть ли номера счетов, по которой меня проводят?

Теоретически - да но практически - если ее проводят, то счета уже есть. А проверять надо, что они не заблокированы по решению прокуратуры((.

Если там проставляется номер оператора, то он есть - или в той же базе или в соседней. ну если конечно в отделение не проник хакер и не подставляет липовый номер, которого в базе нет.

А индексы - они жрут место и время. Если данных много.
...
Рейтинг: 0 / 0
24.01.2018, 12:28
    #39589906
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Vladimir BaskakovНе ну как. Допустим вставляют проводку и она (вставка проводки) вся такая сомневается - а есть ли номера счетов, по которой меня проводят?

Теоретически - да но практически - если ее проводят, то счета уже есть.

Да нет, это теоретически они есть. А практически их администратор удалил по ошибке. Мышей промазал и не заметил.
...
Рейтинг: 0 / 0
24.01.2018, 12:45
    #39589930
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему используют БД без FK?
Cane Cat FisherДа нет, это теоретически они есть. А практически их администратор удалил по ошибке. Мышей промазал и не заметил.И оно конечно дало ему удалить, хотя это не по правилам... :)

па сабжу: использование ФК крайне недостаточно.
Нужны проверки бизнес-правил.
Если все проверки есть, то ФК просто не нужны.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Почему используют БД без FK? / 25 сообщений из 1 100, страница 1 из 44
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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