Здравствуйте, MaximVK, Вы писали:
MVK>Здравствуйте, Flier, Вы писали:
MVK>Двигайтесь от простого к сложному. Чем меньше правил нужно соблюдать для реализациии некоторого аспекта проекта — тем проще. Ваш аспект — хранение информации пользователя. Сравните правила двух подходов:
MVK>1. Вся информация пользователя храниться на сервере.
и1. Информация пользователя бывает двух видов: актуальная для других пользователей и неактуальная для других пользователей.
MVK>2. Актуальная информация храниться на сервере.
MVK>3. Неактуальная информация храниться на клиенте.
MVK>С случае второго подхода нужно будет искать ответы на следующие вопросы:
MVK>1. Что делать, если информация которая была неактуальной вдруг станет актуальной и наоборот?
MVK>2. Что делать, если появиться новая неактуальная информация, которая должна храниться на сервере.
MVK>3. Что делать, если пользователь может работать на различных компьютерах?
MVK>4. Что делать, если пользователь одновременно откроет свои сессии на различных компьютерах?
MVK>5. Что делать, если на одном компьютере будут могут работать несколько пользователей?
MVK>Видишь, одно маленькое на первый взгляд усложнение ведет к достаточно серьезным последствиям. Поэтому, чтобы оправдать второй подход нужны крайне весомые аргументы. Если таких аргументов привести не удается — используй первый вариант. Более того, судя по твоему вопросу, можно с большой долей уверенности предположить, что опыт у тебя небольшой. Если опыт твоей команды соизмерим с твоим — используйте первый вариант без каких либо сомнений.
Дело даже не только в том, что пользователей много, просто разрабатываемая система предполагает, что у каждого пользователя будет еще по 10-12 других Баз Данных, с которыми каждый из них будет активно взаимодействовать через нашу разрабатываемую систему (стыковки с другими БД). И базы данных неоднородны — разные СУБД.
Кстати, если информация стала актуальной, то ее нужно закидывать
на сервер (пользователь сам управляет этим процессом, когда считает нужным опубликовать эту информацию для всех), а новая неактуальная информация (ведь первично она храниться у пользователя локально и только по его желанию становится актуальной) просто остается у пользователя (т.е. другими словами он не дает распоряжение отправить на сервер и она остается в его БД).