ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.


Жалюзи плиссе на окна шторы плиссе на пластиковые окна.

 

СПЕЦПРОЦЕССОР БАЗЫ ДАННЫХ

     
                                        Ван-Нейм М.Л., Кечингс Б.
     
     Спецпроцессор базы данных (database server) имеет множество преи-
муществ  по сравнению с традиционными системами баз данных на автоном-
ных микрокомпьютерах. Наибольшим его достоинством является, по-видимо-
му, одновременная поддержка данных множества пользователей; но центра-
лизация данных в локальной сети имеет также и другие преимущества.
     Благодаря  хранению единственной копии каждой порции информации в
спецпроцессоре базы данных исключаются избыточность и противоречивость
данных. Для сравнения рассмотрим случай использования нескольких авто-
номных систем на одном предприятии. При хранении одних и тех же данных
(например, фамилий и адресов служащих) в нескольких  местах  изменение
какого-либо  элемента  данных  в  одном месте вызовет противоречивость
данных. Хранение же единственной доступной для всех копии данных  иск-
лючает  необходимость избыточных копий. При внесении изменения его ре-
зультат становится доступным сразу всем пользователям.
     
     
                          Компромисс эволюции
     
     В сущности, спецпроцессор базы данных представляет собой  компро-
мисс  эволюции  между  современными системами баз данных на автономных
компьютерах и централизованными системами баз данных на больших ЭВМ  и
миникомпьютерах. Традиционно микрокомпьютерные базы данных поддержива-
ли данные одного пользователя на одной машине. Микрокомпьютер выполнял
весь объем работы: от запросов к базе данных из пользовательских прик-
ладных программ до организации ввода-вывода на экран. В случае необхо-
димости разделения данных с кем-либо еще пользователю требовалось либо
производить смену дисков, либо соблюдать очередность при использовании
одной и той же системы.
     В противоположность этому, централизованные системы баз данных на
больших ЭВМ и миникомпьютерах позволяли большому количеству  пользова-
телей  одновременно  разделять данные на одной машине. Центральная ЭВМ
выполняла всю обработку базы данных и прикладных программ, а пользова-
тель сидел за терминалом ввода-вывода.
     Архитектура пользователь - спецпроцессор сочетает оба эти  подхо-
да.  Она  использует центральную обслуживающую машину, выполняющую всю
обработку базы данных. Подобно миникомпьютерам и большим ЭВМ  спецпро-
цессор  поддерживает единственную копию базы данных и предоставляет ее
всем пользователям. Спецпроцессор, однако, не выполняет реальные  при-
ложения  базы  данных  или  другие пользовательские программы. Решение
этих задач остается за микрокомпьютерами, выступающими в роли  пользо-
вателей центральной обслуживающей машины. Каждый микрокомпьютер выпол-
няет свои собственные прикладные программы и обрабатывает свой экран и
клавиатуру ввода-вывода. Если прикладной программе требуются данные из
базы  данных, она использует локальную пользовательскую библиотеку для
составления запроса к базе данных, который она посылает  по  локальной
сети в спецпроцессор. После отыскания спецпроцессором требуемых данных
или  выполнения  требуемых операций он посылает данные обратно по сети
пользователю.
     Такая  архитектура  предполагает  распределение  обработки  между
пользователем и обслуживающей машиной, однако она не предполагает рас-
пределения  самих  данных.  Системы баз данных, хранящие свои данные в
нескольких местах и обеспечивающие целостность этой совокупности  дан-
ных, называют распределенными базами данных.
     Перед  спецпроцессором  единственной централизованной базы данных
стоит более простая задача, по сравнению с системой распределенных баз
данных, потому что ему нет необходимости  беспокоиться  о  координации
данных, размещенных в различных местах.
     
     
               Требования,  выдвигаемые спецпроцессором
     
     Спецпроцессор базы данных выдвигает существенные требования к не-
которым основополагающим технологиям. Во-первых, требуется, чтобы цен-
тральная машина обладала достаточной мощностью  для  обработки  много-
пользовательской базы данных. Микрокомпьютеры старшего поколения, нап-
ример, IBM PC XT, первые модели фирмы Macintosh, не обладали достаточ-
ной мощностью для поддержки сложных спецпроцессоров, а новые компьюте-
ры предлагают намного большие возможности обработки. Фактически, цент-
ральные  процессоры  на  базе  микропроцессоров Intel 80386 и Motorola
68030 обеспечивают мощность, сопоставимую с мощностью миникомпьютеров.
     Некоторые разработчики сетей, например, фирма Novell, делают свои
