powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
25 сообщений из 122, страница 4 из 5
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827091
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПредположим клиент заблокировал запись и отвалился. Как будет вести себя СУБД?

Аксесс будет вести себя просто, если клиент отвалился, то и блокировки с файла снимутся.
При модификации данных в заголовок пишется флажок модификации. Если клиент отвалит до его снятия - база перейдёт в состояние Corrupted, нужно произвести Repair. Схему изложил очень грубо.
если интересно, как блокировки реализованы в аксессе
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827459
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В FP блокировку снимет файловый сервер. Через некоторое время. Если клиент "отвалился", установив блокировку, ничего страшного не случится, за исключением того, что в течение времени, пока файл-сервер ее не снимет, запись таблицы будет недоступна для операции записи. Кстати, наложение блокировки никогда не запрещает доступа по чтению.
Транзакции в VFP, конечно, есть, но они не такие, как в "серьезных" серверах БД. И если с точки зрения записи в таблицы БД они способны обеспечить должный уровень контроля и целостность при сохранении единого блока операций, то с точки зрения чтения не все так хорошо. Насколько я знаю, нет никакой гарантии, что в выборку одного пользователя не попадут данные из еще не до конца проведенной транзакции другого. Если не принять специальные меры. А именно, в особо критичных случаях придется ставить блокировку и перед чтением , а не только при записи. К счастью, такие случаи можно пересчитать по пальцам. ;-)
Хочу заметить, что в старых версиях FP вообще не было транзакций, но это не мешало реализовывать замухрявистую многопользовательскую работу одним только ручным наложением блокировок.
Отсюда и исторически сложившаяся в FP традиция работать "короткими транзакциями", о которых упоминал Sergey Ch (сколь угодно продолжительная работа пользователя с буфером, затем блокировка, тут же проверка, не изменились ли данные другими пользователями, пока шла работа с буфером, и тут же запись и снятие блокировки). Такому поведению соответствует теперешний режим "оптимистических блокировок" в VFP. Он применим практически всегда, за исключением случаев, когда за какой-либо ресурс идет сильная конкуренция. Тогда лучше блокировать, потом редактировать, потом писать и снимать блокировку. Кто первым встал - того и тапки. Это режим "пессимистических блокировок". Но и здесь надо так обустроить, чтобы надолго ресурс не блокировался.
Кстати, а ведь правило, согласно которому надо стараться как можно реже и на минимальное время блокировать ресурсы, оно ведь универсальное. ;-) Т.е. и в "серьезных" серверах негоже раздувать лог транзакций сверх всякой меры ;-)))
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827479
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
UrriВ FP блокировку снимет файловый сервер. Через некоторое время. Если клиент "отвалился", установив блокировку, ничего страшного не случится, за исключением того, что в течение времени, пока файл-сервер ее не снимет, запись таблицы будет недоступна для операции записи.

это как :) ? может я конечно от прогресса в области файл-серверов отстал, но этож просто сервер-чудотворец получается. как файл сервер может узнать который юзер что-то там покарежил в заголовке дбф файлика, да и еще и коректно откарежить этот заголовок обратно ??
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827487
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь не покорежил же еще ;-) Блокировка ставится на уровне ОС файл-сервера ;-)
Другое дело, если пользователь запись не только заблокировал, но и писать туда начал уже - и отвалился в это время. Это уже, как правило, приводит к разной тяжести сбоям. Ну а простая блокировка - это еще как бы и ничего. ;-)
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827491
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, возможно, мои знания несколько устаревшие - я описал работу скорее со свободными таблицами , а вот что творится в контейнере БД (это отдельная, специальная таблица) во время транзакции, плохо себе представляю.
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827494
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
>Так ведь не покорежил же еще ;-) Блокировка ставится на уровне ОС файл-сервера ;-)

непонял ... есть файлик, его можно на уровне ос залочить только целиком. что не канает. дальше есть заголовок файлика, там фокс хранит инфо о блокировках. какая связь этого заголовка и оси сервера на котором лежит файлик ??
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827495
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файлико можно на уровне ос залочить и по частям.
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827556
Zaxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey ChК сожалению VFP поддерживает только что-то среднее на уровне READ COMMITTED + SERIALIZABLE , то есть если есть открытая транзакция, то остальные пользователи читать не могут данные.

UrriНасколько я знаю, нет никакой гарантии, что в выборку одного пользователя не попадут данные из еще не до конца проведенной транзакции другого.

Странно, эти два утверждения противоречат друг другу. "Sergey Ch" - говорит про блокировку , а "Urri" про DIRTY READS и отсутствие блокировки по чтению. Кто же прав ???
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827584
Yo!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Yo!
Гость
>Файлико можно на уровне ос залочить и по частям.

