Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠœΠΈΡ€ InterBase. АрхитСктура, администрированиС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² InterBase/FireBird/YaffilΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 88

Автор А Ковязин

/intl

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ gdsintl - Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ… (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ GDSINTL.DLL ΠΏΠΎΠ΄ Windows)

/lib

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ содСрТит клиСнтскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libgs.so ΠΈ libib_util.so, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ gds32.dll ΠΈ ib_ util.dll Π² Windows. Π’Π°ΠΊΠΆΠ΅ Π² этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ находится Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libgs.a, которая прСдставляСт собой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для статичСской сборки ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

/misc

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ содСрТит Firebird. xinetd - Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° сСрвисов xinetd, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ описаны ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠ»ΠΎΠ½Π° InterBase 6.x Firebird

/UDF

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ UDF-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ib_udf

isc4 gdb

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ InterBase

isc_config

Π€Π°ΠΉΠ», хранящих настройки ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для InterBase; Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ Ρ„Π°ΠΉΠ»Ρƒ ibconfig Π² вСрсии InterBase ΠΏΠΎΠ΄ Windows

isc_eventl .teststation

Π€Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит список событий Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ

iscjockl. teststation

Π€Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ

InterBase log

Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° InterBase

InterBase msg

! Π€Π°ΠΉΠ» сообщСний InterBase

services, isc

Π€Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ соотвСтствии Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠΎΡ€Ρ‚Π° ΠΈΠΌΠ΅Π½ΠΈ сСрвиса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для InterBase (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ постановка Π² соотвСтствиС выглядит ΠΊΠ°ΠΊ gdsdb/tcp 3050). Π­Ρ‚Ρƒ постановку Π² соотвСтствиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ» /etc/services (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ автоматичСски добавляСтся установщиком InterBase)

РассмотрСв ΠΈΠΊΡ€Π° Ρ‚Π΅ состав InterBase Classic Server для Linux, рассмотрим Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ состав ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° BIN Π² этой вСрсии. Он отличаСтся Π² основном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ модулями, спСцифичными для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Classic.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ BIN Π² InterBase Classic Server для Linux

Как Π±ΡƒΠ΄Π΅Ρ‚ ясно ΠΈΠ· Π³Π»Π°Π²Ρ‹ "Classic ΠΈ SuperServer", Π² Classic-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ состав основных исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² InterBase мСняСтся - ΠΊ Π½Π΅ΠΌΡƒ добавляСтся ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для управлСния InterBase. Π€Π°ΠΉΠ»Ρ‹ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π’Ρ‚ описаны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 4 20.

Π’Π°Π±Π» 4.20. Π€Π°ΠΉΠ»Ρ‹ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Bin InterBase CS для Linux

Π€Π°ΠΉΠ»

ОписаниС Ρ„Π°ΠΉΠ»Π°

changeDBAPassword.sh

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ скрипты Π½Π° языкС shell для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дСйствий:

CSchangeRunUser sh

смСны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ SYSDBA, смСны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ,

CSrestoreRootRunUser.sh

с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ запускаСтся InterBase

gbak

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΈ восстановлСния

gdef

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅

gds_drop

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°, которая останавливаСт InterBase

gds_met_server

Основной исполняСмый Ρ„Π°ΠΉΠ» InterBase Π² Classic-вСрсии InterBase

gds_lock_mgr

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ

gds_lock_print

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰Π°ΡΡΡ для Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ

gds_pipe

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°, прСдназначСнная для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… POSIX-сигналы

gfix

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ восстановлСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

gpre

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Π‘ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° InterBase API

gsec

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° управлСния Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ isc4.gdb

gsplit

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° для раздСлСния/слияния ΠΎΠ΄Π½ΠΎΠ³ΠΎ большого Ρ„Π°ΠΉΠ»Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π²/ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ…

gstat

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° для Π°Π½Π°Π»ΠΈΠ·Π° статистики ΠΏΠΎ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… InterBase

isc4 gbak

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ InterBase

isql

Interactive SQL - ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ SQL ΠΈ исполнСния SQL-скриптов

