Распределенные базы данных.
При росте предприятия, рано или поздно встает вопрос, о консолидации данных. И тут главное правильно сделать выбор в пользу той или иной схемы. Надеюсь, что данная статья поможет вам в этом не простом выборе.
Давайте определим общую схему которую будем иметь до организации взаимодействия.
Где:
Цетр — это основная база данных в которой происходит анализ. Она должна содержать все необходимые данные для анализа.
Перифирия1, Перифирия2, Перифирия3 — Базы в которых происходит ввод данных.
Конечно, это все условно. Т. к. и в Центральной базе может происходить ввод информации, и в периферийных базах требуется информация по компании в целом (например, информация о заблокированных клиентах).
Где:
Красный — информация которая должна присутствовать во всех базах и не требующаяся для анализа состояния.
Зеленый — информация которая должна присутствовать во всех базах и требующаяся для анализа.
Желтый — информация которая требуется для анализа, но специфична для каждой базы.
Синий — информация специфичная для каждой базы не требующаяся для анализа.
Теперь можно поговорить о топологии. Топологии:
-
Кольцо
-
Звезда
-
Смешанная топология.
Топология кольцо.
Кроме простоты организации обмена, данная схема, преимуществ не содержит. Хотя и простота организации обмена, то же является спорным преимуществом. Недостатков же напротив, хоть отбавляй.
Топология звезда.
Наверное самая распространенная топология. Из минусов ,только объем трафика проходящего через центральную базу. Плюс ко всему центральная база становится критичным ресурсом.
Смешанная топология.
Из плюсов: отказоустойчивость и снижение нагрузки на центральную базу, но сложность реализации перекрывает все плюсы от данного решения.
После определения нашей будущей топологии, можно переходить к следующему вопросу о транспорте, но сначала давайте классифицируем наш будущий обмен.
Классификация обмена.
Во первый можно разделить обмен, по степени участия в нём человека.
-
Автообмен. Под автообменом будем понимать такой обмен, при котором не требуется вмешательство человека, при отсутствии внештатных ситуаций. Хотя присутствие человека, для слежения за обменом, допускается.
-
Полуавтоматический обмен. Под ним будем подразумевать обмен при котором требуется вмешательство человека. Либо для его инициализации, либо для внесения исправлений которые накапливаются в процессе автообмена (то есть, когда вроде бы все автоматически, но без периодического вмешательства человека обмен встаёт, при отсутствии внештатных ситуаций).
-
Ручной обмен. Когда для обмена информацией постоянно требуется человек. Даже на этапе перемещения файлов обмена из точки А, в точку Б.
Примечание. В любом случае, даже если вы организуете автообмен с высокой степенью доступности ресурсов (каналы передачи, базы данных). Все равно предусмотрите третий вариант, а именно:
-
Кто в случаи внештатной ситуации должен производить ручной обмен.
-
Как часто он должен происходить.
-
Должен ли производящий ручной обмен заниматься другими делами и если должен, то какой приоритет у обмена.
-
Что делать если недоступен ответственный за ручной обмен.
Рекомендую начать реализацию обмена именно с этого, так как в противном случае велика вероятность того, что это не будет реализовано.
Виды транспорта.
Под транспортом будем понимать протоколы передачи данных, с помощью которых можно передать информацию из точки А в точку Б.
-
Физический носитель (Флеш-карта, CD-R(CD-RW), HDD и т.д.).
-
Телефонная линия (модем).
-
Локальная сеть.
-
Интернет.
Давайте попробуем определить плюсы и минусы.
Плюсы первого варианта:
-
Простота реализации.
-
Практически всегда отказывает последним.
Минусы первого варианта:
-
Скорость передачи информации.
-
Цена.
-
Не позволяет организовать обмен кроме как в ручном режиме.
Плюсы второго варианта:
-
Цена.
-
Высокая степень отказоустойчивости.
Минусы второго варианта:
-
Скорость передачи информации.
-
Труднодоступность оборудования.
-
Плохое качество канала передачи.
Плюсы третьего варианта:
-
Скорость передачи информации.
-
Простота реализации.
Минусы третьего варианта:
-
Цена реализации пропорциональна квадрату расстояния.
Плюсы четвертого варианта:
-
Цена прямо пропорциональна расстоянию от провайдера.
Минусы четвертого варианта:
-
Информация проходит через неконтролируемую территорию.
-
Плохая отказоустойчивость.
Выводы: Первые два варианта транспортировки подходят только для ручного режима обмена информацией или как дублирующие варианты третьего и четвертого варианта. Третий вариант подходит, до тех пор пока цена его реализации не превысит стоимости четвертого варианта умноженного на коэффициент цены скорости передачи.
Варианты передачи информации через интернет.
Первые три варианта не рассматриваю, из-за их тривиальности. Так же не будут рассмотрены бесплатные интернет-сервисы. А сводить задачу мы будем к синхронизации двух каталогов. Какие же тут есть варианты?
-
Электронная почта.
-
FTP/SFTP/WebDAV.
-
SOAP/REST (веб сервисы)
-
VPN (Virtual Private Network).
Начнем с конца. Вариант организации VPN, я считаю, самым простым и дешевым, так-как для его организации требуется то, что должно быть у каждой организации подключенной к сети интернет. А именно это качественный брандмауэр. Цены на брандмауэр могу привести только свои, так-как другие не сравнивал. Это либо порядка 3 000 рублей за D-Link, либо 2 500 рублей за настройку брандмауэра и подключение точки к интернет плюс стоимость компьютера (вполне подойдет Pentium III 500 256 ОЗУ ~ 1 000 рублей). Как минус — это необходимость настройки каждой точки присутствуя физически.
Вариант с SOAP, для настройки обмена, является, наверное, самым дорогим из вариантов. Хотя я его и реализовывал, но затруднюсь ответить на вопрос о том за сколько бы я его реализовал. Скорее мой ответ был бы 1 500 рублей (за установку системы) плюс 1 500 рублей (за установку и настройку web сервера) плюс 750 рублей в час за разработку программы обмена плюс стоимость компьютера под эти цели (примерно от 15 000 до 300 000 рублей в зависимости от нагрузки). Из преимуществ можно отметить минимальные задержки перед началом передачи данных.
Из варианта номер два я бы выделил только SFTP. Так как При равной с FTP вариантом стоимостью, имеет перед FTP, два неоспоримых преимущества. Первое это данные не передаются в открытом виде (шифруются), а второе реализовать его очень просто. Вариант с WebDAV имеет право на жизнь, но встречается редко и скорее является экзотикой. Цены для первых двух вариантов это 3 000 рублей за настройку плюс компьютер (примерно 7 000 рублей, хотя при малой нагрузке можно и удешевить).
Электронная почта — это один из сложнейших вопросов администрирования. Ее настройка требует высокой квалификации специалиста, так как тут нет шаблонов. Так что цена этого варианта может превысить стоимость веб сервисов. Но в отличии от веб-сервисов эта цена более-менее предсказуема (6 000-12 000 рублей за настройку почтового сервера плюс компьютер от 1 000 до 180 000 рублей в зависимости от нагрузки). Имеет смысл если электронная почта или уже есть, или планируется.
Я специально не стал рассматривать другие варианты, так как рассмотренных вполне достаточно, для организации транспортировки.
Заключение.
Как-то неожиданно, скажете вы? Да, но все вопросы для расчета вариантов реализаций мы рассмотрели. Осталось выбрать приемлемый по цене и функционалу, и нанять специалистов для реализации (как вариант реализовать самому сэкономив/заработав деньги).