лет 10 назад так умел только новель, а как же фокс работает на win9x ? и действительно если блокируется часть файла на уровне оси как другой юзер хотябы прочитает эту часть ??

и в гугле нихера не нашел, зато нашел как там забавно с индексами:
http://forum.foxclub.ru/read.php?f=5&i=82145&t=82145#reply_82145
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827670
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo!лет 10 назад так умел только новель
уже сто лет так умеет делать любая винда

аксес, например, активно использует блокировку частей файла (правда, не основного, а специально выделенного под это дело)
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827712
Zaxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лох Позорный аксес, например, активно использует блокировку частей файла (правда, не основного, а специально выделенного под это дело)

А может, таки, он куски файла не блокирует, а пишет флажки - признаки блокировки записи в файл " специально выделенный под это дело" ?
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827862
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так никто и не сказал, есть транзакции в FP или нет:-(.
P.S. Много много лет назад нарвались мы на большую каку - в момент регистрации нового авто (это была БД МРЭО) один хороший человек вырубил сервер на котором была БД угонов. Регистрация затргивала порядка 5-6 таблиц и проверка на угон шла где-то посередине "транзакции". Можете себе представить радость рукопашной правки таблиц по 80-120 Мб размерами. Согласитесь - типичная ситуация. И не редкая. Поэтому я утверждал и буду утверждать - нет транзакций, нет СУБД. Это и к MySQL относится тоже, хотя говорят, что это сервер БД.
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827940
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f_w_pТак никто и не сказал, есть транзакции в FP или нет:-(.
P.S. Много много лет назад нарвались мы на большую каку - в момент регистрации нового авто (это была БД МРЭО) один хороший человек вырубил сервер на котором была БД угонов. Регистрация затргивала порядка 5-6 таблиц и проверка на угон шла где-то посередине "транзакции". Можете себе представить радость рукопашной правки таблиц по 80-120 Мб размерами. Согласитесь - типичная ситуация. И не редкая. Поэтому я утверждал и буду утверждать - нет транзакций, нет СУБД. Это и к MySQL относится тоже, хотя говорят, что это сервер БД.

В том понимании, как это описано у Кодда - НЕТ.
А после этой "каки", на Oracle перешли?
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32827995
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zaxx Sergey ChК сожалению VFP поддерживает только что-то среднее на уровне READ COMMITTED + SERIALIZABLE , то есть если есть открытая транзакция, то остальные пользователи читать не могут данные.

UrriНасколько я знаю, нет никакой гарантии, что в выборку одного пользователя не попадут данные из еще не до конца проведенной транзакции другого.

Странно, эти два утверждения противоречат друг другу. "Sergey Ch" - говорит про блокировку , а "Urri" про DIRTY READS и отсутствие блокировки по чтению. Кто же прав ???
Скорее всего оба. Я имел в виду пессиместическую блокировку а Urri опимистическую, то есть в его случае клиент в памяти своего компьютера выполнил операцию, но сервер ее еще не начал осуществлять - если сделать выборку в данный момент, то данные будут старые.

Вот почему делать все нужно через триггеры или ХП. В данном случае, как и в обычном клиент - сервере все делается из одного места и тогда вступает првило о котором говорил я...

И не надо забывать, что FoxPro работает очень быстро с данными и блокировки проходят незаметно для пользователей при правильной работе с базай данных - причем справедливы правила как и для всех БД - все делать только через триггеры или ХП - а в них уже писать Вашу бизнес - логику...
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32828014
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f_w_pТак никто и не сказал, есть транзакции в FP или нет:-(.
В FPD транзакций не было - там шел пакет для Novell. Так вот этот пакет позволял очень хорошо отслеживать транзакции на уровне OS. Неоднократно и не только мной проводились эксперименты - выключалось питание сервера в момент проведения транзакций... После включения питани во время загрузки сервера выдавалось сообщение - у вас столь-ко то незавершенных транзакций - сейчас произойдет откат... И все возвращалось в исходное сосотояние...

Да, связкака Novell+FPD 2.6 работала очень хорошо, надежнее многих современных клиент-серверов :) Да и программы мы тогда писали с большим количеством мысли :)
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32828031
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f_w_p Sergey ChЧего не хватало раньше FoxPro? Правильно, тонкой прослойки, котрая бы слушала запросы от клиента и посылала бы ему назад ответы. Начиная с 7 версии MS вживил в VFP Web Services - и тем самым првератив FoxPro в одну из самых быстрых клиент-серверных СУБД...
Это не клиент-сервер. Это трехзвенное приложение. Причем между APP сервером и СУБД все равно отношения файл серверные и никуда вы от этого не денетесь.

А что, клиент-сервер после получения запроса от клиента работает как-то иначе? Скорее всего нет - все тот-же файл-сервер, но на одной машине, ничего нового, увы - еще не придумали а SQL Server - это та-же прослойка что и Web Serveices для FoxPro, только туда (SQL Server) встроили немного логики...
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32828061
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zaxx Лох Позорный аксес, например, активно использует блокировку частей файла (правда, не основного, а специально выделенного под это дело)

А может, таки, он куски файла не блокирует, а пишет флажки - признаки блокировки записи в файл " специально выделенный под это дело" ?

Зачем гадать? Никаких флажков, я ссылку кидал.
в Винде блокировки на участки файла - логические, они не препятствуют операциям чтения/записи, т.е работают на уровне соглашений между процессами, совместно использующих файйл
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32828112
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f_w_pТак никто и не сказал, есть транзакции в FP или нет
Так это зависит от того, какую совокупность мероприятий мы объявим достаточной, чтобы ее можно стало назвать термином "транзакция". ;-)
Если мы будем подразумевать под наличием транзакций в системе только наличие механизма, обеспечивающего целостность некоей логически единой совокупности атомарных операций изменения данных, включая запрет изменения данных другим пользователем или процессом, пока не завершена отработка этой совокупности, и возможность либо целиком сохранить изменения, либо откатить их так же целиком, если что-то пойдет не так, то, безусловно, транзакции в VFP есть. Но механизм транзакций VFP не спасает от порчи таблиц при выключении питания на сервере. И при вылете пользователя посередине незавершенной транзакции не спасает тоже.
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32828131
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nik_xА после этой "каки", на Oracle перешли?Таки перешли ;-)))
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32828228
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Urri nik_xА после этой "каки", на Oracle перешли?Таки перешли ;-)))
Да. Я, правда, как раз свалил на другое место работы, а мои бывшие коллеги перешли на Oracle под нетварь. Уж не помню какая версия, наверное 7.* какая-то.
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32828239
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UrriНо механизм транзакций VFP не спасает от порчи таблиц при выключении питания на сервере. И при вылете пользователя посередине незавершенной транзакции не спасает тоже.
Ну так это не транзакция. Это нечто иное, только маскируется хорошо:-)
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32828605
karly™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
f_w_pМного много лет назад нарвались мы на большую каку - в момент регистрации нового авто (это была БД МРЭО) один хороший человек вырубил сервер на котором была БД угонов. Регистрация затргивала порядка 5-6 таблиц и проверка на угон шла где-то посередине "транзакции". Можете себе представить радость рукопашной правки таблиц по 80-120 Мб размерами.