qli

Query Language Interpretator - ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ языка GDML

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ Π±Ρ‹Π»ΠΈ рассмотрСны Π΄Π²Π΅ вСрсии InterBase: Super ΠΏΠΎΠ΄ Windows ΠΈ Classic ΠΏΠΎΠ΄ Linux, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² прСдставлСн InterBase. Бостав Ρ„Π°ΠΉΠ»ΠΎΠ² для InterBase ΠΎΠ±Π΅ΠΈΡ… вСрсий Π±Ρ‹Π» рассмотрСн Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ»ΠΎΠ½Π° InterBase 6 - Firebird 1.0.

Classic ΠΈ SuperServer

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ InterBase, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ взаимодСйствия собствСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ Π΄Π°ΠΆΠ΅ составом ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, входящих Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Условно эти Π΄Π²Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π½Π°Π·Π²Π°Π»ΠΈ Classic ΠΈ SuperServer. Π§Ρ‚ΠΎΠ±Ρ‹ быстро Π²ΠΎΠΉΡ‚ΠΈ Π² курс Π΄Π΅Π»Π°, ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ рассмотрим Π³Π»Π°Π²Π½Ρ‹Π΅ особСнности этих Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€.

АрхитСктура Classic ΠΊΡ€Π°Ρ‚ΠΊΠΎ характСризуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„Ρ€Π°Π·ΠΎΠΉ: "ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ - собствСнный сСрвСр". Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ клиСнтскоС соСдинСниС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅-сСрвСрС запускаСтся сСрвСрный процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обслуТиваСт ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Бколько Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΡ… соСдинСния, ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ экзСмпляров сСрвСра запустится для ΠΈΡ… обслуТивания (ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° клиСнтская ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ соСдинСний с сСрвСром).

АрхитСктуру SuperServer ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ "Π½Π° всСх ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² - ΠΎΠ΄ΠΈΠ½ сСрвСр". Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС клиСнтскиС соСдинСния ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ сСрвСрным процСссом, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ (threads).

Π‘Ρ€Π°Π·Ρƒ слСдуСт ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ компания Borland ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ, Π΅Ρ‰Π΅ Π΄ΠΎ опубликования исходных ΠΊΠΎΠ΄ΠΎΠ² InterBase 6, заявляла ΠΎ своСй Ρ€Π΅ΡˆΠΈΠΌΠΎΡΡ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Classic ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° SuperServer, Π²Π²ΠΈΠ΄Ρƒ Π΅Π΅ многочислСнных достоинств.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Classic ΠΆΠΈΠ²Π° ΠΈ ΠΏΠΎΠ½Ρ‹Π½Π΅, ΠΈΠΌΠ΅Π΅Ρ‚ своих многочислСнных ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Ρ†Π΅Π² ΠΈ Π½Π΅ собираСтся Ρ‚Π°ΠΊ просто "ΡΠ΄Π°Π²Π°Ρ‚ΡŒΡΡ". ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ этой Π½Π΅ΡˆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ схватки Π΄Π²ΡƒΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΌΡ‹ сСйчас рассмотрим, ΠΈ Π½Π°Ρ‡Π½Π΅ΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, с историчСского экскурса.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΌ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ погруТСния Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ вСрсиСй InterBase 4.x. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ InterBase 4 ΠΈΠΌΠ΅Π» Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Classic - это Π±Ρ‹Π»ΠΈ вСрсии 4.0 ΠΈ 4.1. ВСрсия 4.2 стала ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ SuperServer Π² ряду ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² InterBase. ВСрсия InterBase 5.x ΡƒΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Classic ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Windows - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ SupeiSeiver, Π½ΠΎ для Linux сущСствуСт вСрсия InterBase 5.6 с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Classic. Π’ InterBase Π± сохраняСтся Ρ‚Π° ΠΆΠ΅ ситуация - ΠΏΠΎΠ΄ ОБ сСмСйства Unix/ Linux ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ InterBase 6 ΠΊΠ°ΠΊ Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ SuperServer, Ρ‚Π°ΠΊ ΠΈ Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Classic, Π° ΠΏΠΎΠ΄ Windows - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ SuperServer.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Classic ΠΈ SuperServer Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° исходных ΠΊΠΎΠ΄ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ - ΠΎΠ΄ΠΈΠ½ для Classic ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ для SuperServer (ΠΈΠ½Π°Ρ‡Π΅ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Π±Ρ‹ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… сСрвСра). Оба эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ (ΠΈ всС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ ОБ) производятся ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° исходных ΠΊΠΎΠ΄ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² Ifdef, Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ- ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ-зависимыС участки ΠΊΠΎΠ΄Π° Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° этих Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈ для ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ. ЕстСствСнно, для Ρ€Π°Π·Π½Ρ‹Ρ… ОБ сборка осущСствляСтся с использованиСм Ρ€Π°Π·Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ Ρ‚. Π΄. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, начиная с вСрсии InterBase 5.x компания Borland пСрСстала Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ сСрвСра ΠΏΠΎΠ΄ Windows с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Classic, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠ°ΠΌ Unix/Linux-систСм, Π° вСрсии Classic ΠΏΠΎΠ΄ Windows Π½ΠΈ Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚ Borland, Π½ΠΈ ΠΎΡ‚ Firebird Π½Π΅ сущСствуСт.

