powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Клиен-сервер и терминал
6 сообщений из 56, страница 3 из 3
Клиен-сервер и терминал
    #34141792
ВЧ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>А почему сразу не взять SQL сервер?

Все правильно. IP-сервера по скорострельности и функциональности не будут конкурировать.
Сделано для снятия проблем с надежностью в ФС-приложениях, а также для обеспечения
доступа к ним через интернет. При этом переписывать приложения почти не надо.
Но нарушается монолитность приложения - часть кода на сервере, часть на клиенте.
Поэтому я тоже думаю, что проще использовать SQL-сервер. А если стремиться сохранить
монолитность приложения - то терминал.
...
Рейтинг: 0 / 0
Клиен-сервер и терминал
    #34141813
ВЧ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>лана, щаз все же загляну в описание mdb, разберемся в вашей фантазии.

Думаю, что стоит побольше знать об альтернативных технологиях, даже
если не собираешься их использовать. Тогда меньше наивных мыслей и больше
плодотворных идей... Успехов.
...
Рейтинг: 0 / 0
Клиен-сервер и терминал
    #34141850
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЧ
Думаю, что стоит побольше знать об альтернативных технологиях, даже
если не собираешься их использовать. Тогда меньше наивных мыслей и больше
плодотворных идей... Успехов.
извини друк, но это не технология это атавизм. технология шоб ты знал от греч. téchne - искусство, мастерство, умение и ...логия т.е. не про ФС :)
что же касается "черновых" страниц, как удалось выяснить МС как обычно в своем стиле просто скрывает формат файла, поэтому ваш перл рассматривать только как плод больного воображения. во всяком случае мне не понятно откуда у вас могло так разыгратся воображение, т.к. т е кто разобрались в формате "черных дыр" не обнаружили
...
Рейтинг: 0 / 0
Клиен-сервер и терминал
    #34142194
ВЧ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выкладываю выдержку из доки и выдержку из переписки разработчиков по поводу транзакций в топспидовских таблицах. На этом завершаю обсуждение.

=======================================================
Transaction Processing--the TCF File
Speedy Logging and Automatic Recovery

TopSpeed transaction logging is very fast (about 100 times faster than the Clarion
driver). With LOGOUT, the TopSpeed engine posts all transactions to memory.
ROLLBACK simply frees the memory, while COMMIT writes out the database changes in a
stream. If a system crashes during a transaction (LOGOUT--COMMIT), the recovery is
automatically handled by the TopSpeed driver the next time the affected file is accessed.

The Transaction Control File

The transaction control file (.TCF) is used to ensure that changes to more than one DOS
file, which are grouped into a transaction, either all happen or none happen. By default
the transaction control file has the name "TOPSPEED.TCF." The TCF driver string lets you
change this. See TCF for more information.
When any workstation finds a file which is in a partially committed state, and which was involved in a multi-file transaction, it needs to access the TCF file to decide what to do. The TCF file provides "atomicity"--a single (boolean) storage location which inndicates if a multi-file transaction committed or not.

Note that the .TCF file contains very little information; it just serves to coordinate multi-file commits. The actual rollback/commit data is stored in the data (.TPS) files.

How TopSpeed Transaction Logging Works

LOGOUT gives each transaction a unique id which it stores in the .TCF file. LOGOUT also stores the .TCF file name and transaction id in each data (.TPS) file which is updated, so that after a crash, the next time the file is opened the TopSpeed driver can find the .TCF file and do any necessary recovery. COMMIT removes the unique transaction id from the .TCF file.
To be effective, the .TCF file must be accessible when any files controlled by it are accessed. Therefore, you generally should not delete or move .TCF files. If a transaction updates network files, you should specify a transaction control file on the network.

It is not necessary to use the same TCF file for all transactions; however, we strongly recommend it. The consequence of there being several TCF files with various levels of accessibility (or of a deleted or overwritten TCF file) is that some of the files within a transaction might be updated and others left unchanged.

=============================================

Здравствуйте, коллеги!

Все таки решил до конца разобраться с работой
процесса транзакции на TPS-драйвере.

Сначала некоторые уточнения и дополнения к предыдущим
моим письмам по этой теме.

- Во время выполнения оператора COMMIT() физическая запись
данных в файлы производится поочередно в порядке, обратном
порядку их задания в операторе LOGOUT().

Все это происходит в четыре этапа:
1. Создается TCF-файл и в него записывается информация о таблицах,
участвующих в транзакции.
2. Данные, накопленные в транзакционном буфере,
записываются во ВСЕ таблицы в резервные(временные) страницы.
Некоторые особенности этих страниц будут описаны ниже.
3. Происходит модификация TCF-файла.
В чем она заключается - не разбирался, но это - единственная
модификация TCF-файла в рамках транзакции. Очевидно, что
при этом записывается информация об окончании этапа N2.
4. Записи из резервных страниц во ВСЕХ таблицах переписываются
в нормальные(постоянные) страницы. Резервные страницы при
этом не удаляются. Это произойдет лишь во время закрытия
таблиц оператором CLOSE().