локальные  сети  открытыми  и  для миникомпьютеров, так что в качестве
спецпроцессора базы данных в микрокомпьютерной локальной сети с  успе-
хом может использоваться миникомпьютер. Роль спецпроцессора может так-
же выполнять большая ЭВМ; например, фирма IBM планирует обеспечить для
расширенной  версии  подсистемы  управления базами данных в OS/2 (OS/2
Extended Edition Database Manager) возможность поиска данных  из  базы
данных DB2 на большой ЭВМ.
     Мощный процессор - это, конечно, не единственное требование, выд-
вигаемое  спецпроцессорами. Для них требуются также жесткие диски, ем-
кость  и  скорость  которых  достаточны для поддержания баз данных, по
объему сопоставимых с хранимыми в системах на базе  миникомпьютеров  и
больших ЭВМ. Для спецпроцессоров требуются также операционные системы,
такие  как Unix и OS/2, которые наиболее полно используют преимущества
таких процессоров и  дисков.  Эти  операционные  системы  обеспечивают
мультизадачный  режим  и объем памяти, требующийся для развитых систем
баз данных. Хотя и возможно построить спецпроцессор базы данных на ос-
нове  операционной  системы DOS, но ограничения однопроцессорной обра-
ботки и 640 Кбайт памяти делают DOS слабым фундаментом для спецпроцес-
сора.
     Кроме того, локальная сеть должна быть достаточно мощной, для то-
го чтобы обрабатывать передачу запросов  и  ответов  между  множеством
пользователей  и  спецпроцессором.  Многие существующие локальные сети
обеспечивают производительность, необходимую для  поддержки  множества
одновременно работающих пользователей.
     Наконец,  система  баз  данных должна поддерживать многопользова-
тельский режим, обеспечивая разумные уровни производительности, защиты
и целостности. Так как системы баз данных на миникомпьютерах уже долж-
ны были столкнуться с этими проблемами, многие из современных спецпро-
цессоров уходят корнями в мир миникомпьютеров. Фирмы Oracle  и  INGRES
предлагают спецпроцессоры на базе своих миникомпьютерных версий; фирма
Sybase   разработала   одну  из  первых  своих  версий  спецпроцессора
Sybase/Microsoft/Ashton-Tate SQL для VAX.
     Пока еще рано говорить, насколько важной будет роль OS/2  в  этой
области. Она действительно предоставляет услуги, требуемые спецпроцес-
сорами  и поэтому имеет шансы стать важной основой для спецпроцессоров
базы данных. В настоящее время OS/2 не может использовать преимущества
некоторых особых характеристик процессора 80386, таких, как, например,
подкачка  памяти.  Поставщики и пользователи с надеждой ожидают версию
OS/2 для процессора 80386.
     Несмотря на упомянутый недостаток OS/2, многие поставщики объяви-
ли о спецпроцессорах базы данных на основе OS/2.  Фирма  IBM  отметила
даже,  что  разработанная  ею расширенная версия подсистемы управления
базами данных в OS/2, возможно, сможет выступать в роли спецпроцессора
базы данных в локальной сети. В настоящее время уже есть такие  систе-
мы,    как    Oracle    фирмы    Oracle   Corp.,   SQL   Server   фирм
Sybase/Microsoft/Ashton-Tate, SQL-Base фирмы Gupta  Technology  и  др.
Эти  и другие подобные им программные продукты могут подтвердить право
OS/2 на существование, в чем она так нуждается.
     
     
                    Основные функции спецпроцессора
     
     Основной причиной того, что большинство спецпроцессоров  основаны
на миникомпьютерных системах баз данных, является сложность задач, ко-
торые  должен  обрабатывать спецпроцессор. Многие существующие системы
баз данных не обладают необходимыми средствами для поддержания  много-
пользовательского режима. Мультипользовательская система выдвигает та-
кие требования, с которыми редко сталкиваются в автономной среде.
     Спецпроцессор  базы данных должен быть прозрачным для пользовате-
