Подпишитесь на наши новости
Вернуться к началу с статьи up
 

СИСТЕ́МА УПРАВЛЕ́НИЯ БА́ЗАМИ ДА́ННЫХ

  • рубрика
  • родственные статьи
  • image description

    В книжной версии

    Том 30. Москва, 2015, стр. 297-298

  • image description

    Скопировать библиографическую ссылку:




Авторы: С. Д. Кузнецов

СИСТЕ́МА УПРАВЛЕ́НИЯ БА́ЗАМИ ДА́ Н­ НЫХ (СУБД, англ. Database Management System), ком­плекс про­грамм, по­зво­ляю­щих соз­дать ба­зу дан­ных (БД) и ма­ни­пу­ли­ро­вать дан­ны­ми (встав­лять, об­нов­лять, уда­лять и вы­би­рать). Обес­пе­чи­ва­ет безо­пас­ность, на­дёж­ность хра­не­ния и це­ло­ст­ность дан­ных, а так­же пре­дос­тав­ля­ет сред­ст­ва для ад­ми­ни­ст­ри­ро­ва­ния БД. СУБД с по­мо­щью ком­пи­ля­то­ра язы­ка за­про­сов об­ра­ба­ты­ва­ет об­ра­ще­ния к БД от поль­зо­ва­те­лей, про­ве­ря­ет кор­рект­ность по­сту­паю­щих опе­ра­то­ров и на ос­но­ве ме­та­дан­ных (све­де­ния о со­ста­ве дан­ных) фор­ми­ру­ет од­но или неск. про­це­дур­ных пред­став­ле­ний опе­ра­то­ра (пла­нов вы­пол­не­ния). Наи­бо­лее эф­фек­тив­ный план ис­пол­ня­ет­ся в СУБД при по­мо­щи внутр. под­сис­те­мы (яд­ра СУБД), под­дер­жи­ваю­щей ин­тер­фейс дос­ту­па к дан­ным на уров­не их отд. эле­мен­тов (за­пи­сей). Яд­ро СУБД обес­пе­чи­ва­ет бу­фе­ри­за­цию дан­ных – кэ­ши­ро­ва­ние (см. Кэш-па­мять), син­хро­ни­за­цию дос­ту­па к дан­ным и управ­ле­ние тран­зак­ция­ми (ко­рот­кий во вре­ме­ни цикл взаи­мо­дей­ст­вия объ­ек­тов, вклю­чаю­щий за­прос – вы­пол­не­ние за­да­ния – от­вет), а так­же жур­на­ли­за­цию из­ме­не­ний БД (со­хра­не­ние ис­то­рии). Ка­ж­дая СУБД ос­но­вы­ва­ет­ся на не­ко­то­рой мо­де­ли дан­ных (напр., ре­ля­ци­он­ной). В боль­шин­ст­ве совр. СУБД внеш­ний ин­тер­фейс обыч­но ос­но­вы­ва­ет­ся на ис­поль­зо­ва­нии спец. язы­ка (напр., SQL, Structured Query Language – стан­дарт­ный язык за­про­сов, язык оп­ре­де­ле­ния струк­тур и ма­ни­пу­ли­ро­ва­ния дан­ны­ми), в ко­то­ром от­ра­жа­ют­ся осн. чер­ты мо­де­ли дан­ных.

СУБД клас­си­фи­ци­ру­ют: на се­те­вые, ие­рар­хич., ре­ля­ци­он­ные (и SQL-ори­енти­ро­ван­ные), объ­ект­но ори­ен­ти­ро­ван­ные, XML-ори­ен­ти­ро­ван­ные (англ. eXtensible Markup Language – рас­ши­ряе­мый язык раз­мет­ки) и др., т. е. по мо­де­ли дан­ных; уни­вер­саль­ные и спе­циа­ли­зир., ко­то­рые ори­ен­ти­ро­ва­ны на эф­фек­тив­ную под­держ­ку од­но­го клас­са ин­фор­мац. сис­тем (напр., тран­закц. или ана­ли­тич.); файл-сер­вер­ные (БД хра­нят­ся в фай­лах спе­циа­ли­зир. фай­ло­во­го сер­ве­ра), кли­ент-сер­вер­ные (все осн. ком­по­нен­ты СУБД вы­пол­ня­ют­ся на отд. сер­ве­ре, на ко­то­ром хра­нит­ся и БД, а на кли­ент­ской час­ти вы­пол­ня­ет­ся код при­ло­же­ния), встраи­вае­мые (СУБД тес­но свя­за­на с при­клад­ной про­грам­мой и пол­но­стью вы­пол­ня­ет­ся на том же ком­пь­ю­те­ре, не тре­буя проф. ад­ми­ни­ст­ри­ро­ва­ния); од­но­про­цес­сор­ные (не ис­поль­зу­ют ап­па­рат­ные воз­мож­но­сти па­рал­ле­лиз­ма, бы­ли рас­про­стра­не­ны до по­яв­ле­ния мно­го­ядер­ных про­цес­со­ров), па­рал­лель­ные с об­щей па­мя­тью (обес­пе­чи­ва­ют меж­за­прос­ный или внут­ри­за­прос­ный па­рал­ле­лизм с ис­поль­зо­ва­ни­ем не­сколь­ких ядер), па­рал­лель­ные с об­щи­ми дис­ка­ми (неск. эк­зем­п­ля­ров СУБД ра­бо­та­ют в раз­ных уз­лах вы­чис­лит. кла­сте­ра, но об­ра­ща­ют­ся к об­щей дис­ко­вой под­сис­те­ме, в ко­то­рой хра­нит­ся БД) и па­рал­лель­ные без ис­поль­зо­ва­ния об­щих ре­сур­сов СУБД (неск. СУБД ра­бо­та­ют в раз­ных уз­лах кла­сте­ра, ка­ж­дый со сво­им раз­де­лом БД, что обес­пе­чи­ва­ет го­ри­зон­таль­ное мас­шта­би­ро­ва­ние при рос­те объ­ё­ма дан­ных).

