Кіріспе

Кіріктірілген деректер қоры кітапханасы

Metakit – шағын көлемді кіріктірілген деректер қоры кітапханасы. Ол жазық файлдық, реляциялық, объектіге бағытталған және ағаш тәрізді деректер қоры арасындағы қақтығысты толтырады, реляциялық байланыстарды, деректерді тізбектеуді, ішкі құрылымдарды және схеманың жылдам өзгерісін қолдайды. C++ (негізгі), Python және Tcl интерфейстері ең көп қолданылады.

Тарих

Metakit бағдарламалық жасақтамасын Нидерландыдан шыққан Жан Клод Випплер жазған. Оның дамуы 1997 жыл шамасында басталды және 2001 жылы MIT X11 лицензиясы бойынша ашық кодты бағдарлама ретінде жарияланды. Автор коммерциялық қолдау көрсетеді. Дегенмен, соңғы жылдары Випплер Метакитке көбірек емес, басқа жобаларына көбірек уақыт жұмсады. Бұл деректер базасы бірнеше коммерциялық өнімдерде (Mac OS X 10.4 және одан бұрынғы нұсқаларындағы «Адрестік кітап» қоса алғанда), сондай-ақ бірнеше ашық кодты жобаларда (мысалы, KDE-нің «Akregator» ақпарат тасқалағы) және ішкі жобаларда (әдетте Python немесе TCL интерфейсін пайдалана отырып) қолданылады. Випплер жазған Starkit (TCL үшін виртуалды файлдық жүйе) жобасы TCL бағдарламашылары арасында кең танылды. Метакиттің электрондық пошта тізімі белсенді жазылушыларға ие және Випплер оған үнемі жазбалар жасайды. Басқа да бағдарламашылар жобаға қателерді түзету және ұсыныстар енгізу арқылы үлес қосты.

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

Басқа деректер қоры жүйелерінен айырмашылығы, олар деректер қоры кестелерінің қатарларын бір жерде сақтайды (қатарға бағдарланған архитектура), Metakit жеке бағандарды бөлек сақтайды (бағанға бағдарланған архитектура). Көп жылдар бойы кестелерге тек тікелей қол жеткізу мүмкін болды (қол жеткізуге O(1) және іздеуге O(N) күрделілігімен), кейін хэш құрылымдары мен B-ағаштарына ұқсас құрылымдар қосылды (әдеттегі іздеу күрделілігін O(1) дейін төмендетті). Жылдар бойы реляциялық операциялар (мысалы, group by және joins) да қосылды. Кесте деректерін икемді механизмдер арқылы – көріністер арқылы біріктіру және өңдеу мүмкін. Деректер қоры деректері платформалар арасында оңай көшіріледі. Metakit дискіде аз орын алады – оны барынша азайту үшін бірнеше әдіс автоматты түрде қолданылады. Metakit деректер қоры құрылымдарын қарауға арналған құрал (Kitview деп аталады) ұсынылады. Деректер қорының максималды көлемі шамамен 1 ГБ (тіпті 64 биттік платформаларда да). Көп өрісті және көп пайдаланушылы қол жеткізу үшін бағдарламашыдан қолмен қолдау қажет, және ол ұсынылмайды (C++, TCL және Python тілдерінде бір автоматты жаһандық құлып қолданылады). Қосымша мүмкіндіктердің үйлесімдері жиі сынақтан өткізілмейді және қате болуы мүмкін. Басқа деректер қорымен (мысалы, SQLite және Berkeley DB) салыстырғанда жақсы өнімділікке қол жеткізу мүмкін, бірақ бұл көптеген сынақтарды және Metakit ішкі құрылымын жақсы білуді талап етеді. SQL-мен салыстырғанда Metakit API төмен деңгейде. Metakit-тің ең үлкен кемшілігі – оның толық емес және кейде ескірген құжаттамасы. API-ді толық түсіну және өнімділікті жақсарту үшін кітапхананың бастапқы кодын терең зерттеу қажет. Metakit терминологиясы стандартты деректер қоры терминологиясынан көп жағынан өзгеше. API және файл форматы уақыт өте келе бірнеше рет өзгерді. Metakit Windows, Unix және Mac OS X жүйелерінде сынақтан өтті.