powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / FoxPro vs MS SQL. Нужно зарыть FoxPro
25 сообщений из 148, страница 1 из 6
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385333
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые форумчане,
нужно зарыть нафиг FoxPro по сравнению с MS SQL.
Задачка:
- много филиалов. В каждом генерятся данные, которые должны консолидироватся в центре
- объем данных не очень большой (не гигабайты)
- клиентов у базы (как в центре, так и на местах) так же не очень много (максимум десятки)
- человеческих каналов пока нет

Прошу помочь в аргументации. Так же если есть контраргументы, так же прошу привести.
Заранее спасибо
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385386
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые коллеги по VFP. Помогите мне тоже пожалуйста выдвинуть аргументы против VFP. Сразу говорю - я ничего не имею против VFP, просто есть одна БД на MSSQL, очень плохо написанная, единственное, что можно с ней сделать - это начинать ее разруливать от блокировок, транзакций и запросов, до нормализации структуры. Еще есть некий ее разработчик, бывший FoxPro-шник, который уверен, что все плохо работает потому, что MSSQL оказался "плохим" и у него новая идея фикс, выучить теперь Visual FoxPro и сложные расчетные части БД перенести на него, сделав из него подобие 3-его звена. Я не буду говорить, как "хорошо" он знает теорию релляционных БД и как хорошо он знает VFP (работал он еще с 2.x и думает что это одно и тоже). Я в ужасе, что не могу ему обьяснить, что безграммотность и кривизна рук сменой платформы не лечиться. Сказать все своими словами не могу - политика. Единственное что остается, это убедить не в том, что VFP к примеру плох, а что для его задачи к большому сожалению не подходит. Проект находиться в эксплуатации и такие замахи могут просто вообще привести к тому, что он рухнет.

P.S. Если наоборот у кого то есть реальный опыт написания таких вот "разгрузочных" частей сложных расчетов на VFP для БД MSSQL и он готов помочь этому человеку "вернуться" к своему любимому Fox-у, то в принципе можно будет обсудить условия сотрудничества, но только с проживающими в Москве. Меня честно говоря единственное интересует - чтобы проект нормально заработал, если кто то докажет, что разрулить расчеты легче, быстрее и надежнее на VFP, не трогая основную структуру БД (не дай бог), то думаю такому человеку я смогу обеспечить неплохой договор с этой конторой на сотрудничество (вполне возможно, что они предложат потом постоянную работу на выгодных условиях) и от себя лично поставлю бутылку хорошего коньяку :)
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385400
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varivan
Ээээ дарагой
Я тебе такой база на экселе сваяю да?
Не говоря уже об аксесе да?
Не говоря уже о фокспре нет?

З.Ы. И ведь действительно сваяю. Уже сваял. На аксесе. Много филиалов. Консолидация в ЦО. Клиентов не больше сотни на филиал. Небольшой объем данных (сотни мег максимум). Что такое "человеческие каналы" - не знаю, поэтому в аргументации помочь не могу...
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385415
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
2Varivan

1. вы можете себе позволить потерять данные ?
2. вы сможете написать репликацию ? вам это интересно ?

2ASCRUS:
получается он хочет вытаскивать из сиквела в дбф и их карежить на процедурном языке фокса без sql ? типа он на интерпритаторе (фоксе) напишет алгоритм круче чем сиквеловский оптимизатор (ядро sql) :)
я в принципе тоже не высокого мнения об оптимизаторе сиквела ... но не нада ж так ошибаться :)

p.s. а фокспро разве умеет юзать многопоточность ? или как он предполагает мидл тиер в одном процессе ?
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385428
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ЛП

Мне не надо ваять базу. Мне надо зарыть Fox Pro. А поскольку сам его практически не знаю, проше аргументов у форумчан.

ПыСы Написать можно что угодно на чем угодно.

2 Gt

1. к сожалению не аргумент... Полчему это фокс данные потеряет?
2. думал на эту тему. Но поскольку каналов человеческих пока нет, СКУЛь репликацию не запользуешь - все равно обмен через файлы