лей. У большинства пользователей  микрокомпьютеров  есть  полюбившиеся
базы данных. В структуре пользователь - спецпроцессор пользователь ис-
пользует  привычную пользовательскую прикладную программу, но при этом
эта программа получает данные от спецпроцессора,  а  не  с  локального
диска.  Многие  разработчики баз данных поспешно добавляют эту возмож-
ность в свои  программные  продукты.  Такие  лидеры,  как  Ashton-Tate
(dBase  IV) и Borland (Paradox) уже объявили и поставляют средства для
внутренних спецпроцессоров на базе языка SQL.
     Со стороны спецпроцессора все обстоит намного сложнее. Во-первых,
спецпроцессор должен обрабатывать запросы в форме, подходящей для  пе-
редачи по сети. Для достижения разумной производительности спецпроцес-
сор должен минимизировать трафик сети. Это обычно означает, что должен
быть  язык манипулирования данными, позволяющий пользователям работать
с несколькими записями одновременно. Неудивительно, что почти все име-
ющиеся спецпроцессоры представляют собой реляционные системы баз  дан-
ных, использующие для манипулирования данными язык SQL (см. приложение
1).  Пользовательские  системы  оформляют свои запросы на языке SQL, а
спецпроцессор интерпретирует эти запросы и выбирает разумную стратегию
для их выполнения (см. приложение 2).
     Более сложные проблемы возникают из-за необходимости  одновремен-
ной поддержки нескольких пользователей. Пока речь идет только о считы-
вании  данных, проблемы не возникает: спецпроцессор легко может позво-
лить многим пользователям одновременно считывать одни и те же  данные.
Но в случае модификации данных спецпроцессор должен обеспечить функции
блокирования файлов и записей в целях корректного обслуживания каждого
пользователя. Корректность обслуживания в случае спецпроцессоров осно-
вывается на понятии логической единицы работы, называемой транзакцией.
     
     
                         Атомарные транзакции
     
     Транзакция представляет собой последовательность связанных опера-
ций, которую система баз данных считает атомарной, т.е. система гаран-
тирует, что операции в конкретной транзакции будут  либо  все  успешно
выполнены,  либо все отвергнуты. Рассмотрим, например, транзакцию, ко-
торая пересылает деньги с одного счета на  другой.  Атомарная  природа
транзакции  обеспечивает,  что ее компоненты - снятие с одного счета и
перечиление на другой счет - либо обе будут выполнены, либо обе  будут
отвергнуты.
     Большинство систем баз данных, использующих  понятие  транзакции,
следуют трем основным правилам. Во-первых, они поддерживают два спосо-
ба завершения транзакции. Транзакция может завершиться нормально (опе-
рация  "выполнение"  -  "commit")  или  аварийно  (операция  "откат" -
"rollback"). Аварийное завершение означает  отказ  от  всех  операций,
входящих в транзакцию.
     Во-вторых,  спецпроцессор должен гарантировать, что любые измене-
ния базы данных, производимые транзакцией T, являются  невидимыми  для
других  транзакций до тех пор, пока транзакция T не выполнит эти изме-
нения. Если же транзакция T оказывается возвращаемой, для базы  данных
это  означает,  что  этой  транзакции и не было. Следуя этому подходу,
спецпроцессор предотвращает доступ к изменениям, производимым транзак-
цией T, со стороны других транзакций в  случае  аварийного  завершения
транзакции T.
     И,  наконец, в-третьих, спецпроцессору приходится считаться с тем
фактом, что различные транзакции могут начинаться и завершаться в  лю-
бой  момент времени, в том числе и в середине других транзакций. Такие
транзакции называют перемежающимися (intervealed transactions).  Спец-
процессор базы данных должен выполнять перемежающиеся транзакции таким
образом, что результаты их выполнения появляются последовательно; дру-
гими  словами,  что результат должен быть эквивалентен выполнению этих
же самых транзакций по одной в каждый момент времени в некоторой  пос-
ледовательности.
     Кроме  того,  спецпроцессор должен выполнять эти требования таким
образом, чтобы обеспечить разумную итоговую производительность. Блоки-
рование всего файла, выполнение транзакций по одной,  принцип  "первым
пришел  - первым обслужился", - все это, конечно, соответствует вышеу-
помянутым правилам транзакции, но это не обеспечивает  одновременности
работы  пользователей.  Спецпроцессор базы данных должен автоматически
находить правильное соотношение между блокированием таблицы (или  фай-
ла),  блока  и записи, чтобы не только удовлетворять правилам транзак-
ции, но и максимизировать число пользователей, одновременно  разделяю-
щих имеющиеся данные.
     Так  как  все данные хранятся в одном месте, спецпроцессор должен
