Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
авторПредположим клиент заблокировал запись и отвалился. Как будет вести себя СУБД? Аксесс будет вести себя просто, если клиент отвалился, то и блокировки с файла снимутся. При модификации данных в заголовок пишется флажок модификации. Если клиент отвалит до его снятия - база перейдёт в состояние Corrupted, нужно произвести Repair. Схему изложил очень грубо. если интересно, как блокировки реализованы в аксессе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 16:17 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
В FP блокировку снимет файловый сервер. Через некоторое время. Если клиент "отвалился", установив блокировку, ничего страшного не случится, за исключением того, что в течение времени, пока файл-сервер ее не снимет, запись таблицы будет недоступна для операции записи. Кстати, наложение блокировки никогда не запрещает доступа по чтению. Транзакции в VFP, конечно, есть, но они не такие, как в "серьезных" серверах БД. И если с точки зрения записи в таблицы БД они способны обеспечить должный уровень контроля и целостность при сохранении единого блока операций, то с точки зрения чтения не все так хорошо. Насколько я знаю, нет никакой гарантии, что в выборку одного пользователя не попадут данные из еще не до конца проведенной транзакции другого. Если не принять специальные меры. А именно, в особо критичных случаях придется ставить блокировку и перед чтением , а не только при записи. К счастью, такие случаи можно пересчитать по пальцам. ;-) Хочу заметить, что в старых версиях FP вообще не было транзакций, но это не мешало реализовывать замухрявистую многопользовательскую работу одним только ручным наложением блокировок. Отсюда и исторически сложившаяся в FP традиция работать "короткими транзакциями", о которых упоминал Sergey Ch (сколь угодно продолжительная работа пользователя с буфером, затем блокировка, тут же проверка, не изменились ли данные другими пользователями, пока шла работа с буфером, и тут же запись и снятие блокировки). Такому поведению соответствует теперешний режим "оптимистических блокировок" в VFP. Он применим практически всегда, за исключением случаев, когда за какой-либо ресурс идет сильная конкуренция. Тогда лучше блокировать, потом редактировать, потом писать и снимать блокировку. Кто первым встал - того и тапки. Это режим "пессимистических блокировок". Но и здесь надо так обустроить, чтобы надолго ресурс не блокировался. Кстати, а ведь правило, согласно которому надо стараться как можно реже и на минимальное время блокировать ресурсы, оно ведь универсальное. ;-) Т.е. и в "серьезных" серверах негоже раздувать лог транзакций сверх всякой меры ;-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 18:56 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
UrriВ FP блокировку снимет файловый сервер. Через некоторое время. Если клиент "отвалился", установив блокировку, ничего страшного не случится, за исключением того, что в течение времени, пока файл-сервер ее не снимет, запись таблицы будет недоступна для операции записи. это как :) ? может я конечно от прогресса в области файл-серверов отстал, но этож просто сервер-чудотворец получается. как файл сервер может узнать который юзер что-то там покарежил в заголовке дбф файлика, да и еще и коректно откарежить этот заголовок обратно ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 19:16 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Так ведь не покорежил же еще ;-) Блокировка ставится на уровне ОС файл-сервера ;-) Другое дело, если пользователь запись не только заблокировал, но и писать туда начал уже - и отвалился в это время. Это уже, как правило, приводит к разной тяжести сбоям. Ну а простая блокировка - это еще как бы и ничего. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 19:24 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Да, возможно, мои знания несколько устаревшие - я описал работу скорее со свободными таблицами , а вот что творится в контейнере БД (это отдельная, специальная таблица) во время транзакции, плохо себе представляю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 19:28 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
>Так ведь не покорежил же еще ;-) Блокировка ставится на уровне ОС файл-сервера ;-) непонял ... есть файлик, его можно на уровне ос залочить только целиком. что не канает. дальше есть заголовок файлика, там фокс хранит инфо о блокировках. какая связь этого заголовка и оси сервера на котором лежит файлик ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 19:29 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Файлико можно на уровне ос залочить и по частям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 19:31 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Sergey ChК сожалению VFP поддерживает только что-то среднее на уровне READ COMMITTED + SERIALIZABLE , то есть если есть открытая транзакция, то остальные пользователи читать не могут данные. UrriНасколько я знаю, нет никакой гарантии, что в выборку одного пользователя не попадут данные из еще не до конца проведенной транзакции другого. Странно, эти два утверждения противоречат друг другу. "Sergey Ch" - говорит про блокировку , а "Urri" про DIRTY READS и отсутствие блокировки по чтению. Кто же прав ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 21:13 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
>Файлико можно на уровне ос залочить и по частям. лет 10 назад так умел только новель, а как же фокс работает на win9x ? и действительно если блокируется часть файла на уровне оси как другой юзер хотябы прочитает эту часть ?? и в гугле нихера не нашел, зато нашел как там забавно с индексами: http://forum.foxclub.ru/read.php?f=5&i=82145&t=82145#reply_82145 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 22:03 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Yo!лет 10 назад так умел только новель уже сто лет так умеет делать любая винда аксес, например, активно использует блокировку частей файла (правда, не основного, а специально выделенного под это дело) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 01:14 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Лох Позорный аксес, например, активно использует блокировку частей файла (правда, не основного, а специально выделенного под это дело) А может, таки, он куски файла не блокирует, а пишет флажки - признаки блокировки записи в файл " специально выделенный под это дело" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 06:40 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Так никто и не сказал, есть транзакции в FP или нет:-(. P.S. Много много лет назад нарвались мы на большую каку - в момент регистрации нового авто (это была БД МРЭО) один хороший человек вырубил сервер на котором была БД угонов. Регистрация затргивала порядка 5-6 таблиц и проверка на угон шла где-то посередине "транзакции". Можете себе представить радость рукопашной правки таблиц по 80-120 Мб размерами. Согласитесь - типичная ситуация. И не редкая. Поэтому я утверждал и буду утверждать - нет транзакций, нет СУБД. Это и к MySQL относится тоже, хотя говорят, что это сервер БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 10:00 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
f_w_pТак никто и не сказал, есть транзакции в FP или нет:-(. P.S. Много много лет назад нарвались мы на большую каку - в момент регистрации нового авто (это была БД МРЭО) один хороший человек вырубил сервер на котором была БД угонов. Регистрация затргивала порядка 5-6 таблиц и проверка на угон шла где-то посередине "транзакции". Можете себе представить радость рукопашной правки таблиц по 80-120 Мб размерами. Согласитесь - типичная ситуация. И не редкая. Поэтому я утверждал и буду утверждать - нет транзакций, нет СУБД. Это и к MySQL относится тоже, хотя говорят, что это сервер БД. В том понимании, как это описано у Кодда - НЕТ. А после этой "каки", на Oracle перешли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 10:41 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Zaxx Sergey ChК сожалению VFP поддерживает только что-то среднее на уровне READ COMMITTED + SERIALIZABLE , то есть если есть открытая транзакция, то остальные пользователи читать не могут данные. UrriНасколько я знаю, нет никакой гарантии, что в выборку одного пользователя не попадут данные из еще не до конца проведенной транзакции другого. Странно, эти два утверждения противоречат друг другу. "Sergey Ch" - говорит про блокировку , а "Urri" про DIRTY READS и отсутствие блокировки по чтению. Кто же прав ??? Скорее всего оба. Я имел в виду пессиместическую блокировку а Urri опимистическую, то есть в его случае клиент в памяти своего компьютера выполнил операцию, но сервер ее еще не начал осуществлять - если сделать выборку в данный момент, то данные будут старые. Вот почему делать все нужно через триггеры или ХП. В данном случае, как и в обычном клиент - сервере все делается из одного места и тогда вступает првило о котором говорил я... И не надо забывать, что FoxPro работает очень быстро с данными и блокировки проходят незаметно для пользователей при правильной работе с базай данных - причем справедливы правила как и для всех БД - все делать только через триггеры или ХП - а в них уже писать Вашу бизнес - логику... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:09 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
f_w_pТак никто и не сказал, есть транзакции в FP или нет:-(. В FPD транзакций не было - там шел пакет для Novell. Так вот этот пакет позволял очень хорошо отслеживать транзакции на уровне OS. Неоднократно и не только мной проводились эксперименты - выключалось питание сервера в момент проведения транзакций... После включения питани во время загрузки сервера выдавалось сообщение - у вас столь-ко то незавершенных транзакций - сейчас произойдет откат... И все возвращалось в исходное сосотояние... Да, связкака Novell+FPD 2.6 работала очень хорошо, надежнее многих современных клиент-серверов :) Да и программы мы тогда писали с большим количеством мысли :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:16 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
f_w_p Sergey ChЧего не хватало раньше FoxPro? Правильно, тонкой прослойки, котрая бы слушала запросы от клиента и посылала бы ему назад ответы. Начиная с 7 версии MS вживил в VFP Web Services - и тем самым првератив FoxPro в одну из самых быстрых клиент-серверных СУБД... Это не клиент-сервер. Это трехзвенное приложение. Причем между APP сервером и СУБД все равно отношения файл серверные и никуда вы от этого не денетесь. А что, клиент-сервер после получения запроса от клиента работает как-то иначе? Скорее всего нет - все тот-же файл-сервер, но на одной машине, ничего нового, увы - еще не придумали а SQL Server - это та-же прослойка что и Web Serveices для FoxPro, только туда (SQL Server) встроили немного логики... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:23 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Zaxx Лох Позорный аксес, например, активно использует блокировку частей файла (правда, не основного, а специально выделенного под это дело) А может, таки, он куски файла не блокирует, а пишет флажки - признаки блокировки записи в файл " специально выделенный под это дело" ? Зачем гадать? Никаких флажков, я ссылку кидал. в Винде блокировки на участки файла - логические, они не препятствуют операциям чтения/записи, т.е работают на уровне соглашений между процессами, совместно использующих файйл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:33 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
f_w_pТак никто и не сказал, есть транзакции в FP или нет Так это зависит от того, какую совокупность мероприятий мы объявим достаточной, чтобы ее можно стало назвать термином "транзакция". ;-) Если мы будем подразумевать под наличием транзакций в системе только наличие механизма, обеспечивающего целостность некоей логически единой совокупности атомарных операций изменения данных, включая запрет изменения данных другим пользователем или процессом, пока не завершена отработка этой совокупности, и возможность либо целиком сохранить изменения, либо откатить их так же целиком, если что-то пойдет не так, то, безусловно, транзакции в VFP есть. Но механизм транзакций VFP не спасает от порчи таблиц при выключении питания на сервере. И при вылете пользователя посередине незавершенной транзакции не спасает тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:47 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
nik_xА после этой "каки", на Oracle перешли?Таки перешли ;-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:54 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Urri nik_xА после этой "каки", на Oracle перешли?Таки перешли ;-))) Да. Я, правда, как раз свалил на другое место работы, а мои бывшие коллеги перешли на Oracle под нетварь. Уж не помню какая версия, наверное 7.* какая-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 12:38 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
UrriНо механизм транзакций VFP не спасает от порчи таблиц при выключении питания на сервере. И при вылете пользователя посередине незавершенной транзакции не спасает тоже. Ну так это не транзакция. Это нечто иное, только маскируется хорошо:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 12:41 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
f_w_pМного много лет назад нарвались мы на большую каку - в момент регистрации нового авто (это была БД МРЭО) один хороший человек вырубил сервер на котором была БД угонов. Регистрация затргивала порядка 5-6 таблиц и проверка на угон шла где-то посередине "транзакции". Можете себе представить радость рукопашной правки таблиц по 80-120 Мб размерами. А что мешало сначала выполнить все проверки, а потом единым пакетом сохранить данные на диск? Так логичнее с любой точки зрения. f_w_pСогласитесь - типичная ситуация. И не редкая. Не соглашусь. Редкая и не типичная. Или у вас вырубить сервер - как покурить выйти? Последний раз я сталкивался с повреждением таблиц году в 98. С тех пор то ли сети научились хорошо прокладывать, то ли Винда стала меньше виснуть f_w_pПоэтому я утверждал и буду утверждать - нет транзакций, нет СУБД. Это и к MySQL относится тоже, хотя говорят, что это сервер БД. Что называть термином "СУБД" - дело вкуса. Думаю, использовать для БД МРЭО Oracle - правильное решение по многим причинам. А не только потому что "с новой базой сервер стали реже отключать" ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 14:36 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
karly™А что мешало сначала выполнить все проверки, а потом единым пакетом сохранить данные на диск? Так логичнее с любой точки зрения. Что мешало сейчас уже не упомнишь - все ж 11 лет прошло. karly™ f_w_pСогласитесь - типичная ситуация. И не редкая. Не соглашусь. Редкая и не типичная. Или у вас вырубить сервер - как покурить выйти? Последний раз я сталкивался с повреждением таблиц году в 98. С тех пор то ли сети научились хорошо прокладывать, то ли Винда стала меньше виснуть При чем здесь физическое повреждение таблиц. Я о нарушении целостности говорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 15:41 |
|
||
|
Бесплатные десктопные СУБД лучше FoxBase в природе существуют?
|
|||
|---|---|---|---|
|
#18+
Yo! UrriВ FP блокировку снимет файловый сервер. Через это как :) ? может я конечно от прогресса в области файл-серверов отстал, В некоторых OS есть API для блокировки областей файлов (в которых в свою очередь есть тайм-аут на блокировку). FoxPro его может использовать. На сколько я помню, это было (и есть) в Nowell, и для FoxPro для DOS были доп. библиотеки, которые позволяли блокировать записи с использованием этого API. В LanManager (т.е. в Win32 ) тоже может быть такое API, а если оно есть, то современный Fox наверняка его использует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 12:04 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32828239&tid=1553955]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 172ms |
| total: | 342ms |

| 0 / 0 |