Еще есть мысли?
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385436
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне не надо ваять базу. Мне надо зарыть Fox Pro
Ээээ дарагой, так чтобы зарыть лису - надо знать где лиса может обгадиться. А по словам "много филиалов", "не гигабайты", "клиентов у базы" и "человеческих каналов" - даже самый опытный охотник лису не отследит, да?

З.Ы. Тебе надо поругать фокспро? Так и пиши. Или тебе надо поругать фокспро с точки зрения выбранной задачи? Тогда расшифруй "человеческие каналы".
З.З.Ы. Если серьезно, то шансов нихт - при условии хорошо подвешенного языка у фокспрошника. Повторяю - такие системы с полпинка реализуются даже на экселе тьфу аксесе. Можно посоветовать отрезать язык у фокспрошника.
Удачи.
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385573
Высоцкий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не надо ничего зарывать

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

With best regards
Oleg Vysotsky
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385594
Высоцкий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для ASCRUS.

Трудно найти черную кошку в комнате, там где ее нет. В действительности насколько я понял имеется плохо спроектированная базы. Увы таких много.
Тут программиста (то биш проектировщика) менять надо. Если будет принято решение перейти на FOX то -
Остается ждать что в какой-то из моментов просто выключится питание - побьются индексы и данные и стадо программистов будет рыть копытами в надежне ныйти подходящую копию.

Ну а если серьезно.

1. FOXPRO достаточно быстр - но для файл-серверной системы.
2. Дальше конечно следовало бы указать все недостатки файл-серверной системы (Но я думаю - что и так все о них знают)
3. Личные наблюдения - разрушение заголовков таблиц, данных - хотя бы по причине сбоя одного клиента.
4. Существенный недостаток - отсутствие средств коллективной разработки
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385671
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточню смысл. В БД на MSSQL реализован сложный расчет. Реализован супер криво - типа вызывается ХП, ей передается код договора, она вызывая дикую серию еще ХП и UDF его считает. В расчете управления транзакциями и блокировками нет. Зато есть куча select into #TempTable. Работа вся ведется с основными таблицами БД, которые хранят в себе всю историю входящих и расчетных данных. При расчетах множества договоров клиент, как вы уже наверное догадались, организует себе по ним курсорчик и на каждый вызывает процедуру расчета. Про все отстальное я молчу, скажу только, что больше всего меня впечатлили UDF на связи таблиц в запросах, которые внутри себя еще кучу select вызывают. Как и следовало ожидать все это при 1000 договоров и 2 операторов работает более менее удовлетворительно, а вот уже при 50 000 и 10 операторов даже без фанты останавливает наикрутейший сервак. Конечно самое оптимальное решение - просто переписать расчет, но есть 2 "но":
1. Чтобы его разрулить придеться изменять структуру входящих данных (если в EM создать общую диаграмму БД, то она больше похожа на схему материнской платы, даже отчетливо "видны" шлейфа - к одной таблице бывает и по 40 связей, причем быстрей всех сгенерил схему PD, а ErWin я так и не долждался)
2. Ее создатель неплохо устроился, он руководитель и живет по принципу, что хочу, то говорю и творю.

В соответствие с выше сказанным его последняя идея - MSSQL гадость, так как ничего не работает, а Fox рулит, так как когда писал на нем, все работало. Поэтому надо написать расчет на Fox-е и пускать его на каждом клиенте. Решаются проблемы блокировок и тормозов сервера. Перекачал данные, нужные для расчета на таблички Фокса (их на самом деле не много), там прогнал расчет в монопольном режиме и обратно данные фуганул в MSSQL. Ну и вроде как все довольны получаются.

Может ли это решение сработать на самом деле, с учетом того, что его расчет наверное действительно при таких курсорных подходах будет быстрее на Фоксе работать?
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385685
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может тебе работу поменять?
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385707
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не на моей работе :) Хотя на моей работе есть проекты с БД еще покруче, чем эта.
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385835
Фотография brahew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Varivan
как то ничего на ум не приходит, как можно наглухо закопать .dbf, по сравнению с sql серверами, а на местах, где будет крутится задача, специалисты, или понимающие скуль есть? У скуля есть возможность удаленного администрирования, лучшая стойкость при изменении структуры данных, при переходе на качественно новый уровень, задача на скуле, будет удовлетворять требованиям и можно сказать, что у нас используется скуль, хоть это мало кого трогает, бОльшая стойкость к защите данных

