Ukládání dat pomocí PHP - plochý soubor nebo databáze?

Autor: Janet Valade

maximální dávka fenterminu za den

Mnoho aplikací vyžaduje dlouhodobé ukládání informací. Ve skriptech PHP můžete informace zpřístupnit v rámci zasedání - časové úseky, které uživatelé tráví na vašem webu - pomocí metod, jako jsou funkce relace PHP a odesílání formulářů. Nakonec však budete muset uložit informace pro použití zítra nebo příští týden. Můžete jej uložit do souboru cookie, který nastavíte jako poslední po ukončení relace, ale informace jsou zranitelné. Není to pod vaší kontrolou. Uživatel může informace kdykoli smazat nebo změnit nebo může odmítnout přijmout cookie. Aby byly informace dostupné a stabilní, musí být uloženy někde na bezpečném místě, kde k nim nikdo nemůže přistupovat ani s nimi manipulovat. Informace musí být uloženy na serveru.



Informace lze na serveru ukládat v plochých souborech nebo v databázích. Ploché pilníky jsou textové soubory uložené v systému souborů počítače. Lidé mohou číst ploché soubory pomocí příkazů operačního systému, které zobrazují soubory, například kočka v Linuxu a Unixu. K těmto souborům můžete přistupovat a upravovat je pomocí libovolného editoru textových souborů, jako je například Poznámkový blok nebo vi. Informace v plochém souboru jsou uloženy jako řetězce a skript PHP, který načítá data, musí vědět, jak jsou data uložena. Například pro načtení jména zákazníka ze souboru musí skript PHP vědět, že jméno zákazníka je uloženo v prvních 20 znacích každého řádku.



Používání databáze pro ukládání dat vyžaduje instalaci a naučení se používat databázový software, jako je MySQL nebo Oracle. Data jsou uložena v souborech vytvořených databázovým softwarem a lze k nim přistupovat pouze prostřednictvím databázového softwaru. Databáze mohou ukládat velmi složité informace, které můžete snadno načíst. Nemusíte vědět, jak jsou data uložena, pouze jak komunikovat s databázovým softwarem. Například pro získání jména zákazníka potřebuje skript PHP vědět pouze to, jak sdělit databázovému softwaru, že chce jméno zákazníka, pomocí standardního komunikačního jazyka zvaného SQL. Databázový software zpracovává úložiště a dodává data, aniž by skript musel přesně vědět, kde a jak je uloženo jméno zákazníka.

Ploché soubory mají oproti databázím některé výhody:



  • Dostupné a univerzální: Data můžete vytvářet a ukládat v souborovém systému libovolného operačního systému. Nemusíte instalovat žádný další software. Kromě toho mohou textová data uložená v plochých souborech číst různé softwarové programy, jako jsou textové procesory nebo tabulky.
  • Snadné použití: Nemusíte dělat žádnou další přípravu, jako je instalace databázového softwaru, návrh databáze, vytvoření databáze atd. Stačí vytvořit soubor a uložit data s příkazy do skriptu PHP.
  • Menší: Ploché soubory ukládají data za použití menšího místa na disku než databáze.

Plochý soubor je rychlý a snadný a zabírá méně místa než databáze. Je ideální pro rychlé ukládání malého množství informací, jako je jednoduchý seznam nebo malá část informací. Ploché soubory jsou zvláště užitečné pro zpřístupnění informací jinému softwaru, jako je například editační program nebo tabulka. Ploché soubory si může prohlédnout kdokoli, kdo má přístup do počítačového adresáře, kde jsou uloženy, takže jsou užitečné, když je třeba informace zpřístupnit dalším lidem.

Databáze mají také některé výhody:

  • Bezpečnostní: Databáze poskytuje vlastní vrstvu zabezpečení, kromě zabezpečení poskytovaného operačním systémem. Databáze chrání data před vniknutím zvenčí lépe než plochý soubor.
  • Přístupnost údajů: Data můžete ukládat do databáze pomocí velmi složité datové struktury, zadáním datových typů a vztahů mezi daty. Organizace dat usnadňuje vyhledávání dat a získání toho, co potřebujete.
  • Schopnost zvládnout více uživatelů: Když mnoho uživatelů ukládá nebo přistupuje k datům v jednom souboru, například v souboru obsahujícím jména a adresy, databáze zajistí, že uživatelé se souborem vystřídají, aby se navzájem nepřepisovali.

Databáze vyžadují více úsilí při spuštění a využívají více místa než plochý soubor, ale jsou mnohem vhodnější pro zpracování složitých informací. Databáze zpracovává vnitřní organizaci dat, což výrazně zjednodušuje načítání dat. Databáze poskytuje větší zabezpečení, takže je vhodnější pro citlivé soukromé informace. Když se mnoho uživatelů může pokusit o přístup k datům téměř současně, databáze snáze a efektivněji zvládnou vysoký provoz.



tonické vedlejší účinky vody

V PHP 5 je ve výchozím nastavení zahrnuto rozšíření SQLite pro ukládání dat, které kombinuje hlavní výhody plochých souborů a databází. SQLite ukládá data do plochého souboru, takže nemusíte instalovat databázový software, ale ukládáte data pomocí SQL, standardního komunikačního jazyka databáze. SQLite je rychlá volba pro ukládání a načítání malého množství dat v plochém souboru pomocí SQL. SQLite není dobrá volba pro opravdu obrovské a komplikované databáze.