⋮ Obsah
Co takhle použít databázi?
https://www.dokuwiki.org/faq:database
Mohla by DokuWiki místo textových souborů používat databázi?
Teoreticky ano, ale existuje důvod, proč se tak neděje. DokuWiki byla navržena pro uchovávání dokumentace všeho druhu. Co uděláte, když vám spadne databáze nebo webový server a dokumentace potřebná k jejich obnovení je dostupná jen přes tento server nebo databázi?
Uff!
Proto DokuWiki ukládá všechna důležitá data jako prostý text, který je vždy čitelný – i když máte jen „páskovou“ zálohu svého milovaného serveru .
Čtěte dále a dozvíte se další důvody, proč se databáze nepoužívá.
Databáze vs. ukládání do souborového systému
Pojďme si vyjasnit představu, že systém pro správu databází (DBMS - Database Management System) je ideální úložiště pro wiki data. Neříkáme, že DBMS je špatná volba, jen že není jediná – a že použití souborového systému, jak to dělá DokuWiki, rozhodně není špatné řešení.
Než budete číst dál, připomeňme si vlastnosti wiki dat:
- často se čtou, méně často aktualizují,
- smíšený a nestrukturovaný textový obsah.
Souborový systém je extrémně efektivní místo pro ukládání dat. Právě tam DBMS obvykle ukládá svá data. Pro jednoduché načítání je souborový systém často rychlejší než DBMS. Dobře navržená databázová aplikace si běžné dotazy stejně ukládá do souborového systému kvůli rychlejšímu přístupu!
Navíc moderní souborové systémy ukládají často používané soubory do paměti – čtení těchto dat už ani nezatěžuje disk.
Většina práce DokuWiki spočívá v jednoduchém načítání – získat soubor a zobrazit jeho obsah s případným zpracováním. To se pro souborový systém hodí skvěle. Databáze vynikají při práci s vysoce strukturovanými daty, která se často mění. Wiki taková není.
Vyhledávání ve wiki – přesněji její indexace – je oblast, kde může DBMS pomoci. DokuWiki si vytváří vlastní index tím, že zaznamenává každé „slovo“ o třech a více znacích. Částečné vyhledávání je pomalejší než v databázi a pokročilé hledání je složitější, ale pro hledání celých slov je to funkční řešení (výsledky se zobrazují v přiměřeném čase). U veřejné wiki lze tvrdit, že Google poskytuje lepší indexaci než jakékoli interní vyhledávání.
DBMS může usnadnit překročení hranice jednoho serveru. Nejjednodušší je umístit databázi na jeden server a webovou aplikaci na druhý. DokuWiki by mohla dosáhnout podobného efektu pomocí NFS, které umožní více serverům v síti LAN přistupovat ke stromu dat wiki.
U velmi rozsáhlých instalací, kde data musí být na více serverech, lze problémy s replikací/synchronizací přenechat vhodnému DBMS.
Ukládání do souborového systému má i další výhody. Protože je potřeba provozovat jen jednu službu (webserver) místo dvou (DBMS + webserver), je instalace jednodušší, nároky na server nižší a odolnost vůči chybám vyšší.
Zálohování, obnova nebo přesun wiki na jiný server je jen otázkou kopírování souborů. Data wiki dostupná v souborovém systému se také snáze čtou nebo upravují pomocí jiných nástrojů či skriptů.
Viz také:
Přístup k databázovému obsahu
I když DokuWiki databázi nepoužívá, je možné přistupovat k datům uloženým v databázi.
- Plugin plugin:data umožňuje přidávat strukturovaná data do stránek pomocí SQLite databáze.
- Podívejte se na pluginy označené tagem „database“ pro přístup k databázovému obsahu.