2ASCRUS
такая схема, про которую говорит хорошо устроившейся начальник работать будет, но медленней чем на чистом дбф, и уж намного медленней чем правильно написанном скуле, а одним из доводов к начальнику может быть: старые задачи работавшие на 2.х, работали быстро, отчасти из-за малого времени откоика при обращении к таблицам, а вот если сейчас не перепроектировать базу, а писать как вы предлагаете, то толпа юзеров, часто дергающие данные для расчетов с сервера, положат червер и сеть, и работать будет медленно из-за более низкого времени отклика чкуля перед дбф, но в случае правильного написания базы, грузится будет сервер, а не сеть+раб.станции+сервер, ну и как-то аккуратео намекнуть что применять к сложившейся ситуации наработки 20-летней давности, не есть правильно
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385902
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Varivan!

Вот угораздило же Вас привести такие условия задачи, когда зарыть FoxPro толком-то и не получится ;-)

Как я понял, изначально данные генерятся независимо. Потом наступают некие события - и очередные порции данных отправляются в центр, где консолидируются.
Таким образом, система в центральном сервере, с которым (и только с которым) все работают, не нуждается.
Таким образом, быть on-line с центром все время не надо.
Таким образом, все сводится к передаче данных сравнительно небольшими порциями по любым каналам связи (хоть бы и на дискетках ;-)).
Таким образом преимущества КС сводятся на нет.
Собственно, и репликация "в ее лучших проявлениях" в приведенных условиях не нужна, главное, обеспечить, чтобы код источника возникновения данных входил в первичные ключи.
Ну а в "узлах" этой распределенной сети вполне могут быть сети с толстыми каналами и ФС. Ну и как тут зарывать FoxPro, скажите пожалуйста?

Далее, FoxPro вполне нормально может выступать не как "вещь в себе", а в разных ипостасях:
- быть клиентом (и весьма неплохим),
- быть сервером приложений,
- быть базой данных (если Fox БД совмещается с Fox сервером приложений, то это получается уже почти КС-технология ;-)).

Минусы Foxа на небольших (негигабайтных) объемах данных - если руки у разработчика правильные - еще не проявляются.
Вот такой компот с мухоморами ;-)
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32385907
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ЛП

Тебе надо поругать фокспро? Так и пиши. Или тебе надо поругать фокспро с точки зрения выбранной задачи? Тогда расшифруй "человеческие каналы".

Да, мне лису обругать надо. Но т.к. ругать в прниципе это только воздух сотрясать, то привел некоторые условия задачки

Человеческие каналы - это как минимум постоянное соединение. Скорость от 56-128К


2 brahew

Спасибо за идею. Действительно, непонятно как фокс (равно как и любой другой клиент) разворачивать и пасти на местах.
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386038
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
2Varivan:
1. к сожалению не аргумент... Полчему это фокс данные потеряет?
у фокса нет лога транзакций - соответственно при любом сбое теряются данные ... я слвбо представляю где такое допустимо.

2ASCRUS

чо то не понял как такое работает ... ведь если расчет идет на фоксе то мне нужно на сиквеле заблокировать как минимум всю входящую информацию, иначе она может изменится в ходе расчета. дальше если заблокировал - клиент оказался тормозом (запустил антивирус/игрушку) и все ждут пару часов пока этот тормоз разблокирует ...
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386075
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gt.
Ну там люди особо насчет таких вещей не переживают и не задумываются. У них весь этот дикий расчет идет через Autocommit без каких либо признаков явных транзакций, а Вы про такое :) На такие "мелочи" уже никто внимания не обращает :)
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386087
Varivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Urii

Таким образом, все сводится к передаче данных сравнительно небольшими порциями по любым каналам связи (хоть бы и на дискетках ;-)).

