|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Доброго времени суток. Существует такая задача: Есть очень небольшая фирма, у этой фирмы имеется сайт, написанный на PHP, располагается данный сайт у провайдера. Также сотрудники офиса в своей работе пользуются давно приобретенной программой. БД данной программы крутится на MSSQL 2000. И вот руководство захотело "подружить" сайт с БД. Условно пользователи сайта можно поделить на три группы: Клиенты (приобретатели услуг), Партнеры (поставщики услуг) и Операторы (сотрудники офиса). Подскажите, пожалуйста, как правильно с вашей точки зрения организовать подобное взаимодействие, в сторону каких технологий нужно смотреть, что бы решить данную задачу и качественно и не дорого. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 10:10 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
- самый простой вариант - периодический экспорт данных (например в CSV-формате) из офисной БД, в БД установленную у хостинг-провайдера ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 11:31 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Kachalov- самый простой вариант - периодический экспорт данных (например в CSV-формате) из офисной БД Спасибо за ответ, это что-то типа самописной репликации получится? В данной задаче предполагается двунаправленный поток, как из БД на сайт, так и заявки оставляемые клиентом на сайте должны в конечном итоге появиться в БД. Правильно ли я понимаю, что при репликации возникает необходимость дублирования части структуры БД на стороне веб-сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 11:56 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
mmiВ данной задаче предполагается двунаправленный поток, как из БД на сайт, так и заявки оставляемые клиентом на сайте должны в конечном итоге появиться в БД. - "конечный итог" - это сколько по времени? Какая временная дельта между данными на сайте и данными в офисной БД допустима? mmiПравильно ли я понимаю, что при репликации возникает необходимость дублирования части структуры БД на стороне веб-сервера? - да, обычно это вызвано тем что у хостера используется БД отличная от БД используемой в офисе (что-то типа: MySQL у хостера и MS SQL в офисе). Возможен вариант найти PHP хостинг на Windows с MS SQL и тогда репликацию данных будет осуществлять проще. Также PHP может удаленно конектится к офисной MS SQL, но это не очень секьюрно (как настроить) и, скорее всего (зависит от архитектуры сайта), чревато потерями производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 12:07 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
mmi так и заявки оставляемые клиентом на сайте должны в конечном итоге появиться в БД. каким образом, если программа офисная куплена официально и её БД может правиться только из самой программы? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 12:10 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Petro123каким образом, если программа офисная куплена официально и её БД может правиться только из самой программы? Куплена то она, куплена, только производитель давно ее не поддерживает, бизнес данная программа на 99% устраивает, а сам бизнес за последние пять лет не поменялся. Код серверной части доступен, структура то же более-менее понятна. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 12:34 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Kachalov - "конечный итог" - это сколько по времени? Какая временная дельта между данными на сайте и данными в офисной БД допустима? В идеале хочется realtime, но это только тогда, когда в офисе есть кто-то из сотрудников. Заявка, пришедшая в субботу вечером, может спокойно ждать своей очереди до утра понедельника. Kachalov Также PHP может удаленно конектится к офисной MS SQL, но это не очень секьюрно (как настроить) и, скорее всего (зависит от архитектуры сайта), чревато потерями производительности. Этот вариант интересен, ожидаемое число заявок невелико до 30 в день, процедура добавления заявки в БД сводится к добавлению записей в три - четыре таблицы. С возможными потерями производительности офисной БД руководство согласно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 12:51 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
mmi В идеале хочется realtime, но это только тогда, когда в офисе есть кто-то из сотрудников. вы определитесь - одно или второе ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 12:55 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
mmiВ идеале хочется realtime, но это только тогда, когда в офисе есть кто-то из сотрудников. Заявка, пришедшая в субботу вечером, может спокойно ждать своей очереди до утра понедельника. - во многих компаниях это сделано как оповещение по email при поступлении нового заказа на сайт mmiС возможными потерями производительности офисной БД руководство согласно. - я имел в виду потери производительности для сайта, т. к. удаленный коннект к БД через Интернет это обычно не очень быстро (кстати, а Вы можете гарантировать что офисная БД будет всегда доступна? может у Вас в офисе на выходные/на ночь электричество отключат?) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 12:56 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Petro123вы определитесь - одно или второе Ответ в такой постановке вопроса - конечно realtime. Определиться мне мешает только, то, что я не представляю разницы в стоимости первого и второго вариантов, что-то подсказывает мне что эти стоимости будут разными. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 13:01 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
mmiPetro123вы определитесь - одно или второе Ответ в такой постановке вопроса - конечно realtime. Определиться мне мешает только, то, что я не представляю разницы в стоимости первого и второго вариантов, что-то подсказывает мне что эти стоимости будут разными. если руководство готово мириться с минусами от Kachalov (недоступность сайта при падении сети в офисе), то варант с удалённым коннектом - дешевле. Всё (МНОГОЕ) зависит от Web программиста проекта ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 13:06 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Kachalov - во многих компаниях это сделано как оповещение по email при поступлении нового заказа на сайт Оповещение по email у нас сейчас тоже работает, проблема только в том, что дальше сотрудник офиса вынужден вручную заводить данные заявки в офисную программу, чего и хотелось бы избежать. Так же, кроме клиентских заявок еще существуют и партнеры, которые осуществляют подтверждение (бронирование). Kachalov - я имел в виду потери производительности для сайта, т. к. удаленный коннект к БД через Интернет это обычно не очень быстро (кстати, а Вы можете гарантировать что офисная БД будет всегда доступна? может у Вас в офисе на выходные/на ночь электричество отключат?) Гарантировать круглосуточную доступность БД я не могу. Сейчас на сайте есть буфер, в котором и хранятся пришедшие с сайта заявки. Развернуть часть сайта, отвечающую за работу с заявками, на сервере в офисе по причине возможных отключений электричества не хочется. На размещении копии офисной БД у провайдера руководство не пойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 13:26 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Petro123готово мириться с минусами от Kachalov (недоступность сайта при падении сети в офисе) :) я бы еще добавил необходимость адекватной настройки файрвола для офисной БД ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 13:35 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Petro123если руководство готово мириться с минусами от Kachalov (недоступность сайта при падении сети в офисе), то варант с удалённым коннектом - дешевле. Всё (МНОГОЕ) зависит от Web программиста проекта Как я понял, без хранения копии БД у провайдера проблему недоступности сайта решить неудасться? Прошу Вас, если есть такая возможность, поделиться информацией о требованиях к каналу, для варианта удаленного коннекта. Запросы/данные в этом случае ходят в бинарном виде? Какими средствами для данного варианта, возможно будет обеспечить безопасность сервера БД? Petro123Всё (МНОГОЕ) зависит от Web программиста проекта Таковой имеется, паренек толковый вроде. Неподскажите, какие ключевые слова ему нужно озвучить? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 13:42 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
mmiОповещение по email у нас сейчас тоже работает, проблема только в том, что дальше сотрудник офиса вынужден вручную заводить данные заявки в офисную программу, чего и хотелось бы избежать. Так же, кроме клиентских заявок еще существуют и партнеры, которые осуществляют подтверждение (бронирование). - что-то мне это напоминает ;) Случайно не ЖД билеты продаете? mmiСейчас на сайте есть буфер, в котором и хранятся пришедшие с сайта заявки. Развернуть часть сайта, отвечающую за работу с заявками, на сервере в офисе по причине возможных отключений электричества не хочется. На размещении копии офисной БД у провайдера руководство не пойдет. - на сайте должны быть только заказы и те данные которые Вы планируете отображать на сайте, тащить все офисную БД на сайт бессмысленно. Соответственно репликация данных производится для заказов и для того что требуется показывать на сайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 13:44 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
mmiКак я понял, без хранения копии БД у провайдера проблему недоступности сайта решить неудасться? - полная копия БД не нужна (см. выше). Кроме предложенных, возможен вариант с периодической автоматической синхронизацией данных (как задание в cron), что менее критично для работы сайта чем соединение с БД в момент заказа или для отображения списка "чего-то там". mmiПрошу Вас, если есть такая возможность, поделиться информацией о требованиях к каналу, для варианта удаленного коннекта. - главное требование стабильность соединения, остальное зависит от объема данных которые предполагается передавать (этот момент Вы не озвучили) mmiКакими средствами для данного варианта, возможно будет обеспечить безопасность сервера БД? - адекватной настройкой файрвола ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 13:50 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Kachalov- что-то мне это напоминает ;) Случайно не ЖД билеты продаете? И ЖД в том числе ;) Kachalov - на сайте должны быть только заказы и те данные которые Вы планируете отображать на сайте, тащить все офисную БД на сайт бессмысленно. Соответственно репликация данных производится для заказов и для того что требуется показывать на сайте. Да для работы по заявкам и партнерам, конечно, вся база не нужна, даже структура таблиц, необходимая веб части сильно упрощается. Отсюда следуют вопросы: штатная репликация MSSQL сервера в данном случае подойдет, или нужно писать свою? Если писать самим то, как я понимаю, требования наличия у хостера сайта MSSQL сервера отпадает? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 14:02 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
mmiPetro123Всё (МНОГОЕ) зависит от Web программиста проекта Таковой имеется, паренек толковый вроде. Неподскажите, какие ключевые слова ему нужно озвучить? IMHO - 2-х сторонняя репликация - атомарность распределённой транзакции (стадии прохождения заявки) - Бизнес-Логика на офисной БД - слой обеспечения совместимости БЛ с покупной программой и её БД. - защита данных при публикации БД - удобство и персонализация интерфейса Web для клиентов - ... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 14:19 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
mmiИ ЖД в том числе ;) date.com.ru? dalekoe-blizko.ru? davs.ru? mmiОтсюда следуют вопросы: штатная репликация MSSQL сервера в данном случае подойдет, или нужно писать свою? IMHO, лучше свою (более гибкое решение, если разрешить доступ только для определенных таблиц еще и безопасней выйдет) mmiЕсли писать самим то, как я понимаю, требования наличия у хостера сайта MSSQL сервера отпадает? - да, можно реплицировать в любую базу (возможно возникнет вопрос конвертации типов) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 14:30 |
|
Как подружить сайт с БД?
|
|||
---|---|---|---|
#18+
Petro123 - Бизнес-Логика на офисной БД - слой обеспечения совместимости БЛ с покупной программой и её БД. - удобство и персонализация интерфейса Web для клиентов - ... Это понятно, и думаю, что нам по силам. Petro123 - 2-х сторонняя репликация - атомарность распределённой транзакции (стадии прохождения заявки) - защита данных при публикации БД Это результат наличия двух БД? Еще раз большое Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 15:02 |
|
|
start [/forum/topic.php?fid=33&fpage=40&tid=1548609]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 293ms |
total: | 454ms |
0 / 0 |