в postgresql разделы или несколько баз данных более эффективны?

есть приложение, в котором многие компании размещают информацию. данные от каждой компании содержатся сами по себе - данные не пересекаются.

с точки зрения производительности, лучше ли:

  • хранить ID компании в каждой строке каждой таблицы и использовать его в каждом индексе?
  • разделить каждую таблицу в соответствии с ID компании
  • разделить и создать пользователя для доступа к каждой компании для обеспечения безопасности
  • создать несколько баз данных, по одной для каждой компании

веб-приложение с постоянными соединениями.

мои мысли:

  • новые соединения pg стоят дорого, поэтому одна база данных создает меньше новых соединений
  • наличие только одной копии словаря кажется более эффективным, чем 200 или около того
  • несколько баз данных, безусловно, более безопасны для ошибок программистов
  • если спецификации приложения должны измениться так, чтобы компании делились, несколько баз данных будет трудно реализовать
  • разделение баз данных на две и более
  • будет трудно реализовать
6
задан cc young 8 December 2011 в 14:51
поделиться