А что мешало сначала выполнить все проверки, а потом единым пакетом сохранить данные на диск? Так логичнее с любой точки зрения.

f_w_pСогласитесь - типичная ситуация. И не редкая.
Не соглашусь. Редкая и не типичная. Или у вас вырубить сервер - как покурить выйти?
Последний раз я сталкивался с повреждением таблиц году в 98. С тех пор то ли сети научились хорошо прокладывать, то ли Винда стала меньше виснуть

f_w_pПоэтому я утверждал и буду утверждать - нет транзакций, нет СУБД. Это и к MySQL относится тоже, хотя говорят, что это сервер БД.
Что называть термином "СУБД" - дело вкуса. Думаю, использовать для БД МРЭО Oracle - правильное решение по многим причинам. А не только потому что "с новой базой сервер стали реже отключать" ;-)
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32828784
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karly™А что мешало сначала выполнить все проверки, а потом единым пакетом сохранить данные на диск? Так логичнее с любой точки зрения.
Что мешало сейчас уже не упомнишь - все ж 11 лет прошло.

karly™ f_w_pСогласитесь - типичная ситуация. И не редкая.
Не соглашусь. Редкая и не типичная. Или у вас вырубить сервер - как покурить выйти?
Последний раз я сталкивался с повреждением таблиц году в 98. С тех пор то ли сети научились хорошо прокладывать, то ли Винда стала меньше виснуть
При чем здесь физическое повреждение таблиц. Я о нарушении целостности говорил.
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32829980
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo! UrriВ FP блокировку снимет файловый сервер. Через

это как :) ? может я конечно от прогресса в области файл-серверов отстал,

В некоторых OS есть API для блокировки областей файлов (в которых в свою очередь есть тайм-аут на блокировку).
FoxPro его может использовать. На сколько я помню, это было (и есть) в Nowell, и для FoxPro для DOS были доп. библиотеки, которые позволяли блокировать записи с использованием этого API.
В LanManager (т.е. в Win32 ) тоже может быть такое API, а если оно есть, то современный Fox наверняка его использует.
...
Рейтинг: 0 / 0
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
    #32829988
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Транзакции в современном FoxPro есть, но они не соответствуют стандарту ANSI SQL (не обеспечивают durability). Это не значит, что их нет. Просто они другие.
...
Рейтинг: 0 / 0
25 сообщений из 122, страница 4 из 5
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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