Systém správy databáze (zkráceně DBMS ) je systémový software používaný k ukládání, manipulaci nebo správě a sdílení dat v databázi , což zaručuje kvalitu, trvanlivost a důvěrnost informací a zároveň skrývá složitost operací.
DBMS (v angličtině DBMS pro systém správy databáze ) umožňuje registrovat, vyhledávat, upravovat, třídit, transformovat nebo tisknout informace z databáze. Umožňuje provádět zprávy o zaznamenaných informacích a zahrnuje mechanismy k zajištění konzistence informací, zabránění ztrátě informací v důsledku poruch, zajištění důvěrnosti a umožnění jejich použití jiným softwarem. V závislosti na modelu může DBMS obsahovat jednoduché grafické rozhraní až po sofistikované programovací jazyky.
Systémy pro správu databází jsou univerzální software, nezávisle na použití databází. Používají se pro mnoho počítačových aplikací, včetně bankomatů , rezervačního softwaru , digitálních knihoven , inventárního softwaru , softwaru ERP nebo většiny blogů a webů. Existuje mnoho systémů pro správu databází . V roce 2008 držela společnost Oracle téměř polovinu trhu DBMS s MySQL a Oracle Database . Dále přichází IBM s téměř 20%, což ponechává malý prostor pro ostatní hráče.
DBMS jsou často používány jiným softwarem, stejně jako administrátory nebo vývojáři . Mohou mít podobu softwarové komponenty , serveru , aplikačního softwaru nebo programovacího prostředí .
V roce 2011 zpracovávala většina databázových systémů na trhu relační databáze .
DBMS jsou middleware mezi uživateli a databázemi. Databáze je datový sklad skládá z několika souborů ovládal výlučně DBMS. Ten skrývá složitost zpracování struktur databáze tím, že poskytuje syntetický pohled na obsah.
Balíček DBMS a databáze má umožnit ukládání dat způsobem, který nabízí mnoho výhod oproti běžnému ukládání do souborů . Umožňuje rychle získat a upravit data a sdílet je s několika uživateli. Nezajišťuje žádnou redundanci, integritu, důvěrnost a trvanlivost dat a zároveň poskytuje prostředky, jak se vyhnout možným konfliktům úprav a skrýt podrobnosti formátu souborů z databází.
Data jsou zaznamenávána ve formě posloupností bitů představujících písmena, číslice, barvy, tvary atd. DBMS obsahuje různé mechanismy určené k rychlému nalezení dat a jejich převodu za účelem získání informací, které mají jeden směr.
Současné DBMS jsou sofistikovaný software vyžadující vysoce kvalifikovaný personál a jejich použití často vede k podstatnému zvýšení nákladů na licence a školení.
DBMS se používá k záznamu dat, jejich vyhledání, úpravám a automatickému vytváření zpráv (anglická zpráva ) o obsahu databáze. Umožňuje určit typy dat , strukturu dat obsažených v databázi a také pravidla konzistence, jako je absence redundance.
Charakteristiky dat zaznamenaných v databázi, stejně jako vztahy, pravidla konzistence a seznamy řízení přístupu jsou zaznamenány v katalogu, který je umístěn uvnitř databáze a zpracovává jej DBMS.
Vyhledávání a zpracování dat, jakož i definování jejich charakteristik, pravidel konzistence a přístupových oprávnění lze vyjádřit jako dotazy (anglický dotaz ) v počítačovém jazyce rozpoznaném systémem DBMS. SQL je nejoblíbenější počítačový jazyk, je to standardizovaný jazyk pro práci s databázemi. Existuje mnoho dalších jazyků, jako je Databasic of Charles Bachman , DataFlex, dBase nebo xBaseScript (atd).
Databáze mohou mít velikost několik terabajtů ; velikost větší než místo dostupné v hlavní paměti počítače. Databáze jsou uloženy na pevných discích , které mají vyšší kapacitu, ale jsou pomalejší, a systém DBMS je vybaven mechanismy pro urychlení operací. Současné DBMS zaznamenávají nejen data, ale také jejich popis, formy, definice zpráv, pravidla konzistence, postupy ; umožňují ukládání videí a obrázků. DBMS manipuluje se složitými strukturami nezbytnými k uchování těchto informací.
DBMS jsou vybaveny mechanismy, které provádějí kontroly bez vědomí uživatele, aby byla zajištěna úspěšnost transakcí, zabráněno problémům v důsledku současného přístupu a zajištěno zabezpečení dat:
V závislosti na jejich konstrukci a možnostech, které nabízejí, lze o DBMS říci, že jsou hierarchické, relační, objektově orientované, objektově relační, XML / RDF nebo smíšené:
Kromě toho může být DBMS distribuován, centralizován nebo vložen a může být prostorový:
DBMS se také liší velikostí databází, které mohou zpracovávat.
Různé systémy DBMS na trhu se liší rozsahem použití databází: rozsah ovlivňuje počet současných uživatelů, velikost databází, umístění a potřebný výpočetní výkon. Některé DBMS podporují velmi velké databáze a vyžadují výkonné a velmi drahé počítače. Ostatní systémy DBMS fungují na levných osobních počítačích s omezením velikosti databáze a výpočetního výkonu. Lze je rozdělit na:
Do roku 1960 byly informace zaznamenávány do souborů zpracovávaných aplikačním softwarem. Myšlenka na databáze byla zahájena v roce 1960 jako součást programu Apollo . Cílem bylo vytvořit počítačové zařízení určené k záznamu velkého množství informací souvisejících s vesmírným programem, s cílem přistát na Měsíci před koncem dekády. Z tohoto důvodu IBM společně se společností Rockwell uvádí na trh software Information Management System (IMS). S tímto DBMS se informace zaznamenávají do databází uspořádaných hierarchicky.
Společnost General Electric současně s pomocí Charlese Bachmana spustila software Integrated Data Store . S tímto DBMS se informace zaznamenávají do databází organizovaných podle síťového modelu, což umožňuje zaznamenávat informace, které mají složitější organizaci než hierarchický model.
V roce 1965 vyvinul Dick PICK operační systém Pick , který zahrnoval DBMS a jazyk Databasic od Charlese Bachmana . V roce 2002 byla technologie Pick použita v současných produktech, jako je JBase.
V roce 1967 vytvořilo konsorcium CODASYL pracovní skupinu, databázovou pracovní skupinu abr. DBTG , který pracuje na standardizaci dvou počítačových jazyků souvisejících s databázemi: DML a DDL.
Hierarchické a síťové organizace šedesátých let postrádaly nezávislost na formátu souborů, manipulaci s daty komplikovaly a postrádaly teoretický základ. V roce 1970 Edgar Frank Codd , zaměstnanec IBM , vydal knihu Relační model dat pro velké sdílené datové banky , dílo, které představuje teoretické základy relační organizace . Na základě práce EF Codda vyvíjí IBM systém System R DBMS , který bude uveden na trh na konci 70. let. Jeho cílem je demonstrovat proveditelnost relačního DBMS . Počítačovým jazykem specifickým pro tento DBMS je jazyk strukturovaných dotazů (zkráceně SQL ), definovaný společností IBM a určený pro zpracování relačních databází .
Charles Bachman obdržel Turingovu cenu v roce 1973 za tyto příspěvky do databázové technologie a Edgar Frank Codd získal Turingovu cenu v roce 1981 ze stejných důvodů.
V roce 1978 , ANSI vydával popis architektury ANSI / Sparc , která slouží jako referenční model ve vztahu k nezávislosti dat DBMS.
Dva trhové váhy DBMS v roce 2010 , kterými jsou IBM DB2 a Oracle Database , byly uvedeny na trh v roce 1979 a oba jsou založeny na relačním modelu. Ve stejném roce byl jazyk SQL standardizován ISO .
Tyto vyhledávače a datové sklady jsou počítačové aplikace se objevily v 1990 , které ovlivnily trh DBMS. Vyhledávače vyžadovaly zpracování nestrukturovaných informací napsaných v přirozeném jazyce. A datové sklady vyžadovaly sběr a konsolidaci velmi velkého množství informací, aby bylo možné vytvořit souhrnné tabulky.
Objektově orientované a objektově relační organizační modely se objevily v 90. letech. První objektově relační DBMS byly Postgres , Informix a Oracle Database v roce 1995 . Standard týkající se jazyka SQL byl upraven v roce 1999, aby bylo možné jej použít pro tento typ DBMS.
DBMS se skládá z mnoha programů, včetně enginu, katalogu, procesoru dotazů, jazyka příkazů a nástrojů:
Nástroje DBMS se používají k vytváření sestav , obrazovek pro zadávání informací, importu a exportu dat z databáze a do databáze a zpracování katalogu. Tyto nástroje používá správce databáze k zálohování, obnově dat, povolení nebo odepření přístupu k určitým informacím ak provádění změn v obsahu databáze - vytváření, čtení, úpravy a mazání informací, zkráceně CRUD (anglicky create, read , aktualizovat, mazat ). Tyto nástroje se také používají k monitorování činnosti motoru a provádění operací ladění .
Současné špičkové DBMS mají mnoho rozšíření, které poskytují doplňkové funkce, ale jejich konstrukce zůstává podobná jako u většiny DBMS.
V relačním DBMS se požadavky zadané do DBMS obvykle zpracovávají v pěti fázích:
Centrální část systému DBMS provádí databázový stroj operace záznamu a načítání dat . V závislosti na DBMS může být databáze tvořena jedním nebo více soubory. Role enginu je manipulovat s těmito soubory.
Tyto indexy jsou struktury, jak urychlit vyhledávání operací, které jsou udržovány databázový stroj. Tyto pohledy jsou virtuální tabulky vytvořené z jiných tabulek, a obsah je udržován databázový stroj. Rovněž zpracovává katalog, řídí transakce, ověřuje konzistenci informací a ověřuje, že uživatelé mají přístup pouze k autorizovaným informacím:
Engine používá vyrovnávací paměti : Toto je umístění centrální paměti, které se používá k dočasnému ukládání informací při přenosu. Informace se hromadně shromažďují ze souborů a poté se ukládají do vyrovnávacích pamětí. Během následných čtení jsou informace načteny z existující vyrovnávací paměti - mnohem rychleji než čtení souboru. Operace čtení souborů jsou tak omezeny a operace zápisu jsou posunuty, což zrychluje DBMS.
Operace prováděné modulem se často zapisují do souboru protokolu , což umožňuje jejich vrácení zpět v případě incidentu - selhání nebo vrácení transakce.
V databázovém zařízení - které zahrnuje aplikační software, DBMS a databázi - se způsob, jakým jsou informace prezentovány uživatelům, liší od způsobu, jakým jsou informace organizovány, a způsob, jakým jsou informace organizovány, se liší od způsobu, jakým jsou informace poskytovány uživatelům. informace se ukládají do souborů. Tento 3- bod konstrukce je založena na ANSI / SPARC referenčního modelu .
Každý ze 3 pohledů lze upravit například formulováním požadavků v jazyce DBMS. Nezávislost na datech je schopnost systému DBMS umožnit změnu kteréhokoli ze tří pohledů bez nutnosti úpravy ostatních pohledů:
Existuje nezávislost na datech, pokud lze koncepční diagram upravit bez nutnosti úpravy pohledu uživatele nebo fyzické struktury a pokud lze fyzickou strukturu upravit bez nutnosti úpravy koncepčního diagramu nebo fyzické struktury. Uživatelská perspektiva.
Existuje několik kategorií uživatelů DBMS, mezi nimiž jsou správce databáze, návrhář databází , vývojář a uživatelé - více či méně informovaní - počítačových systémů.
Správce databáze (anglický správce databáze Rep. DBA ) je odborníkem na DBMS, stará se o instalaci a údržbu DBMS a příloh doprovázejících nástroje. Je osobou odpovědnou za integritu, bezpečnost, dostupnost informací obsažených v databázích i za výkon systému DBMS. Chrání informace před nehodami v důsledku nesprávného zacházení, programovacích chyb, škodlivého použití nebo poruch, které by vedly ke zhoršení obsahu databází. Za tímto účelem správce databáze autorizuje nebo zakazuje přístup k informacím a sleduje činnost systému DBMS. Pravidelně vytváří záložní kopie , aby bylo možné obnovit data , která byla ztracena nebo poškozena, a provádí úpravy ladění , aby zlepšila výkon systému DBMS. Správce používá nástroje pro správu databáze nebo příkazový jazyk DBMS.
Návrhář databáze je osoba, která uvádí informace, které budou uloženy v databázi, vztahy mezi těmito informacemi a omezeními, jako je přítomnost nebo nepřítomnost redundance. Návrhář databáze má podrobné znalosti o použití těchto informací a o pravidlech, která z nich vyplývají. Odpovídá za vhodnou organizaci databáze vytvářením struktur nezbytných pro ukládání informací.
Mezi vývojáři vytvářet softwarové aplikace a dávku v programovacím jazyce vyšší úrovně. Každý software cílí na určitou aktivitu - například na hledání knih v knihovně - a je určen pro ostatní uživatele systému DBMS. Vývojář spolupracuje s osobou provádějící danou činnost, aby určil charakteristické potřeby této činnosti, poté určí architekturu produktu a implementuje ji napsáním zdrojového kódu . Tento software obsahuje pokyny, které volají po systému DBMS k vyhledání nebo úpravě informací. Někteří zkušení uživatelé, kteří znají programovací jazyk, vytvářejí programy pro vlastní potřebu.
Výkonní uživatelé mají znalosti v používání příkazového jazyka DBMS a přístupu k datům ze svého osobního počítače. Byli autorizováni správcem, aby viděli určité informace a upravovali je. Informovaní uživatelé mohou vyhledávat, přidávat, upravovat nebo mazat data pomocí příkazového jazyka DBMS, zatímco laičtí uživatelé nikdy nepoužívají příkazový jazyk, ale přistupují k informacím prostřednictvím aplikačního softwaru poskytovaného pro tento účel.
Laičtí uživatelé mají přístup k informacím prostřednictvím aplikačního softwaru. Spouštějí příkazy nebo volí nabídky a nemají žádné znalosti jazyka příkazů ani organizace databáze. Operace prováděné těmito uživateli jsou méně sofistikované a omezené na možnosti nabízené aplikačním softwarem.
DBMS jsou komplexní a strategický software používaný v mnoha IT aplikacích, včetně elektronického obchodování , lékařských záznamů, plateb, lidských zdrojů , řízení vztahů se zákazníky a logistiky, stejně jako blogů a wiki. Jsou výsledkem desetiletí vědeckého výzkumu a průmyslový výzkum. První DBMS v historii silně ovlivnil tento tržní sektor a myšlenky těchto průkopníků jsou stále široce kopírovány a znovu použity současným DBMS. Trh DBMS je velmi tenký, kde dominuje hrst špičkových konkurenčních produktů.
Objem prodeje relačních DBMS se v roce 2005 odhaduje na 6 až 10 miliard dolarů ročně. V roce 2008 zaujímají tři tržní tenory IBM DB2 , Oracle Database a Microsoft SQL Server 80% trhu relačních DBMS.
V roce 2002 byl trh DBMS rozdělen do 3 segmentů:
V roce 2002 se trh Open Source DBMS, který je specializovaným trhem, odhaduje na 850 milionů dolarů v roce 2008 a podle předpovědí na 1,2 miliardy dolarů v roce 2010 zahrnují tyto náklady licence, záruky a smlouvy o technické pomoci. Zatímco velké značky DBMS jsou oceňovány pro kritické aplikace díky své robustnosti, bohatosti a odolnosti , otevřené zdroje DBMS jsou jednodušší a nenabízejí všechny ozdoby produktů velké značky, jsou oceňovány pro jejich snadné použití a vyhledávané malými a střední instituce. Různé zákazníci doufají, že budou schopni nahradit drahé velké značky databázemi s levnější open source databázemi , ale tyto náhrady jsou vzácné, a MySQL a PostgreSQL DBMS jsou používány pro nové aplikace, v důsledku migrace obtížemi.
Volba systému DBMS je pro instituci často strategickým rozhodnutím. Náklady na pořízení systému DBMS, který podporuje několik tisíc uživatelů a velkou databázi, se mohou přiblížit k 1 milionu dolarů . V roce 1993 existovaly různé relační DBMS, které byly považovány za dostatečně vyspělé pro použití ve strategických aplikacích. Výrobky jsou složité, rozdíly jsou někdy jemné, což kupujícímu ztěžuje výběr. O deset let později už volba není tak obtížná jako předtím; počet vydavatelů DBMS se snížil v důsledku fúzí a na trhu dominuje malý počet významných hráčů.
Podle průzkumu provedeného v roce 1993 časopisem Network World se zdá, že kritériem pro výběr nejdůležitějších DBMS v očích kupujících jsou spolehlivost, výkon, shoda s normami, rozsah podporovaných počítačů a možnosti využití. Cena se objeví pouze na desáté pozici. Podle tohoto průzkumu také 70% kupujících tvrdí, že je připraveno zaplatit za pořízení DBMS 2 000 až 25 000 USD.
Často kladené otázky od kupujících se týkají výkonu, charakteristik příkazového jazyka, souběžného řízení přístupu a typů dostupných dat . Otázka výkonu se často objevuje v horní části seznamu kupujících a v dolní části seznamu prodejců; Proto je testování a měřítka běžnou praxí. Charakteristiky příkazového jazyka SQL poskytují informace o syntaxi , které musí odpovídat požadavky odeslané do systému DBMS. Standard SQL byl několikrát upraven, existují 3 úrovně shody a jazyk SQL rozpoznávaný každým DBMS na trhu je podobný jednomu nebo druhému z těchto různých standardů.
Středně velká společnost v současné době používá několik DBMS současně, výběr DBMS je zřídka očekáván, často je vyžadován příchodem aplikačního softwaru a je obtížné jej zvrátit. Společnost někdy získává aplikační software, který nefunguje na žádném z DBMS, které již vlastní. Stává se také, že společnost motivuje nákup nového DBMS touhou používat nejnovější a nejvýznamnější technologie. Výměna starého systému DBMS za nový je obtížná z důvodu nedostatečné kompatibility mezi různými produkty - což vyžaduje přizpůsobení aplikačního softwaru nově příchozím. Výsledkem je, že aplikační software často není vhodný a spolu s novými produkty se nadále používá starý DBMS.
Název DBMS | Rok | Editor | Vlastnosti | typ softwaru | SQL | Více hodnot | Licence |
---|---|---|---|---|---|---|---|
Apačské derby | 1996 | Softwarová nadace Apache | vložené, relační, centralizované | Softwarová součást | Apache | ||
DB2 | 1983 | IBM | pro firmy, pracovní skupiny, jednotlivce | serveru | majitel | ||
dBase | 1978 | Ashton-Tate | relační, pro jednotlivce | L4G | majitel | ||
FileMaker Pro | 1985 | FileMaker | relační, pro pracovní skupiny | aplikační software | majitel | ||
4D | 1985 | 4D | relační, pro pracovní skupiny a společnosti | aplikační software | majitel | ||
Fénix | devatenáct osmdesát jedna | Firebird Foundation | relační, centralizované, palubní, pro pracovní skupiny a společnosti | serveru | Interbase | ||
HSQLDB | 2000 | Thomas Mueller | relační, vložené, centralizované, pro pracovní skupiny a jednotlivce | Softwarová součást | BSD | ||
HFSQL | 1993 | PC Soft | softwarová součást | majitel | |||
Informix | devatenáct osmdesát jedna | IBM | pro společnosti, pracovní skupiny, distribuované | serveru | majitel | ||
Ingres | 1974 | Ingres Corporation | relační, prostorové, centralizované, distribuované | serveru | LPG | ||
Skrytý | 1997 | InterSystems | objekt, pro společnosti, distribuován | serveru | majitel | ||
MariaDB | 2009 | Monty Program Ab | serveru | LPG | |||
MaxDB | 1977 | SAP AG a MySQL AB | relační objekt, pro firmy a pracovní skupiny, centralizovaný | softwarová součást | LPG | ||
Microsoft Access | 1992 | Microsoft | relační, pro jednotlivce a pracovní skupiny | L4G | majitel | ||
Microsoft SQL Server | 1989 | Microsoft | společnosti, pracovní skupiny, jednotlivci, relační, distribuované | serveru | majitel | ||
MySQL | 1995 | Oracle Corporation a MySQL AB | centralizovaný, vložený, distribuovaný pro společnosti, pracovní skupiny a jednotlivce | serveru | LPG | ||
OpenOffice.org Base | 2002 | Oracle Corporation | Aplikační software | LGPL | |||
Oracle Database | 1979 | Oracle Corporation | společnosti, pracovní skupiny, jednotlivci, relační, prostorové, distribuované | serveru | majitel | ||
Paradox | 1987 | Corel | aplikační software | majitel | |||
Výběr | 1968 | Vyberte systém | serveru | majitel | |||
PostgreSQL | 1985 | Michael Stonebraker , globální vývojová skupina PostgreSQL | serveru | BSD | |||
SQLite | 2000 | D. Richard Hipp | vložený | komponenta knihovna / software | Veřejná doména | ||
MongoDB | 2007 | MongoDB | Dokumentově orientovaný NoSQL | serveru | SSPL | ||
Cassandra | 2008 | Apache Foundation | Sloupec orientovaný NoSQL | Licence Apache 2 | |||
Couchbase | 2010 | Couchbase | Dokumentově orientovaný NoSQL | ||||
Elasticsearch | 2004 | Elasticsearch | NoSQL reverzní index | ||||
HBase | 2006 | Hortonworks | Sloupec orientovaný NoSQL | ||||
Redis | 2009 | Redis Labs | Klíč-hodnota orientovaný NoSQL | ||||
Riak | 2009 | Basho Technologies | Klíč-hodnota orientovaný NoSQL | ||||
DynamoDB | 2012 | Amazonka | Klíč-hodnota-orientovaný NoSQL a dokumenty | ||||
Let smrti | 2009 | Klíč-hodnota orientovaný NoSQL | |||||
Velký stůl | 2005 | Sloupec orientovaný NoSQL | majitel | ||||
MemcacheDB | NoSQL, v paměti | BSD | |||||
Vertica | 2005 | Sloupec orientovaný NoSQL | majitel | ||||
Neo4j | 2010 | Neo technologie | Graf orientovaný na NoSQL | GNUv3 a AGPL-3.0 | |||
Databáze Oracle NoSQL | Oracle Corporation | NoSQL |