Пер­вые СУБД (нач. 1960-х гг.) бы­ли ос­но­ва­ны на ие­рар­хич., се­те­вой и др. ран­них мо­де­лях дан­ных. В нач. 1970-х гг. Э. Кодд (США) пред­ло­жил но­вый – ре­ля­ци­он­ный – под­ход к ор­га­ни­за­ции БД и СУБД, на ос­но­ве ко­то­ро­го в 1970-е гг. вы­пол­не­ны экс­пе­рим. про­ек­ты System R (IBM) и Ingres (Ка­ли­фор­ний­ский ун-т в Берк­ли) и за­ло­же­ны ос­но­вы бу­ду­щих тех­но­ло­гий (язык SQL, прин­ци­пы оп­ти­ми­за­ции за­про­сов, ме­то­ды управ­ле­ния тран­зак­ция­ми и др.). В 1980-е гг. раз­ра­бо­та­ны объ­ект­но ори­ен­ти­ро­ван­ные, объ­ект­но ре­ля­ци­он­ные и пер­вые ком­мерч. ре­ля­ци­он­ные СУБД. В 1990-е гг. поя­вил­ся ряд раз­ви­тых уни­вер­саль­ных SQL-ори­ен­ти­ро­ван­ных СУБД с объ­ект­но ре­ля­ци­он­ны­ми воз­мож­но­стя­ми (In­for­mix Universal Server, Oracle8, DB2, Universal Database). При­нят стан­дарт SQL:1999, в ко­то­ром эти воз­мож­но­сти, а так­же все осн. сред­ст­ва SQL-ори­ен­тиро­ван­ных СУБД бы­ли окон­ча­тель­но со­гла­со­ва­ны и ут­вер­жде­ны. Од­но­вре­мен­но раз­ви­ва­лись объ­ект­но ори­ен­ти­ро­ван­ные СУБД. В нач. 21 в. М. Стон­брей­кер (США) обос­но­вал ко­нец эпо­хи уни­вер­саль­ных СУБД и пе­ре­ход к спе­ци­а­ли­зир., ори­ен­ти­ро­ван­ным на под­дер­ж­ку отд. клас­сов ин­фор­ма­ци­он­ных сис­тем – XML-ори­ен­ти­ро­ван­ные (напр., Tamino, Sedna), по­то­ко­вые (Stream­ba­se), ана­ли­тические (Vertica, Greenplum), тран­закц. СУБД (VoltDB). Из-за взры­во­об­раз­но­го рос­та дан­ных (BigData) ста­ла ак­ту­аль­ной воз­мож­ность го­ри­зон­таль­но­го мас­шта­би­ро­ва­ния; в ре­зуль­та­те прак­ти­че­ски все совр. СУБД яв­ля­ют­ся мас­сив­но-па­рал­лель­ны­ми. Про­бле­ма BigData при­ве­ла к по­яв­ле­нию ря­да сис­тем ка­тего­рии NoSQL, раз­ра­бот­чи­ки ко­то­рых опи­ра­ют­ся на опыт в об­лас­ти рас­пре­де­лён­ных сис­тем (со­во­куп­ность ло­ги­че­ски взаи­мо­свя­зан­ных баз дан­ных, рас­пре­де­лён­ных по уз­лам ком­пь­ю­тер­ной се­ти) и не сле­ду­ют ка­но­нам тра­ди­ци­он­ных СУБД. В СССР и РФ раз­ра­ба­ты­ва­ли СУБД ИНЕС и НИКА (1980-е гг., Ин-т сис­тем­но­го ана­ли­за РАН), ЛИНТЕР (ком­па­ния РЕЛЭКС, Во­ро­неж, с кон. 1980-х гг.), Sedna (2000-е гг., Ин-т сис­тем­но­го про­грам­ми­ро­ва­ния РАН).

Лит.: Куз­не­цов С. Д. Ба­зы дан­ных. М., 2012.

Вернуться к началу