Отношение внешнего ключа в таблицах в распределенной конфигурации - PullRequest
0 голосов
/ 28 сентября 2010
  • Схемы одинаковы на всех серверах.

  • Данные соответствующего сервера не должны быть на другом

    но есть некоторые отношения, имеющие внешние ключи к данным, которых нет на текущем сервере

    в настоящее время невозможно реализовать ограничения внешнего ключа на серверах

    "then how is it handled in a distributed database architecture!? (there are foreign keys!!)"
    

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

как связать внешний ключ для физически распределенных данных?

танки

1 Ответ

1 голос
/ 28 сентября 2010

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

Помимо этого, это звучит какВаш дизайн имеет недостатки.Попытка использовать базу данных таким способом не сработает.Я бы предложил сделать шаг назад и посмотреть, сможете ли вы изменить свой дизайн для использования репликации или шардинга.

Очень трудно делать дополнительные предложения, не понимая больше проблемной области.Однако, в зависимости от вашей проблемной области, вы можете захотеть выйти за рамки реляционных баз данных - для начала посмотрите статью NoSQL в Википедии .

...