|
|
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Пока я обдумываю клиента для MySql. Выборка. На сервере 2 таблицы: 1 справочник товаров + 1 таблица товаров. Варианты 1.Храню обе на сервере. По select получаю свежую версию данных. Минус по сети гоню повторяющиеся данные.(справочник товаров) 2.Храню сервере данные а справочник на клиенте. По select получаю -=не=- свежую версию данных. Обновляю 1 - ... ? в день. Плюс не гоню по сети повторяющиеся данные.(справочник товаров) Какой вариант лучше ? если можно напишите ответ и/или скажите где найти ответ на подобные воросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 16:44 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Мона так, при старте клиента делать запрос на сервак и если таблицы разные она сама проверяет то заменяем их. xcopy "\\server1\data\*.dbf" "c:\full6\data\*.dbf" /c/q/d/e/i/y ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 17:07 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Ну не очень хороший вариант. Программа запускается в 8:00 а выключается в 17:00. Значит любые изменения не будут видны в течении дня. Вот если запрашивать сервер раз в час, есть ли изменения. Наверно лучше. Может быть да, а может нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 17:21 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Хранить все на сервере, адназначна. PS почему ты решил разделить ? Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 17:25 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Там еще много полезного... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 17:29 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Vladimir M Sklyar Хранить все на сервере, адназначна. PS почему ты решил разделить ? Справочник изменяется редко гонять данные постоянно по сети нет смысла. Но при обновлении - обновление должно отобразится быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 17:36 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Andrey TsТам еще много полезного... Код: plaintext 1. 2. 3. Там это где ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 17:38 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
ГенГрумПока я обдумываю клиента для MySql. Выборка. На сервере 2 таблицы: 1 справочник товаров + 1 таблица товаров. Варианты 1.Храню обе на сервере. По select получаю свежую версию данных. Минус по сети гоню повторяющиеся данные.(справочник товаров) 2.Храню сервере данные а справочник на клиенте. По select получаю -=не=- свежую версию данных. Обновляю 1 - ... ? в день. Плюс не гоню по сети повторяющиеся данные.(справочник товаров) Если рассмотреть вариант 2 и поговорить о минусах. Сколько клиентов? Пусть два. Кто пополняет справочник? Пусть первый пополнил. Но тогда он пополнит только у себя. И пошла морока. Второй тоже пополнил справочник. Какой справочник брать завтра? Это пока сейчас у Вас пополняется 1 раз в день, а завтра еще ничего не известно. По моему 1 вариант предпочтительнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 17:49 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
ГенГрум Andrey TsТам еще много полезного... Код: plaintext 1. 2. 3. Там это где ? Где в инете - не знаю. У меня лицензионный VFP5 c этой документацией (v 1.0) на CD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:41 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Владимир САЕсли рассмотреть вариант 2 и поговорить о минусах. Сколько клиентов? Пусть два. Кто пополняет справочник? Пусть первый пополнил. Но тогда он пополнит только у себя. И пошла морока. Второй тоже пополнил справочник. Какой справочник брать завтра? Это пока сейчас у Вас пополняется 1 раз в день, а завтра еще ничего не известно. По моему 1 вариант предпочтительнее. Пусть первый пополнил. Он же сразу запищет на сервер. Вопрос в том когда брать. Например когда в локальном справочнике нет данных - брать сразу. Иначе раз в час или день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:48 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Andrey Ts Где в инете - не знаю. У меня лицензионный VFP5 c этой документацией (v 1.0) на CD Вы имеете ввиду MSDN ? Справка которая постовляется с фоксом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:51 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
На мой взгляд обе предложнные идеологии имеют право на существование, надо только определиться для каких задач использовать конкретный подход. Вариант 1 подходит для рабочих мест с периодическим циклом работы (например с 9.00 до 18.00). Вариант 2 часто бывает необходим для круглосуточной работы, причем административными мерами регламентируется процес пополнения справочников и процесс их обновления, как правило этого достаточно для корректной работы. По поводу таскания всего справочника на клиента при первом варианте, здесь надо изменить идеологию приложения, те на клиенте формируется запрос с определенными условиями выборки (например накладные за промежуток времени), в форме нам товары пока не нужны, затем пользователь хотел посмотреть что в конкретной накладной бралось (формируем инструкцию серверу собрать отгрузку по этой накладной в выборку и отдать клиенту, как видим справочник товаров был подцеплен на сервере и на клиенте получен только результат). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:03 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
ГенГрум Andrey Ts Где в инете - не знаю. У меня лицензионный VFP5 c этой документацией (v 1.0) на CD Вы имеете ввиду MSDN ? Справка которая постовляется с фоксом ? Это не просто справка типа HLP. Это еще 130 МБ разной информации для пользователя, разработчика, и кучи еще всякого. Может она и входит в MSDN, я не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:08 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Так она выглядит: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:13 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Спасибо Andrey Ts попробую найти в инете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:39 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
PaulWist По поводу таскания всего справочника на клиента при первом варианте, здесь надо изменить идеологию приложения, те на клиенте формируется запрос с определенными условиями выборки (например накладные за промежуток времени), в форме нам товары пока не нужны, затем пользователь хотел посмотреть что в конкретной накладной бралось (формируем инструкцию серверу собрать отгрузку по этой накладной в выборку и отдать клиенту, как видим справочник товаров был подцеплен на сервере и на клиенте получен только результат). Вопрос возник не спроста. Например в первом варианте получим наименование (charter 50 ) количество (int)(4) х 1000 строк. Лишняя информация 50*1000=50 000 байт по сравнению со вторым вариантом. Недостаток второго варианта мы можем получить пустые наименования для новых товаров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:46 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Я не работал с клиент- серверными приложениями , поэтому не ругаете если мое предложение не подойдет. А может есть такая возможность перед обращением к справочнику сравнить время последнего изменения справочника на клиенте и на сервере и если сервер обновлялся позднее ,то сначала скинуть новые данные, а затем продолжить работу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 11:25 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
nfpЯ не работал с клиент- серверными приложениями , поэтому не ругаете если мое предложение не подойдет. А может есть такая возможность перед обращением к справочнику сравнить время последнего изменения справочника на клиенте и на сервере и если сервер обновлялся позднее ,то сначала скинуть новые данные, а затем продолжить работу? Наверное это лучший вариант, но немного неудобно делать 2 запроса вместо одного. 1 запрос - есть ли изменения. 2 сам запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 11:33 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
ГенГрум PaulWist По поводу таскания всего справочника на клиента при первом варианте, здесь надо изменить идеологию приложения, те на клиенте формируется запрос с определенными условиями выборки (например накладные за промежуток времени), в форме нам товары пока не нужны, затем пользователь хотел посмотреть что в конкретной накладной бралось (формируем инструкцию серверу собрать отгрузку по этой накладной в выборку и отдать клиенту, как видим справочник товаров был подцеплен на сервере и на клиенте получен только результат). Вопрос возник не спроста. Например в первом варианте получим наименование (charter 50 ) количество (int)(4) х 1000 строк. Лишняя информация 50*1000=50 000 байт по сравнению со вторым вариантом. Недостаток второго варианта мы можем получить пустые наименования для новых товаров. Наверное я плохо написал. Ответьте на такой вопрос для какой цели тащить на клиента всь справочник в 1000 строк если необходимо показать 20 товаров. Вы конечно можете возразить - дык у меня выписывается 500 документов и в каждом по 20 товаров, тогда считаем 500*20 = 1000 строк надо перегнать из справочника и это равносильно одной загрузке всего справочника в начале дня, а если надо обновить справочник на клиенте 3 раза в день, тогда получается, что эквивалент документов должен быть равен 1500 документов. Мы взяли с Вами тестовый пример с 1000 строками справочника, а на самом деле этих строк может быть значительно больше, те выигрыш даже здесь уже илюзорен, на самом деле к справочнику продукции должны существовать справочники дополнительных измерений, которые в Вашем случае тоже должны тащиться на клиента. Вот такие на первый взгляд соображения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 11:39 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
PaulWist Наверное я плохо написал. Ответьте на такой вопрос для какой цели тащить на клиента всь справочник в 1000 строк если необходимо показать 20 товаров. Вы конечно можете возразить - дык у меня выписывается 500 документов и в каждом по 20 товаров, тогда считаем 500*20 = 1000 строк надо перегнать из справочника и это равносильно одной загрузке всего справочника в начале дня, а если надо обновить справочник на клиенте 3 раза в день, тогда получается, что эквивалент документов должен быть равен 1500 документов. Мы взяли с Вами тестовый пример с 1000 строками справочника, а на самом деле этих строк может быть значительно больше, те выигрыш даже здесь уже илюзорен, на самом деле к справочнику продукции должны существовать справочники дополнительных измерений, которые в Вашем случае тоже должны тащиться на клиента. Вот такие на первый взгляд соображения. Наверное я не правельно пояснил задачу. 1 вариант Код: plaintext 1. например получим 1000 строк где наименование (spr.name = charter 50 ) количество (data.count = int)(4) х 1000 строк. Лишняя информация 50*1000=50 000 байт. На даннном запросе. 2 вариант Код: plaintext 1. 2. 3. 4. 3 вариант Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 12:22 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
простите вместо Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 12:29 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Ага, стало понятнее. Возражений против третьего варианта нет, в нем Вы пытаетесь убить 2-х зайцев (уменьшить трафик и самое главное решить проблему репликации), так вот проблема репликации ой какая непростая задача, её действительно можно таким способом решать, НО для этого должны быть очень веские причины и по трудоемкости (для нормального решения) такой код выливается в ещё один проект. Те все предложенные варианты реализуемы, в конечном итоге выбор остается за Вами. Думаю ребята укажут на другие тонкие моменты (нарушение парадигмы к-с итд...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 12:53 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
PaulWistАга, стало понятнее. Возражений против третьего варианта нет, в нем Вы пытаетесь убить 2-х зайцев (уменьшить трафик и самое главное решить проблему репликации), так вот проблема репликации ой какая непростая задача, её действительно можно таким способом решать, НО для этого должны быть очень веские причины и по трудоемкости (для нормального решения) такой код выливается в ещё один проект. Те все предложенные варианты реализуемы, в конечном итоге выбор остается за Вами. Думаю ребята укажут на другие тонкие моменты (нарушение парадигмы к-с итд...) Но если создать класс(может быть прогу) , то не надо создавать отдельный проект. При обращении к классу (или prg) указывать, что надо проверить на сервере. Пишется 1 раз - работает всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 13:29 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
Вы меня немного не поняли, конечно для реализации такого функционала надо создать класс + ХП на сервере + обработчик ошибок + алгоритмы выхода из тупиковых ситуаций. Говоря о двойном проекте я имел ввиду, что кода будет написано как на 2 проекта. Но возникает вопрос почему надо ограничиваться только спр. товаров, а спр. клиентов, цен, прайс листов, скидок, руководителей предпр., видов номенклатуры итд оставить на сервере, почему их тоже не перетащить на клиента, ведь для нормальной работы эти справочники тоже нужны и при обращении к ним не надо будет таскать избыточную (пустую) информацию, а на сервере оставить только таблицы фактов. Вот в этот момент и наступает процесс репликации, которую тоже надо решать. PS я не настаиваю на своем мнении, но похожую задачу приходилось делать она была осложнена ещё и возможностью работы в локальном режиме при обрыве сети или недоступности сервера, но это была узко специфичная задача с загрузками, синхронизацией данных итп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 13:44 |
|
||
|
Какой вариант лучше ?
|
|||
|---|---|---|---|
|
#18+
В начале я написал что обдумываю клиента для MySqlЭто только идеалогия построения. Естественное она распространяется на все данные. Идея в том , что бы хранить на сервере всю информацию + на клиенте все справочники и обновлять по мере необходимости. А вот необходимость - когда она наступает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 14:12 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33071160&tid=1594195]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 514ms |

| 0 / 0 |