Так то оно так, но задач синхронизации справочников никто не отменял. Постоянный on-line не нужен, но потоки данных двунаправленные. Отсутствие каналов досадное техническое ограничение, которое нужно бороть.

2 Gt

у фокса нет лога транзакций - соответственно при любом сбое теряются данные ... я слвбо представляю где такое допустимо.

Уже лучше. Давайте попробуем развить:
1) у фокса вообще транзакции есть?
2) Если да, то есть ли распределенные и как он борет ситуацию с отказом питания, например, все таки? Именно для этого же транзакции придумали.
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386149
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
2ASCRUS

мда :) действительно впечатляет, типа если расчет на пол пути загнулся по каким-то причинам, они ручками вычищают ? cool :)
мда серьезный подход, сурьезные люди :) ... думаю ваши аргументы тоже должны быть сурьзными ...

2Varivan
транзакци кажется там были (если юзать их sql движек), там какие-то понятия буферизации были - наверно на клиенте типа версионность делается (сам лет 5 назад смотрел). типа клиент качает пол файла и у себя его корежит, а на комит сваливает в файл бд. как он разбирается не изменились ли данные пока он там корежил - не знаю.
если клиент что-то заблокировал и по пути отвалился, блокировки наверно на всегда останутся, по любому снять их уже некому ...
распределенных естествено нет, сбой питания - фатально, востановить уже никак.

p.s. транзакции все таки не для этого придумали
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386160
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 - это то с чем лучше в здравом уме не связываться. По крайней мере если есть выбор - так как затраты на обучения себя не окупят в любом случа.
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386180
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сбой питания - фатально, востановить уже никак.

Так уж и никак? :) Сколько сталкиваюсь с разными legacy-системами на FP2.5-VFP7 - как то они работают и выключения питания переносят. Т.е. все проблемы там решить можно. Главная проблема с VFP - эти проблемы сейчас на других платформах решаются ВСЕГДА еще легче - так что написание чего-то на VFP с нуля сейчас если нет 10 летнего опыта на нем - задача не стоящая

Хорошей практикой работы с VFP является использование терминальных сессий к файл-серверу а сам сервер на UPS - в таком случае большинства проблем можно избежать. У нас, например, АБС на VFP7 - и про те ужасы что упоминались в этом треде я никогда не слышал :)
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386182
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и стратегию/тактику репликации в VFP придется воплощать ручками с начала и до конца. Хотя ничего сверхсложного нет, но нет и штатного репликатора.
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386203
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2funikovyuri
полное отсутвие поддержки со стороны CASE-средств
Это кстати неверно. Еще со времен VFP6 на MS лежал модуль для работы с Visual Modeler. Erwin по жизни VFP поддерживал.

ON ERROR ... - но это очень убогая вещь и использовать ее не удобно
Но гораздо удобнее чем IF @@ERROR :)

Теперь о теме разговора. Речь ведь идет в первую очередь о сравнении СУБД.
2Varivan
Неужели так сложно доказать приемущество клиент-серверной системы над файл-серверной?

На VFP можно написать вполне нормально работающую систему. Но перед этим нужно реализовать вручную, все то что уже отлично реализовано в MS SQL.
А некоторые вещи вообще не реализуемы в силу ограниченности фокса. Споров на эту тему уже было достаточно.
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386222
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
З.Ы.
При всей моей любви к фоксу писать файл-серверную систему я бы согласился только за большие деньги :)

2Varivan
Расскажите плс, если не секрет, причину возникновения подобного вопроса?
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386224
Gt.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Gt.
Гость
Так уж и никак? :)

никак :) или вы знаете как можно без лога транзакций
recover database until time ....

p.s. ups не спасает от ошибок разработчиков, чудес файловой системы, выгорания диска и других приключений.
...
Рейтинг: 0 / 0
FoxPro vs MS SQL. Нужно зарыть FoxPro
    #32386229
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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# - так что само сабой я могу и ошибаться - но, тем не менее, вы вроде согласились с большей частью моего текста :)

С уважением...
...
Рейтинг: 0 / 0
25 сообщений из 148, страница 1 из 6
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / FoxPro vs MS SQL. Нужно зарыть FoxPro
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]