Кіріспе

Gadfly - Python тілінде жазылған реляциялық деректер қорын басқару жүйесі. Gadfly - бұл Python модульдерінің жиынтығы, ол Python-да толықтай іске асырылған реляциялық деректер базасының функционалдығын қамтамасыз етеді. Ол стандартты RDBMS Structured Query Language (SQL) қосалқы жиынтығын қолдайды. Gadfly Python орындалатын жерде жүреді және стандартты Python сокет интерфейсін қолдайтын кез-келген платформада клиент / серверді қолдайды. Gadfly-дің сақтау үшін қолданатын файл пішімдері кросс-платформалық болып табылады. Gadfly деректер қоры каталогын Windows 95-тен Linux-қа қосарлық көшіру механизмін қолдана отырып көшіруге болады және gadfly деректер қорын оқиды және орындайды. Ол индекстері бар құрылымды кестелер жиынтығынан тұратын тұрақты деректер қорын және осы кестелерге қол жеткізу және өзгерту үшін SQL-тің үлкен кіші жиынтығын қолдайды. Ол деректер қорының дұрыс жабылмаса да (яғни, CPU немесе бағдарламалық қамтамасыз ету апаты жағдайында, [бірақ диск апаты жағдайында емес]) деректер қорының орындалған операцияларын қалпына келтіруге мүмкіндік беретін журналды қалпына келтіру протоколын қолдайды. Ол сондай-ақ TCP/IP Клиент/Сервер режимін қолдайды, онда қашықтан клиенттер Gadfly деректер қорына TCP/IP желісі арқылы (мысалы, Интернет) конфигурацияланатын қауіпсіздік механизмдеріне сәйкес кіре алады. Gadfly kwParsing пакетінен тығыз байланысты болғандықтан, ол сол авторлық құқықпен, kwParsing пакетінің бір бөлігі ретінде таратылады. Gadfly Python бағдарламаларына кез келген сыртқы деректер қоры қозғалтқышына немесе пакетіне сүйенбей кестелік деректерді сақтауға, алуға және сұратуға мүмкіндік береді. Ол Python бағдарламалары үшін жадтағы реляциялық деректер қоры стилі қозғалтқышын ұсынады, "жұмыс істеген, қалпына келтірілетін транзакция" және "аборттар" түсінігімен толықтырады.

Қолданылуы

Негізгі "gadfly" модулі Грег Стейннің Python деректер қоры API-ге адал түрде бағынуға тырысады, ол Python DB SIG-мен талқыланды және сертификатталды. Деректер қорының бір мезгілде жаңартылуы қолдау таппайды. "Дандық базалар" қазіргі уақытта бір процеспен жеке жазылу / өзгертілу үшін жасалған. Gadfly серверінің TCP/IP процестері арқылы бірнеше процестер Gadfly деректер қорына кіре алады.

Ерекшеліктері

Бұл нұсқада барлық кестелер деректер базасына "қосылған" кезде жадыға оқылады және "таңдалған" кестелер бақылау нүктесінде жазылады. Әрбір кесте мақсат каталогында жеке файл ретінде көрсетіледі, сондай-ақ "деректерді анықтау" файлы да бар (деректерді анықтау декларацияларының тізімі). Белсенді пайдалану кезінде журналды файл белсенді каталогта да пайда болады, ал егер процесс бұзылса, бұл журналды файл орындалған операцияларды қалпына келтіру үшін қолданылады.

Сәулет

SQL грамматикасы грамматикада сипатталады. py, грамматикалық конструкцияларды семантикалық объектілерге байлау байлауларда орындалады. py, семантикалық объектілер және олардың орындалу стратегиялары семантикада анықталады. лық. Семантика SQL-тің салыстырмалы түрде тиімді және дұрыс іске асырылуын анықтау үшін классикалық және классикалық емес логиканы (цилиндрлік логика), сондай-ақ оптимизациялық эвристиканы қолданады. Қолданылудың ең негізгі деректік құрылымдары kjbuckets0-де берілген. py немесе жылдам kjbuckets модулі. c, олар Python-да және Python-ға C кеңейтуінде бірдей дерек түрі қолтаңбаларын іске асырады. Деректер қоры. py модулі - жүйеге стандартты DBAPI интерфейсін беретін қарапайым орама. Сынақ жиынтығы - сынақ/сынақ gadfly. py регрессиялық сынақ пен жүйені көрсетуді қамтамасыз етуге тырысады. SQL талдаушысы сондай-ақ қосымша Python модульдерінен тұратын kwParsing талдаушыны құру пакетін қажет етеді.

Құралдар

Gfplus көмегімен gadfly деректер қорын SQL командаларымен интерактивті түрде басқаруға болады. Құрал Oracle-тің SQL*Plus-ке ұқсас жұмыс істейді.

Бір мезгілде жұмыс істеу

Бұл жүйеде шынайы бір мезгілдегі бақылау және файл жүйесіне негізделген индекстеу жоқ болғандықтан, ол өте үлкен көп процесті транзакцияларға негізделген жүйелерге сәйкес келмейді. Екі қолданба бір уақытта бір деректер базасына кіре алады. Алайда, бір қолданба жасаған өзгерістер екінші қолданбада қайта іске қосылғаннан кейін ғана көрінуі мүмкін. Бұл әр қолданбаның деректер қорын тек басталғанда жадында жүктейтіндіктен болуы мүмкін.