none
Использование двух баз данных RRS feed

  • Вопрос

  • Создается два приложения веб MVC и приложение для ПК. 

    Ситуация такая что уже в ближайшем будущем приложение для ПК будет использовать две базы данных, собственную и стороннею базу данных(клиента) 

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

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

    К клиентской базе данных будет доступ ограниченный лишь к определенным таблицам данных.(в теории)  

    • Изменено MacroMax 4 ноября 2014 г. 21:11
    4 ноября 2014 г. 21:06

Ответы

  • Как это всё организовать знает только хороший архитектор изучивший требования к вашему приложению. Посоветовать вам тут что-либо в одном топике нереально, так как это целая наука. Скажу лишь одно: код должен быть организован так, чтобы максимально слабо зависел от деталей реализации. Т.е. не зависимо сколько и чего вы используете. Для этого есть специальные архитектурные паттерны построения приложения в несколько слоёв.

    Сделаем содержимое сообщества лучше, вместе!

    • Предложено в качестве ответа YatajgaEditor 10 ноября 2014 г. 6:54
    • Помечено в качестве ответа YatajgaEditor 21 ноября 2014 г. 7:01
    5 ноября 2014 г. 6:28
    Модератор
  • Ну а как тогда клиентские приложения платежных систем создаются ?

    Они ведь тоже по идее должны интегрироваться с другими базами данных: сотового оператора и т.д.

    Вы немного путаете кислое с холодным. Как у нас работает платежное приложение. Вы приходите и отдаете кассиру деньги. Мы у себя в одной базе делаем запись, на основании этой записи дергается сервис оператора или агрегатора для зачисления денег вам на счет. Когда придет подтверждение транзакции, мы у себя в базе помечаем что все ок. Но база у наших приложений - одна.
    • Предложено в качестве ответа YatajgaEditor 10 ноября 2014 г. 6:54
    • Помечено в качестве ответа YatajgaEditor 21 ноября 2014 г. 7:01
    5 ноября 2014 г. 14:24
    Отвечающий

Все ответы

  • Как это всё организовать знает только хороший архитектор изучивший требования к вашему приложению. Посоветовать вам тут что-либо в одном топике нереально, так как это целая наука. Скажу лишь одно: код должен быть организован так, чтобы максимально слабо зависел от деталей реализации. Т.е. не зависимо сколько и чего вы используете. Для этого есть специальные архитектурные паттерны построения приложения в несколько слоёв.

    Сделаем содержимое сообщества лучше, вместе!

    • Предложено в качестве ответа YatajgaEditor 10 ноября 2014 г. 6:54
    • Помечено в качестве ответа YatajgaEditor 21 ноября 2014 г. 7:01
    5 ноября 2014 г. 6:28
    Модератор
  • Добрый день.

    Для параллельной записи одних и тех же данных в две БД стандартных средств/паттернов нет. Ну или я не слышал чтобы такое было на уровне клиентского приложения. Скорее всего, придется создавать изолированный слой данных приложения, который сможет синхронизироваться с двумя базами, но там будет очень много даже теоретических сложностей. Например, что делать если на момент запуска в одной БД сущность есть, а в другой нет.

    5 ноября 2014 г. 11:08
    Отвечающий
  • Предложил бы создать сервис (wcf или web api) для работы с данными.

    Mak Arti

    5 ноября 2014 г. 11:52
  • Добрый день.

    Для параллельной записи одних и тех же данных в две БД стандартных средств/паттернов нет. Ну или я не слышал чтобы такое было на уровне клиентского приложения. Скорее всего, придется создавать изолированный слой данных приложения, который сможет синхронизироваться с двумя базами, но там будет очень много даже теоретических сложностей. Например, что делать если на момент запуска в одной БД сущность есть, а в другой нет.

    Ну а как тогда клиентские приложения платежных систем создаются ?

    Они ведь тоже по идее должны интегрироваться с другими базами данных: сотового оператора и т.д.

    5 ноября 2014 г. 14:19
  • Ну а как тогда клиентские приложения платежных систем создаются ?

    Они ведь тоже по идее должны интегрироваться с другими базами данных: сотового оператора и т.д.

    Вы немного путаете кислое с холодным. Как у нас работает платежное приложение. Вы приходите и отдаете кассиру деньги. Мы у себя в одной базе делаем запись, на основании этой записи дергается сервис оператора или агрегатора для зачисления денег вам на счет. Когда придет подтверждение транзакции, мы у себя в базе помечаем что все ок. Но база у наших приложений - одна.
    • Предложено в качестве ответа YatajgaEditor 10 ноября 2014 г. 6:54
    • Помечено в качестве ответа YatajgaEditor 21 ноября 2014 г. 7:01
    5 ноября 2014 г. 14:24
    Отвечающий