Архитектура dbExpress
Тема: Компонент Borland dbExpress
МЕТОД ЯКОБИ
Метод Якоби проиллюстрируем на следующей линейной системе (Карл Густав Якоб Якоби (1804-1851) - немецкий математик):
3x1 + 4x2 - x3 = 7,
2x1 + 6x2 + 3x3 = - 2,
- x1 + x2 + 4x3 = 4.
Перепишем указанную матрицу в виде
или в матрично-векторных обозначениях
X = A2X + B1 ,
где
Отсюда следует, что мы решили j-е уравнение явно относительно j-го неизвестного и перенесли все остальное в правую часть. Теперь метод Якоби состоит в определении начального X0 приближения и применении итерации типа
Пример 37.13.
Xk + 1 = A2Xk + B1 , k = 0, 1, 2, _
Этот метод зависит от нумерации уравнений и неизвестных.
Справедлива следующая Теорема.
Пусть выполнено условие || A2 || < 1 для процесса (Пример 37.13.).
Тогда:
1) решение X системы (4) существует и единственно;
2) метод Якоби сходится при произвольном начальном приближении X0 и справедлива оценка погрешности
|| Xk - X || # || A2 ||k || X0 - X ||.
Прошлые попытки создать универсальный интерфейс для разнообразных БД имели ряд проблем. Одни решения были очень большими, медленными и сложными для распространения, потому что они пытались взять на себя слишком много. Другие предлагали подход "наименьшего общего знаменателя", что не позволяло разработчикам использовать специфические особенности конкретной базы данных. Третьи предлагали комплексный подход с написанием драйверов, получая в результате ограниченную функциональность, низкую скорость или большое количество ошибок.
Borland dbExpress преодолевает эти проблемы, комбинируя новый подход к предоставлению общего API для разных баз данных с проверенной технологией Borland provider/resolver для управления работой с данными. В этом документе рассматривается архитектура dbExpress и механизм provider/resolver, демонстрируется пример создания приложений на компонентах dbExpress, и объясняется процесс переноса на dbExpress приложений, использующих BDE.
dbExpress был разработан, чтобы решить следующие 6 задач
- минимизировать объем и количество используемых ресурсов
- получить максимальную скорость работы
- обеспечить кросс-платформенность
- обеспечить легкость распространения
- обеспечить легкость разработки драйверов
- дать разработчику больше управления памятью и сетевым трафиком
Драйверы dbExpress небольшие по объему и быстрые, потому что они обеспечивают достаточно небольшую функциональность. Каждый драйвер выполнен в виде dll (на платформе Windows) или как so (shared library на Linux). Драйвер dbExpress предоставляет пять интерфейсов для выборки метаданных, выполнения операторов SQL и хранимых процедур, и возможность чтения записей из выборки в одном направлении (unidirectional cursor). В это же время, при использовании с DataSetProvider и ClientDataSet, dbExpress предоставляет полнофункциональную, высокопроизводительную, многопользовательскую систему для работы с SQL-серверами баз данных.