Π’ ΠΊΠΎΠ½Ρ†Π΅ 2001 Π³ΠΎΠ΄Π° появился Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΠΎΠ½ InterBase 6 - Π‘Π£Π‘Π” Yaffil, Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ пСтСрбургскиС программисты ОлСг Иванов ΠΈ АлСксСй ΠšΠ°Ρ€ΡΠΊΠΈΠ½. Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ InterBase ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Classic ΠΏΠΎΠ΄ Windows. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Yaffil ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ "Yaffil - российский ΠΊΠ»ΠΎΠ½ InterBase 6.x".

Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Yaffil ΠΈΠ»ΠΈ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Firebird/InterBase 6.x Π½Π° Linux, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‰ΡƒΡ‚ΠΈΡ‚ΡŒ прСлСсти ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ нСдостатки Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Classic, - ΠΌΡ‹ сСйчас ΠΈ попытаСмся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ.

Classic

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Classic-Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° сСрвСра InterBase. Π’ этой ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π΅Π΅, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ клиСнтского соСдинСния запускаСтся собствСнный сСрвСрный процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обслуТиваСт Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΠΌ запуска управляСт внСшний процСсс (это inetd ΠΈΠ»ΠΈ xinetd для Unix-систСм).

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ процСссы ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Как ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ процСссы Π² ОБ, ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ свободно Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Ρƒ Π΄Ρ€ΡƒΠ³Π° Π² памяти. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ с ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈ рассогласования Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ сСрвСрный процСсс пытаСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ страницу Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ измСняСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ процСсс. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π½Π° ΠΏΠΎΡ‡Π²Π΅ распрСдСлСния рСсурсов. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ рСсурсы Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ "Π΄Π΅Π»Π΅ΠΆΠΊΠ΅" ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ процСсс - ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ (gds_lock_mgr). ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ подсоСдиняСтся ΠΊ Π±Π°Π·Π΅. ИмСнно Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ загруТаСтся Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ "ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° порядком".

Помимо Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², сущСствуСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ управлСния сСрвСром Π² смыслС администрирования. К соТалСнию, Π² Classic Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ количСствС клиСнтских соСдинСний, обслуТиваСмых Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ сСрвСром, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ сСрвСр, Π° информация ΠΎΠ± ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… сСрвСрных процСссах, ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Π΅ΠΌΡƒ нСдоступна. Π’Π°ΠΊΠΆΠ΅ Π² Classic- Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… InterBase 6 ΠΈ Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½ΠΎΠ² ΠΏΠΎΠΊΠ° Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Services API, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сСрвСром Ρ‡Π΅Ρ€Π΅Π· клиСнтскиС соСдинСния, Π° Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€Π°Π²Π΄Π°, Π½Π°Π΄ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Yaffil Classic Server ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Services API.