также гарантировать целостность данных другими  способами.  Он  должен
обеспечить средства для резервного копирования данных и восстановления
их  в  случае краха системы или разрушения базы данных. Проблемы могут
возникать самые разные: от простых, например, в случае  отказа  машины
пользователя  в  середине  транзакции  до разрушения диска, на котором
хранятся все данные спецпроцессора.
     Атомарные  транзакции  часто играют определенную роль в этом про-
цессе резервного копирования и  восстановления.  Периодически  следует
делать  полные резервные копии базы данных спецпроцессора. Спецпроцес-
соры сами обычно поддерживают системные журналы с  регистраций  завер-
шенных транзакций. Когда одна пользовательская транзакция срывается до
своего завершения, спецпроцессор должен вернуть все в состояние, пред-
шествующее ее началу. В случае аварии спецпроцессор может использовать
последнюю  полную  резервную копию базы данных и свой системный журнал
регистрации транзакций для восстановления базы  данных.  Спецпроцессор
сначала загружает резервную копию, а затем использует журнал регистра-
ции транзакций для внесения обновлений из всех завершенных транзакций;
эта   операция   носит   название   "выход  из  аварийного  состояния"
(fallforward).
     
     
                      Достоинства спецпроцессоров
     
     Централизованное хранение данных облегчает резервное  копирование
базы  данных.  Вместо  того,  чтобы выполнять резервное копирование на
многих машинах,  эта  процедура  выполняется  только  спецпроцессором.
Пользователи освобождены от забот об этом.
     Централизация  может также упростить решение проблемы защиты дан-
ных. Защита данных в случае автономного микрокомпьютера часто означает
отыскание способов для ограничения доступа к  самому  микрокомпьютеру,
связывая  пароль со всей базой данных или удаляя базу данных, если она
не используется. Большинство спецпроцессоров баз данных предлагают бо-
лее мощные функции защиты. Язык  SQL,  например,  включает  операторы,
позволяющие  точно специфицировать, какие пользователи могут выполнять
операции, какие именно операции и на каких частях базы данных.
     Архитектура пользователь - спецпроцессор также имеет  потенциаль-
ные возможности использовать преимущества множества различных архитек-
тур  технического и программного обеспечения. В качестве пользователь-
ских машин можно использовать машины с MS-DOS  и  фирмы  Macintosh,  а
также  все  связанное с ними прикладное программное обеспечение. Жела-
тельно, по-видимому, чтобы спецпроцессор был мощной  системой  (напри-
мер,  миникомпьютер или микрокомпьютер на базе микропроцессора 80386).
Спецпроцессор может также использовать более сложную операционную сре-
ду по сравнению с пользовательскими машинами, т.к. только у  админист-
раторов  данных  возникает  потребность  непосредственно  использовать
спецпроцессор. Таким образом, программное  обеспечение  спецпроцессора
может выполняться на миникомпьютере под системой Unix.
     Хотя спецпроцессоры базы данных во многом сходны с распределенны-
ми системами баз данных, они имеют некоторые преимущества. Главное  из
них  заключается  в  том, что в настоящее время имеется в продаже нес-
колько различных спецпроцессоров базы данных и имеются они уже в тече-
ние некоторого времени, тогда как настоящие распределенные системы баз
данных только начинают появляться. Спецпроцессоры  базы  данных  также
менее  сложны и требуют меньших коммуникационных затрат, чем распреде-
ленные системы баз данных, причем существенно меньших,  т.к.  спецпро-
цессору  не  приходится управлять данными и обепечивать их целостность
на множестве абонентских пунктов.
     
     
                      Недостатки спецпроцессоров
     
     Имеются, конечно, и некоторые недостатки у  спецпроцессоров  базы
данных.  В  силу  своих особенностей они забирают функции управления у
пользователей индивидуальных компьютеров и передают их в руки админис-
траторов спецпроцессоров. Спецпроцессоры, таким образом,  представляют
собой отступление от независимости микрокомпьютеров и шаг назад к цен-
трализованному  управлению миникомпьютеров и больших ЭВМ. В отличие от
спецпроцессоров, и автономные  и  распределенные  системы  баз  данных
предполагают хранение данных по месту их использования.
     Помещая все данные в одно место, архитектура пользователь - спец-
