Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Уважаемые форумчане, нужно зарыть нафиг FoxPro по сравнению с MS SQL. Задачка: - много филиалов. В каждом генерятся данные, которые должны консолидироватся в центре - объем данных не очень большой (не гигабайты) - клиентов у базы (как в центре, так и на местах) так же не очень много (максимум десятки) - человеческих каналов пока нет Прошу помочь в аргументации. Так же если есть контраргументы, так же прошу привести. Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 21:33 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Уважаемые коллеги по VFP. Помогите мне тоже пожалуйста выдвинуть аргументы против VFP. Сразу говорю - я ничего не имею против VFP, просто есть одна БД на MSSQL, очень плохо написанная, единственное, что можно с ней сделать - это начинать ее разруливать от блокировок, транзакций и запросов, до нормализации структуры. Еще есть некий ее разработчик, бывший FoxPro-шник, который уверен, что все плохо работает потому, что MSSQL оказался "плохим" и у него новая идея фикс, выучить теперь Visual FoxPro и сложные расчетные части БД перенести на него, сделав из него подобие 3-его звена. Я не буду говорить, как "хорошо" он знает теорию релляционных БД и как хорошо он знает VFP (работал он еще с 2.x и думает что это одно и тоже). Я в ужасе, что не могу ему обьяснить, что безграммотность и кривизна рук сменой платформы не лечиться. Сказать все своими словами не могу - политика. Единственное что остается, это убедить не в том, что VFP к примеру плох, а что для его задачи к большому сожалению не подходит. Проект находиться в эксплуатации и такие замахи могут просто вообще привести к тому, что он рухнет. P.S. Если наоборот у кого то есть реальный опыт написания таких вот "разгрузочных" частей сложных расчетов на VFP для БД MSSQL и он готов помочь этому человеку "вернуться" к своему любимому Fox-у, то в принципе можно будет обсудить условия сотрудничества, но только с проживающими в Москве. Меня честно говоря единственное интересует - чтобы проект нормально заработал, если кто то докажет, что разрулить расчеты легче, быстрее и надежнее на VFP, не трогая основную структуру БД (не дай бог), то думаю такому человеку я смогу обеспечить неплохой договор с этой конторой на сотрудничество (вполне возможно, что они предложат потом постоянную работу на выгодных условиях) и от себя лично поставлю бутылку хорошего коньяку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 23:21 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
2 Varivan Ээээ дарагой Я тебе такой база на экселе сваяю да? Не говоря уже об аксесе да? Не говоря уже о фокспре нет? З.Ы. И ведь действительно сваяю. Уже сваял. На аксесе. Много филиалов. Консолидация в ЦО. Клиентов не больше сотни на филиал. Небольшой объем данных (сотни мег максимум). Что такое "человеческие каналы" - не знаю, поэтому в аргументации помочь не могу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 23:42 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
2Varivan 1. вы можете себе позволить потерять данные ? 2. вы сможете написать репликацию ? вам это интересно ? 2ASCRUS: получается он хочет вытаскивать из сиквела в дбф и их карежить на процедурном языке фокса без sql ? типа он на интерпритаторе (фоксе) напишет алгоритм круче чем сиквеловский оптимизатор (ядро sql) :) я в принципе тоже не высокого мнения об оптимизаторе сиквела ... но не нада ж так ошибаться :) p.s. а фокспро разве умеет юзать многопоточность ? или как он предполагает мидл тиер в одном процессе ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 01:02 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
2 ЛП Мне не надо ваять базу. Мне надо зарыть Fox Pro. А поскольку сам его практически не знаю, проше аргументов у форумчан. ПыСы Написать можно что угодно на чем угодно. 2 Gt 1. к сожалению не аргумент... Полчему это фокс данные потеряет? 2. думал на эту тему. Но поскольку каналов человеческих пока нет, СКУЛь репликацию не запользуешь - все равно обмен через файлы Еще есть мысли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 01:30 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Мне не надо ваять базу. Мне надо зарыть Fox Pro Ээээ дарагой, так чтобы зарыть лису - надо знать где лиса может обгадиться. А по словам "много филиалов", "не гигабайты", "клиентов у базы" и "человеческих каналов" - даже самый опытный охотник лису не отследит, да? З.Ы. Тебе надо поругать фокспро? Так и пиши. Или тебе надо поругать фокспро с точки зрения выбранной задачи? Тогда расшифруй "человеческие каналы". З.З.Ы. Если серьезно, то шансов нихт - при условии хорошо подвешенного языка у фокспрошника. Повторяю - такие системы с полпинка реализуются даже на экселе тьфу аксесе. Можно посоветовать отрезать язык у фокспрошника. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 01:46 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Не надо ничего зарывать Надо исходить из поставленной задачи. Прежде всего как я понял необходимо обеспечить репликацию данных в условиях эпизодической связи. Очень рекомендую посмотреть на ASA. Почитать возможности в части репликации. Ну а дальше сумеете убедить и руководство. With best regards Oleg Vysotsky ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 09:12 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Для ASCRUS. Трудно найти черную кошку в комнате, там где ее нет. В действительности насколько я понял имеется плохо спроектированная базы. Увы таких много. Тут программиста (то биш проектировщика) менять надо. Если будет принято решение перейти на FOX то - Остается ждать что в какой-то из моментов просто выключится питание - побьются индексы и данные и стадо программистов будет рыть копытами в надежне ныйти подходящую копию. Ну а если серьезно. 1. FOXPRO достаточно быстр - но для файл-серверной системы. 2. Дальше конечно следовало бы указать все недостатки файл-серверной системы (Но я думаю - что и так все о них знают) 3. Личные наблюдения - разрушение заголовков таблиц, данных - хотя бы по причине сбоя одного клиента. 4. Существенный недостаток - отсутствие средств коллективной разработки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 09:34 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Уточню смысл. В БД на MSSQL реализован сложный расчет. Реализован супер криво - типа вызывается ХП, ей передается код договора, она вызывая дикую серию еще ХП и UDF его считает. В расчете управления транзакциями и блокировками нет. Зато есть куча select into #TempTable. Работа вся ведется с основными таблицами БД, которые хранят в себе всю историю входящих и расчетных данных. При расчетах множества договоров клиент, как вы уже наверное догадались, организует себе по ним курсорчик и на каждый вызывает процедуру расчета. Про все отстальное я молчу, скажу только, что больше всего меня впечатлили UDF на связи таблиц в запросах, которые внутри себя еще кучу select вызывают. Как и следовало ожидать все это при 1000 договоров и 2 операторов работает более менее удовлетворительно, а вот уже при 50 000 и 10 операторов даже без фанты останавливает наикрутейший сервак. Конечно самое оптимальное решение - просто переписать расчет, но есть 2 "но": 1. Чтобы его разрулить придеться изменять структуру входящих данных (если в EM создать общую диаграмму БД, то она больше похожа на схему материнской платы, даже отчетливо "видны" шлейфа - к одной таблице бывает и по 40 связей, причем быстрей всех сгенерил схему PD, а ErWin я так и не долждался) 2. Ее создатель неплохо устроился, он руководитель и живет по принципу, что хочу, то говорю и творю. В соответствие с выше сказанным его последняя идея - MSSQL гадость, так как ничего не работает, а Fox рулит, так как когда писал на нем, все работало. Поэтому надо написать расчет на Fox-е и пускать его на каждом клиенте. Решаются проблемы блокировок и тормозов сервера. Перекачал данные, нужные для расчета на таблички Фокса (их на самом деле не много), там прогнал расчет в монопольном режиме и обратно данные фуганул в MSSQL. Ну и вроде как все довольны получаются. Может ли это решение сработать на самом деле, с учетом того, что его расчет наверное действительно при таких курсорных подходах будет быстрее на Фоксе работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 10:17 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
может тебе работу поменять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 10:21 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Это не на моей работе :) Хотя на моей работе есть проекты с БД еще покруче, чем эта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 10:29 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
2Varivan как то ничего на ум не приходит, как можно наглухо закопать .dbf, по сравнению с sql серверами, а на местах, где будет крутится задача, специалисты, или понимающие скуль есть? У скуля есть возможность удаленного администрирования, лучшая стойкость при изменении структуры данных, при переходе на качественно новый уровень, задача на скуле, будет удовлетворять требованиям и можно сказать, что у нас используется скуль, хоть это мало кого трогает, бОльшая стойкость к защите данных 2ASCRUS такая схема, про которую говорит хорошо устроившейся начальник работать будет, но медленней чем на чистом дбф, и уж намного медленней чем правильно написанном скуле, а одним из доводов к начальнику может быть: старые задачи работавшие на 2.х, работали быстро, отчасти из-за малого времени откоика при обращении к таблицам, а вот если сейчас не перепроектировать базу, а писать как вы предлагаете, то толпа юзеров, часто дергающие данные для расчетов с сервера, положат червер и сеть, и работать будет медленно из-за более низкого времени отклика чкуля перед дбф, но в случае правильного написания базы, грузится будет сервер, а не сеть+раб.станции+сервер, ну и как-то аккуратео намекнуть что применять к сложившейся ситуации наработки 20-летней давности, не есть правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 11:18 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Уважаемый Varivan! Вот угораздило же Вас привести такие условия задачи, когда зарыть FoxPro толком-то и не получится ;-) Как я понял, изначально данные генерятся независимо. Потом наступают некие события - и очередные порции данных отправляются в центр, где консолидируются. Таким образом, система в центральном сервере, с которым (и только с которым) все работают, не нуждается. Таким образом, быть on-line с центром все время не надо. Таким образом, все сводится к передаче данных сравнительно небольшими порциями по любым каналам связи (хоть бы и на дискетках ;-)). Таким образом преимущества КС сводятся на нет. Собственно, и репликация "в ее лучших проявлениях" в приведенных условиях не нужна, главное, обеспечить, чтобы код источника возникновения данных входил в первичные ключи. Ну а в "узлах" этой распределенной сети вполне могут быть сети с толстыми каналами и ФС. Ну и как тут зарывать FoxPro, скажите пожалуйста? Далее, FoxPro вполне нормально может выступать не как "вещь в себе", а в разных ипостасях: - быть клиентом (и весьма неплохим), - быть сервером приложений, - быть базой данных (если Fox БД совмещается с Fox сервером приложений, то это получается уже почти КС-технология ;-)). Минусы Foxа на небольших (негигабайтных) объемах данных - если руки у разработчика правильные - еще не проявляются. Вот такой компот с мухоморами ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 11:39 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
2 ЛП Тебе надо поругать фокспро? Так и пиши. Или тебе надо поругать фокспро с точки зрения выбранной задачи? Тогда расшифруй "человеческие каналы". Да, мне лису обругать надо. Но т.к. ругать в прниципе это только воздух сотрясать, то привел некоторые условия задачки Человеческие каналы - это как минимум постоянное соединение. Скорость от 56-128К 2 brahew Спасибо за идею. Действительно, непонятно как фокс (равно как и любой другой клиент) разворачивать и пасти на местах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 11:41 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
2Varivan: 1. к сожалению не аргумент... Полчему это фокс данные потеряет? у фокса нет лога транзакций - соответственно при любом сбое теряются данные ... я слвбо представляю где такое допустимо. 2ASCRUS чо то не понял как такое работает ... ведь если расчет идет на фоксе то мне нужно на сиквеле заблокировать как минимум всю входящую информацию, иначе она может изменится в ходе расчета. дальше если заблокировал - клиент оказался тормозом (запустил антивирус/игрушку) и все ждут пару часов пока этот тормоз разблокирует ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 12:50 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Gt. Ну там люди особо насчет таких вещей не переживают и не задумываются. У них весь этот дикий расчет идет через Autocommit без каких либо признаков явных транзакций, а Вы про такое :) На такие "мелочи" уже никто внимания не обращает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 13:06 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
2 Urii Таким образом, все сводится к передаче данных сравнительно небольшими порциями по любым каналам связи (хоть бы и на дискетках ;-)). Так то оно так, но задач синхронизации справочников никто не отменял. Постоянный on-line не нужен, но потоки данных двунаправленные. Отсутствие каналов досадное техническое ограничение, которое нужно бороть. 2 Gt у фокса нет лога транзакций - соответственно при любом сбое теряются данные ... я слвбо представляю где такое допустимо. Уже лучше. Давайте попробуем развить: 1) у фокса вообще транзакции есть? 2) Если да, то есть ли распределенные и как он борет ситуацию с отказом питания, например, все таки? Именно для этого же транзакции придумали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 13:10 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
2ASCRUS мда :) действительно впечатляет, типа если расчет на пол пути загнулся по каким-то причинам, они ручками вычищают ? cool :) мда серьезный подход, сурьезные люди :) ... думаю ваши аргументы тоже должны быть сурьзными ... 2Varivan транзакци кажется там были (если юзать их sql движек), там какие-то понятия буферизации были - наверно на клиенте типа версионность делается (сам лет 5 назад смотрел). типа клиент качает пол файла и у себя его корежит, а на комит сваливает в файл бд. как он разбирается не изменились ли данные пока он там корежил - не знаю. если клиент что-то заблокировал и по пути отвалился, блокировки наверно на всегда останутся, по любому снять их уже некому ... распределенных естествено нет, сбой питания - фатально, востановить уже никак. p.s. транзакции все таки не для этого придумали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 13:44 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Varivan & ASCRUS Есть транзакции - но только у тех таблиц каторые входят в Databas Catalog (.dbc) - что не всегда реально Очень серьезная проблема - невозможность нормальной обработки ошибок - т.е. нет ни Exception handling (до VFP8) ни if @@error так что программа при возникновении ошибки в FP обычно просто отваливается (все что есть это ON ERROR ... - но это очень убогая вещь и использовать ее не удобно - по крайней мере если на VFP переходил с чего-то типа C++ :)) К наибольшим недостаткам я бы отнес кривой по нынешним меркам IDE и полное отсутвие поддержки со стороны CASE-средств Очень убогий грид Отсутвует строгая типизация - для меня это просто необъяснимо - но вот те кто только на VFP работал - это иногда хвалят и используют До VFP8 - не было единой стратегии на работу с удаленными данными Нет планов по интеграции с .Net (только на уровне Com/Web Services) P.S> VFP < 8 - это то с чем лучше в здравом уме не связываться. По крайней мере если есть выбор - так как затраты на обучения себя не окупят в любом случа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 13:50 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
сбой питания - фатально, востановить уже никак. Так уж и никак? :) Сколько сталкиваюсь с разными legacy-системами на FP2.5-VFP7 - как то они работают и выключения питания переносят. Т.е. все проблемы там решить можно. Главная проблема с VFP - эти проблемы сейчас на других платформах решаются ВСЕГДА еще легче - так что написание чего-то на VFP с нуля сейчас если нет 10 летнего опыта на нем - задача не стоящая Хорошей практикой работы с VFP является использование терминальных сессий к файл-серверу а сам сервер на UPS - в таком случае большинства проблем можно избежать. У нас, например, АБС на VFP7 - и про те ужасы что упоминались в этом треде я никогда не слышал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 13:58 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Ну и стратегию/тактику репликации в VFP придется воплощать ручками с начала и до конца. Хотя ничего сверхсложного нет, но нет и штатного репликатора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 13:59 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
2funikovyuri полное отсутвие поддержки со стороны CASE-средств Это кстати неверно. Еще со времен VFP6 на MS лежал модуль для работы с Visual Modeler. Erwin по жизни VFP поддерживал. ON ERROR ... - но это очень убогая вещь и использовать ее не удобно Но гораздо удобнее чем IF @@ERROR :) Теперь о теме разговора. Речь ведь идет в первую очередь о сравнении СУБД. 2Varivan Неужели так сложно доказать приемущество клиент-серверной системы над файл-серверной? На VFP можно написать вполне нормально работающую систему. Но перед этим нужно реализовать вручную, все то что уже отлично реализовано в MS SQL. А некоторые вещи вообще не реализуемы в силу ограниченности фокса. Споров на эту тему уже было достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 14:13 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
З.Ы. При всей моей любви к фоксу писать файл-серверную систему я бы согласился только за большие деньги :) 2Varivan Расскажите плс, если не секрет, причину возникновения подобного вопроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 14:20 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Так уж и никак? :) никак :) или вы знаете как можно без лога транзакций recover database until time .... p.s. ups не спасает от ошибок разработчиков, чудес файловой системы, выгорания диска и других приключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 14:21 |
|
||
|
FoxPro vs MS SQL. Нужно зарыть FoxPro
|
|||
|---|---|---|---|
|
#18+
Crip Да ну - ОО-модель в ERWin?! А то, что он таблицы позволяет рисовать - это уже давно не предел мечтаний... К тому же для платформы, которую MS позиционирует как идеальную для мидл таера Но гораздо удобнее чем IF @@ERROR :) Нет не удобнее - это вообще косяк для определенного класса задач. P.S> Crip - я сделал что-то типа обзора VFP глазами программиста на MS SQL/C++/C# - так что само собой я могу и ошибаться - но тем не менее вы вроде согласились с большей частью моего текста :) С уважением... Crip Да ну - ОО-модель в ERWin?! А то, что он таблицы позволяет рисовать - это уже давно не предел мечтаний... К тому же для платформы, которую MS позиционирует как идеальную для мидл таера Но гораздо удобнее чем IF @@ERROR :) Нет не удобнее - это вообще косяк для определенного класса задач. P.S> Crip - я сделал что-то типа обзора VFP глазами программиста на MS SQL/C++/C# - так что само сабой я могу и ошибаться - но, тем не менее, вы вроде согласились с большей частью моего текста :) С уважением... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 14:21 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32386087&tid=1554140]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 378ms |

| 0 / 0 |
