LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> PostgreSQL (1) - Historie a pohledy jinam

Dnes začínáme seriál o databázích, zpočátku pokud možno obecný, ale postupem času se budeme stále více věnovat mému oblíbenému PostgreSQL serveru.

12.8.2004 08:00 | MaReK Olšavský | Články autora | přečteno 37528×

Databáze a databázové servery prý patří na třetí místo v prodejnosti software za hry a kancelářské aplikace. Vývoj jednoznačně směřuje k jejich potřebě v jakékoliv formě, ať už té nejjednodušší souborové (například účetnictví), nebo sofistikovanější SQL serveru (třeba www aplikace).

Tento seriál bude orientovaný na SQL jazyk, zaměříme se na nějaké detaily použití. Bude o optimalizaci dat v databázi o možnostech zrychlení a udržení konzistence dat v ní. Později se dostaneme i k programování stored procedur a teprve v tento moment bude jednoznačná orientace na PostgreSQL server, případně se podíváme i na FirebirdSQL. Bohužel se nebudu věnovat instalaci některého ze serverů, protože to je mimo obsahovou linii tohoto seriálu. Seriál o instalaci, nastavení a práci s MySQL se již připravuje a já mohu udělat totéž pro PostgreSQL.

Databázi můžeme přirovnat ke kartotéce, kde každý záznam (ve správné db terminologii věta) je jedinečný a organizovaně nalezitelný (jak to počítači usnadnit si povíme, až budeme u indexů) lístek. V dobách prvních počítačů tomu tak opravdu bylo, protože záznamy byly uloženy na děrných štítcích...

V dobách, kdy se počítače začali šířit trochu masívněji vládla poměrně anarchie, protože takřka každý výrobce software, měl vlastní, z jeho hlediska nejlepší, systém, jak věty ukládat. Třeba použitím jednoho odělovače pro věty a druhého pro položky ve větách.

Z těchto pionýrských dob přežilo pár souborových databázových formátů - dbf (program dBase, ale třeba i FoxPro), db (Paradox) a mdb (MS Access). I dnes jsou tyto formáty často využívány a nejsou hodné zatracení. Jejich využití je zejména v "jednodušších" aplikacích.

Souborové databáze mají omezené možnosti optimalizace výkonu (indexace) a zabezpečení přístupu k datům v nich uložených. Neumožňují transakční zpracování dat a řešení relací mezi tabulkami není také snadný úkol, pokud nepracujete přímo ve FoxPro, dBase, nebo Accessu. Většinou do nich nelze uložit i nestrukturovaná, či binární data.

Mají ale i své výhody. Řada vývojových nástrojů je umí použít ve Vašem programu (třeba přes DAO), nebo existují knihovny či třídy pro přístup k těmto datům (třeba pro Perl, Javu a PHP), anebo si je můžete napsat sami ;-). Většina moderních SQL serverů umí data v nich uložená naimportovat, případně do nich exportovat, využití už ctěného čtenáře snad napadne.

Dalším krokem jsou relační databáze. Pokud budeme zkoumat vše do podrobna i ony si ukládají data do nějakého svého formátu na disky, ale nás jako uživatele, případně programátora od tohoto odstiňují. V další kapitole se budeme věnovat základním pojmům kolem databází, prozatím bude stačit, když budete vědět, že relace je propojení několika tabulek dohromady, které umožňuje i poměrně rozsáhlou optimalizaci jak z hlediska prostoru obsazeného daty, tak z hlediska výkonu.

V 60. letech firma IBM vytvořila systém hierarchického modelu uspořádání dat. Data byla uspořádána ve stromech. Později se začaly propojovat data mezi stromy, ale složitost tohoto uspořádání dat neumožňovala vystihnout všechny možné vazby, které byly třeba. Proto se v 70. letech začali objevovat systémy, které byly založeny na relační algebře. Od 80. let se rozvíjí naplno relační databáze a jazyk SQL.

Relativní novinkou ve světě databází je grid databáze. Pokud nevíte o co se jedná, jde o rozložení výpočetního výkonu mezi více počítačů, či serverů. Také tomuto tématu hodlám věnovat jednu kapitolu, ale až trochu později, protože se zatím jedná o specialitu nabízenou pouze Oracle 10g.

V letech 74-76 minulého století firma IBM vytvořila sadu příkazů (jazyk) SEQUEL (Structured English Query Language) následovaný SEQUEL/2, použit v databázovém systému SYSTEM R, pro ovládání databáze. Počátkem 80. let vstoupila na trh firma Realational Software Inc. (přejmenovala se pak po svém produktu na Oracle Corporation), IBM vytvořila DB2 a vyrojili se další firmy se svými databázemi, jako Informix, SyBase, ... K ovládání databází se začal používat jazyk SQL, který je následníkem SEQUELu. ANSI chtělo vytvořit standard na základě jazyka RDL, ale SQL již bylo natolik rozšířené, že standardem se stalo SQL86, později následované SQL92 a SQL99.

SQL se překládá jako Structured Query Language, ale viděl jsem překlad i jako Simple Query Language. Já souhlasím spíše s tou druhou variantou, protože jak uvidíte sami, je to jazyk velice jednoduchý. Hlavní síla nezávisí na tomto jazyce, ale v celkové organizaci dat a administraci serveru.

Malý přehled databází