процессор делает центральный спецпроцессор критическим ресурсом: поте-
ряв  его,  можно  потерять  доступ ко всем данным. Так как база данных
включает ключевые данные для всех пользователей, потеря их может  быть
дорогостоящей. Если даже спецпроцессор выходит из строя только лишь на
некоторое  время, это останавливает все зависящие от базы данных прик-
ладные программы.
     Спецпроцессоры  базы данных представляет собой сложные программы,
требующие присутствия администраторов с особой подготовкой.  Даже  не-
подготовленные  пользователи микрокомпьютеров зачастую могут управлять
своими локальными базами данных, но администратор спецпроцессора  базы
данных должен разбираться в вопросах проектирования баз данных, целос-
тности и защиты данных, резервного копирования и восстановления, регу-
лирования  производительности.  Это такие же задачи, с которыми прихо-
дится сталкиваться на миникомпьютерах и больших ЭВМ.
     Наконец, тогда как производительность автономной  микрокомпьютер-
ной  системы баз данных предсказуема заранее, производительность спец-
процессора  изменяется  в  широком  диапазоне, в зависимости от объема
трафика в сети. Низкая производительность сети или спецпроцессора  мо-
гут создать серьезную проблему. Хотя большинство спецпроцессоров пред-
лагают некоторые возможности варьирования производительности, но огра-
ничения  спецпроцессора и скорость сети устанавливают граничное значе-
ние производительности.
     
     
                   Разделение функций
     
     Различные  спецпроцессоры базы данных могут быть по-разному спро-
ектированы, но для всех них характерно разделение функций между  поль-
зователем  и  спецпроцессором. Такая архитектура будет становиться все
более привычной по мере распространения локальных  сетей  и  осознания
необходимости  хранения разделяемых данных. Спецпроцессоры базы данных
заимствуют лучшие черты централизованного хранения данных,  в  большой
мере сохраняя преимущества независимости индивидуальных пользователей.
     
     
                                              Приложение 1
     
     Большинство  спецпроцессоров  базы  данных  поддерживают язык SQL
(произносится "sequel") - язык, который уже на протяжении  длительного
времени фактически является стандартом для реляционных систем баз дан-
ных.  Благодаря  развивающемуся  стандарту  ANSI и поддержке фирмы IBM
язык SQL, вероятно, в течение некоторого времени будет основным языком
базы данных для спецпроцессоров.
     
     
                    Возможности языка SQL
     
     Достоинством  SQL  является то, что он позволяет прикладным прог-
раммам, работающим с базой данных,  выдавать  спецпроцессору  запросы,
относящиеся  ко множеству записей. Четыре основных оператора манипули-
рования данными в SQL - SELECT, INSERT, UPDATE, DELETE -  могут  рабо-
тать  в каждый момент времени с группами записей. Прикладная программа
может, например, выдать следующий оператор
     
     SELECT NAME FROM EMPLOYEE WHERE
          CITY = "St. Louis"
     
для нахождения фамилий всех сотрудников, живущих в St. Louis. Оператор
поступает в спецпроцессор как один запрос  и  спецпроцессор  выполняет
все необходимые действия для нахождения соответствующих записей.
     Хотя спецпроцессор мог бы передать пользователю сразу  все  отоб-
ранные  записи,  такая  передача  создала  бы проблему для большинства
прикладных программ, т.к. традиционные языки программирования предназ-
начены для работы только с одной записью в каждый момент времени, а не
с группой записей. Поэтому регламентированный стандартом ANSI  SQL-ин-
терфейс обеспечивает операции, позволяющие пользователям получать тре-
буемые  записи по одной в каждый момент времени. Такой подход очевидно
увеличивает сетевые расходы и свидетельствует в пользу манипулирования
сразу группами записей.  Расширения  некоторых  версий  SQL  позволяют
программам находить группы записей при одном обращении.
     SQL также обеспечивает функции  COMMIT  и  ROLLBACK,  позволяющие
программам управлять транзакциями. Кроме того, SQL является также язы-
ком описания данных, с помощью которого можно определять структуру баз
данных. Он предоставляет команды для описания таблиц и полей базы дан-
ных, а также возможности управления защитой этих элементов данных.
     
     
                         Некоторые недостатки
     
     Хотя  SQL вряд ли будет вытеснен, он, конечно, не лишен недостат-
ков. Одна из проблем заключается в том, что нет по крайней  мере  двух
таких  версий  (включая  три  версии фирмы IBM), которые бы в точности
совпадали.
     В SQL также отсутствуют некоторые  возможности,  которые  многими
считаются  важной  частью реляционной модели. Например, SQL не предос-
тавляет непосредственной поддержки для первичных ключей (групп из  од-
ного  или более полей, которые должны быть уникальными в каждой записи
данного типа). Можно использовать SQL  для  введения  ограничений  для
первичных  ключей, но соответствующее понятие в языке отсутствует. Это
вызывает особые неудобства, т.к.  многие  виды  приложений  используют
уникальные идентификаторы записей.
     
     
                         Бесспорное лидерство
     
     Несмотря на эту и другие проблемы SQL несомненно является в  нас-
тоящее  время языком спецпроцессоров базы данных. Все основные извест-
ные на сегодняшний день спецпроцессоры базы данных  поддерживают  SQL.
Благодаря  своим техническим достоинствам, а также силам, поддерживаю-
щим его на рынке, язык SQL, по-видимому, сохранит свое лидирующее  по-
ложение в течение многих лет.
     
     
                                           Приложение 2
     
     Система  NetWare SQL представляет собой спецпроцессор базы данных
фирмы Novell. Она может выполняться на любом  спецпроцессоре  Netware.
Хотя  когда-то  Netware  был ограничен исследованием микропроцессоров,
более новые его версии допускают использование в качестве  спецпроцес-
соров  машин VAX и других миникомпьютеров. На пользовательских машинах
могут использоваться DOS, OS/2 или Mac OS.
     При использовании NetWare SQL пользовательская  прикладная  прог-
рамма,  работающая с базой данных, размещается в верхней части неболь-
шого стека пользовательского  программного  обеспечения  базы  данных.
Прикладная  программа  может быть специально написана для выполнения с
Netware SQL или же существующая программа может быть модифицирована  с
учетом  требований  спецпроцессора. Имеется несколько пользовательских
интерфейсов, в их числе dBXL и Quicksilver фирмы WordTech Systems, R&R
фирмы Concentric Data Systems, Lotus 1-2-3 и другие.
     Прикладная программа  формирует  свой  запрос,  используя  XQL  -
программный  интерфейс  для Netware SQL. XQL в действительности предос-
тавляет два различных интерфейса прикладного программирования: XQLM  и
XQLP.
     Интерфейс  XQLM  - подсистема управления SQL (SQL Manager) - пре-
доставляет версию программных функций SQL на базе стандарта ANSI  SQL.
Интерфейс XQLP предоставляет набор частных, низкого уровня функций ба-
зы  данных  (фирма  Novell  называет  их  реляционными  примитивами  -
relational primitives).
     XQL использует запросный интерфейс NSREQ для передачи своих  зап-
росов  спецпроцессору.  NSREQ  передает запросы в стандартную оболочку
Netware, которая их пересылает по сети спецпроцессору. Под управлением
DOS интерфейс NSREQ выполняется как  часть  резидентной  программы,  в
случае OS/2 - это динамически подсоединяемая библиотека.
     Спецпроцессор  Netware SQL использует для обработки запросов раз-
личные процессы Netware. Один из таких процессор - NW$SQL. Имеется  по
одному процессу NW$SQL для каждого активного пользователя. Он выполня-
ет некоторую обработку базы данных, но в основном для управления запи-
сями он использует систему Btrieve фирмы Novell.
     Процесс  NW$SQL взаимодействует с программой BROUTER (маршрутиза-
ция сообщений в Btrieve). BROUTER представляет собой программу межпро-
цессной связи, которая посылает запросы из процесса NW$SQL  в  процесс
Btieve  в  том спецпроцессоре, где хранятся данные. В локальной сети с
одним спецпроцессором эта функция очевидно не является необходимой, но
в случае множества спецпроцессоров она может быть критичной.
     Собственно спецпроцессор  Btrieve  представляет  собой  программу
BSERVER. BSERVER обрабатывает основные операции чтения и записи данных
и  использует  систему отслеживания транзакций, являющуюся компонентой
Netware, для поддержки одновременной работы пользователей.  К  сожале-
нию,  Btrieve  автоматически блокирует таблицы полностью, если в прик-
ладной программе не задано явно блокирование записи. При таком подходе
блокирование может составить серьезную проблему.


Яндекс цитирования