Особенности резервных(временных) страниц, в случае прерывания
выполнения оператора COMMIT():
- до завершения этапа N3, резервные страницы НИКАК себя
не проявляют в дальнейшем.
- после завершения этапа N3 и до завершения этапа N4:
- если до транзакции таблица была пустой, то ВСЕ записи
в резервных страницах нормально читаются ВСЕМИ операторами
типа GET/NEXT/PREVIOUS;
если в таблице уже были записи, то резервные страницы
не видны.
- если до транзакции таблица была пустой, то при первом-же
выполнении оператора модификации типа ADD/PUT/DELETE
записи из резервных страниц переводятся в нормальные
а сами резервные страницы удаляются.
- при закрытии таблицы оператором CLOSE резервные страницы
просто удаляются.

- Автоматического восстановления таблиц НЕ ПРОИСХОДИТ!!!

- если выполнение COMMIT() прервалось во время
выполнения этапа N4, то ВСЕ таблицы открываются
нормально, но резервные страницы остаются на месте со
всеми последствиями, описанными выше.
Оператор CLOSE() удаляет резервные страницы.
При этом модификация одной таблицы НЕ ЗАТРАГИВАЕТ
другие таблицы, которые участвовали в транзакции!
Таким образом, если во время этапа N4 некоторые
таблицы уже были полностью обработаны, то их
"ОТКАТА" НЕ БУДЕТ НИКОГДА!

Вот так!!!
В транзакции участвовало несколько файлов, а их восстановление
происходит РАЗДЕЛЬНО!
Т.е., НИКАКОГО СОХРАНЕНИЯ ЛОГИЧЕСКОЙ ЦЕЛОСТНОСТИ ДАННЫХ
транзакция НЕ ОБЕСПЕЧИВАЕТ!

Хотя, нет, стоп! Не столь категорично!
- Логическая целостность обеспечивается на все 100% ТОЛЬКО
ДО выполнения оператора COMMIT().
- Крах ВО ВРЕМЯ выполнения оператора COMMIT() практически
не страшен до завершения этапа N3.
- Крах ВО ВРЕМЯ этапа N4, В БОЛЬШИНСТВЕ случаев,
приводит к НАРУШЕНИЮ ЛОГИЧЕСКОЙ ЦЕЛОСТНОСТИ данных!

Короче, остается лишь уповать на надежность оборудования
в том коротком промежутке времени, когда выполняется
этап N4 оператора COMMIT()!
И, соответственно, стараться делать обьем транзакций минимальным.
Хотя, как в таком случае соблюсти логическую целостность?!

И еще остается вопрос - на кой нужен TCF-файл!?
Если он реально НЕ ОБЕСПЕЧИВАЕТ связное восстановление
таблиц, участвовавших в транзакции!

Ау, коллеги, "близкие" к SV!
Возможно разработчики из SV опровергнут мои выводы
(очень хотелось-бы!), или, хотя-бы, дадут некоторые
разьяснения!?

Кстати! Во время открытия таблицы, которая участвовала в прерванной
транзакции, определяется факт наличия незавершенной транзакции!
Но никаких действий по ее "откату" НЕ ПРОИЗВОДИТСЯ!
Почему - не стал вникать - уж слишком там "наворочено".
Поэтому хотелось-бы и по этому поводу получить разьяснения
от разработчиков SV!

=============================
С уважением, Олег А. Руденко.
...
Рейтинг: 0 / 0
Клиен-сервер и терминал
    #34148408
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЧВыкладываю выдержку из доки и выдержку из переписки разработчиков по поводу транзакций в топспидовских таблицах. На этом завершаю обсуждение.

речь шла об access и конкретно о структуре mdb ? откуда взялся какой-то topspeed умерший похоже еще в прошлом веке я чего-то не понял...
...
Рейтинг: 0 / 0
Клиен-сервер и терминал
    #34163826
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут кто-то упомянул про ip-сервера для ФС баз данных. Во время оно (1999-2001 год) занимался эксплуатацией большой системы на .dbf. Стоял вопрос надежности. Работали недолго с Advantage Database Server в редакции для Novell Netware и ODBC-драйверами от Merant.
Короче говоря - год работы и экспериментов ни к чему не привел. Выбросили старые технологии на помойку и перешли на PostgreSQL. Не жалеем.
...
Рейтинг: 0 / 0
6 сообщений из 56, страница 3 из 3
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Клиен-сервер и терминал
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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