Zmíním se jen o pár nejvýznamějších, protože asi ani není v silách jednotlivce znát a vyhledat vše, navíc u některých produktů by se jednalo o jméno známé pouze pár znalcům. Komerční databáze mají své místo, protože kvůli podpoře si instituce, jako například banky nedovolí běžně nasadit open source produkty.

Komerční databáze

Oracle

Pravděpodobně leader ve světě databází. Jejich server se stal jakýmsi nepsaným standardem pro velké systémy. V Česku jej používá například Komerční Banka. Firma jako jedna z prvních ve velkém produkovala relační databáze.

Microsoft

Neušklíbejte se prosím, Microsoft SQL server patří také k těm rozšířenějším. V Česku jej používá třeba Česká Spořitelna. Rychlostně na tom není špatně, podpora a bezpečnost už se mi jeví jako trochu slabší.

IBM

Maji vlastní DB2, ale v době zcela nedávné koupili Informix. Produkty jsou používány spíše v menší míře.

Borland/Inprise

Ty mají Interbase server. Dalo by se říci, že je to poklad, který chránili před světem tak, že jej skoro nikdo nezná. Rychlý, stabilní. Donedávna jen pro Microsoftí systémy. To se změnilo, když měl chvíli opensource vývoj a odštěpili se od něj FirebirdSQL a Yaffil.

Open Source Databáze

MySQL

Databázový server oblíbený zejména v nasazení na pro WWW aplikace. Je velice rychlý, má dobrou podporu standardů jazyka SQL, ale v základnám módu (nad svými nativními tabulkami) postrádá některé vlastnosti, například transakce, vnořené SELECTy, uložené procedury a pohledy, čímže je v podstatě diskvalifikován z vážnějšího nasazení. Ale to že postrádá tyto features je vyváženo jeho rychlostí. Je plnohodně použitelná v UN*Xech i Windows, což nahrává webtvůrcům, kteří nemají extra servřík, ale zodpovědně testují pod hlavními prohlížeči.

PostgreSQL

Tento server vyniká stabilitou, rychlostí, dobrou podporou a dobrou integrací pokročilých technologií. Některé webhostingy ho mají v nabídce vedle MySQL, znám i aplikace ve finančním světě, které se o něj opírají. Tento server je primárně určen pro použití v UN*Xových OS, donedávna existovala jen alfa verze pro Windows, nebo se dal spustit pod Cygwinem, od verze 7.5 je i v tomto přístupu změna. V tomto seriálu se budu orientovat v pozdějších kapitolách (stored procedury, transakce, triggery) převážně na tento server. PostgreSQL patří k tomu oblíbenějšímu, s čím jsem přišel do styku.

FirebirdSQL

Server, který vznikl po dočasném uvolnění Interbase, s nímž je vysoce kompatibilní, dokonce používá i stejné soubory pro uložení dat. Od počátku roku 2004 ve verzi 1.5, která je o cca 30% rychlejší, než původní verze 1. Bezproblémový chod jak na Windows, tak UN*Xech, i když hned po uvedení verze 1.5 jsme měli problémy s jeho kompilací pro 64bit Solaris, protože v balíku chyběli některé zdroje, jako třeba configure, nebo make. Existuje ve dvou verzích jako Classic Server a Super Server a pro kterou se rozhodnout je jen na uživateli/správci. Využívá se i jako lokální databázový server pro aplikace, třeba systém POK firmy MSBI s.r.o., nebo účetnictví Cesar.

Yaffil

SQL server taktéž vzešlý z původní Borlandí Interbase, velmi rychlý, ale se špatnou podporou a stránky ani nejeví známky, že by se vůbec ještě vyvíjel.

miniSQL

Light weight (lehkovážní) databáze, nesetkal jsem se s jejím produkčním nasazením, spíše vhodná, pokud se potřebujete naučit SQL jazyk. Zase na druhou proč se zatěžovat její instalací, když většina distribucí už s sebou přináší i MySQL, či dokonce postgreSQL.

SQLite

SQLite není databáze v pravém slova smyslu, ale knihovna, která vám pomocí SQL jazyka umožní pracovat se soubory dbm. Všechna data jsou v jediném souboru, který třeba můžete sdílet z několika operačních systémů (budete ale muset řešit kódování). Zajímavé a příjemné je, že umí třeba transakce.

Historie PostgreSQL

Tento seriál bude orientovaný především na práci s PotgreSQL, jak jsem již předeslal, takže by bylo možná příjemné vědět něco o historii tohoto serveru.

Původně byl server vyvíjen v Berkeley na kalifornské univerzitě v letech 1986 až 1993. Vývoj se rozpadl komerčním směrem (sloučení s Informixem) i nekomerčním směrem, jako Postgres95. V roce 1996 je projekt přejmenován na PostgreSQL, je uvedena verze 6.0.

Závěrem

Pro tento díl je to vše. Nemohu tu vypsat podrobně pokus o zmapování vývoje databází a všechny SQL servery, které se na světě vyskytují. Pokud jsem Vás tímto miniúvodem neotrávil, ale naopak nalákal k přečtení dalších dílů, tak mohu být spokojen. Zatím neuvedu seznam odkazů, protože ty jsem průběžně rozesel v textu.

Verze pro tisk

pridej.cz

 

DISKUZE

Rozdělení databází 12.8.2004 11:15 Petr Zajíc
Sybase 13.8.2004 07:06 Tinek
L Re: Sybase 13.8.2004 09:40 MaReK Olšavský
  L Re: Sybase 13.8.2004 14:13 Tinek
Hehe 14.8.2004 18:51 Lukáš Zapletal




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze