Datové modelování potřebujete, abyste sobě nebo své organizaci ušetřili spoustu peněz, hodin a problémů. Čtěte dále a zjistěte, jak kouzla datové modely.
Datové modelování je proces vytváření koncepčního pohledu na informace, které databáze obsahuje nebo by měla obsahovat. Výsledkem tohoto procesu je vytvoření datového modelu, který dává podobu datovým objektům (všem entitám, pro které mají být informace uloženy), asociacím nebo vztahům mezi nimi a pravidlům nebo omezením, kterými se řídí informace, které vstupují do databáze. .
Velmi pěkné, ale je opravdu nutné pracovat s datovými modely? Nemůžeme tento krok přeskočit, ušetřit trochu času a přejít rovnou k vytváření objektů v databázi? Na tyto otázky odpoví kurz databázového modelování, ale pokud chcete shrnutí, poskytnu vám dostatek důvodů, abyste měli datový model po ruce, kdykoli budete potřebovat pracovat s informacemi uloženými v databázi. Až dočtete tento článek, budete se mnou souhlasit, že práce s databází bez pořádného modelu se rovná stavbě domu – nebo dokonce mrakodrapu – bez pořádných základů.
Začněme tím, že zvážíme dva kontexty, ve kterých se datové modelování převážně provádí:
- Strategické modelování, které se provádí jako součást obecné strategie informačních systémů v organizaci.
- Návrh databáze, který je součástí fáze návrhu v procesu vývoje softwaru.
V obou situacích existuje spousta důvodů, proč dělat datové modelování. Nejprve uvidíme ty, které mají co do činění se strategií informačních systémů, potom ty, které se týkají vývoje softwaru.
Vyšší kvalita informací
Datový model je nezbytný pro zajištění jasnosti a konzistence metadat , definice objektů, které tvoří databázi. To přispívá ke zvýšení kvality informací. Datový model může například zajistit použití správných formátů pro datové prvky, jako jsou telefonní čísla a PSČ, a v databázi, kde jsou uložena zákaznická data, může zajistit, aby každý zákazník měl alespoň jednu adresu.
Kvalitu informací uložených v databázi můžete také zajistit zavedením pravidel, aby se do tabulek dostávaly pouze platné údaje. Chcete-li to provést při navrhování datového modelu, nastavíte doménu hodnot pro každé pole a odlišíte pole, která musí mít hodnoty, od těch, která mohou zůstat prázdná.
Definice datových modelů zajišťují shodu dat s obchodní pravidla. Můžete například chtít, aby každý klient měl adresu ve správném formátu PSČ, nebo aby každá adresa byla přidružena k městu a každé město ke státu.
Kvalita informací je také zlepšena zavedením omezení, která zajistí referenční integritu a udrží zamýšlenou mohutnost ve vztazích mezi subjekty. Tato omezení lze odvodit pouze ze správného datového modelu.
Opětovné použití datového zdroje
Při vývoji nového systému nebo přidávání nových funkcí do stávajícího systému je běžné, že některé datové entity vyžadované novým vývojem již existují v databázi, a proto mohou být znovu použity. Jediný způsob, jak zjistit, které entity již existují, je procházet aktuální datové modely, které adekvátně popisují struktury databází používaných organizací.
Koncepční, logické a fyzické datové modely by měly být udržovány, aby poskytovaly pohledy s různými úrovněmi abstrakce, abyste mohli snadno detekovat znovu použitelná datová aktiva. Můžete využít specializovaný návrhářský nástroj, jako je platforma Vertabelo, k usnadnění vytváření různých typů datových modelů a dokonce k odvození jednoho od druhého.
Tento osvědčený postup zabraňuje generování nadbytečných dat v různých schématech, což dříve nebo později vede k nekonzistentním informacím (více o tom níže).
Migrace do cloudových prostředí
S infrastrukturami nebo databázemi DaaS (Data as a Service) v cloudu jsou splněny určité požadavky, jako je ochrana soukromí v databázi , dynamická škálovatelnost a efektivita při správě více nájemců , staňte se kritičtější.
Datové modely jsou neocenitelným nástrojem pro splnění těchto požadavků, protože usnadňují ověření, zda návrh schématu odpovídá těmto požadavkům. Na druhé straně vám umožňují definovat oddíly schémat a jejich požadavky na úložiště, což je nezbytné pro správné dimenzování požadované úrovně služeb a očekávaného růstu úložiště, když jsou databáze umístěny v soukromých nebo veřejných cloudech.
Artefakty návrhu databáze, jako jsou diagramy ER, jsou nástrojem volby při přípravě na migraci do cloudového prostředí. Průvodce, jak používat ER diagramy, vám může poskytnout pohled na jejich užitečnost při migraci databází.
Databázové modelování pro velká data a NoSQL
Nerelační databáze, jako je NoSQL a dimenzionální schémata, nás mohou donutit odložit (alespoň na chvíli) naše tradiční relační myšlení. To ale neznamená, že se obejdeme bez datových modelů. Naopak, datové modelování se stává ještě důležitějším.
Když potřebujete pracovat s velkými daty, běžně se potýkáte s obrovským množstvím informací, které je třeba rozdělit, upřesnit a strukturovat tak, abyste z nich vy nebo datový analytik mohli získat strategické poznatky. Je vyžadován pečlivý návrh schématu, a to jak pro rafinovaná úložiště informací nebo datové sklady, tak pro pracovní úložiště používaná pro procesy čištění a strukturování dat.
Panuje mylná představa, hlavně ze strany programátorů, že databáze NoSQL nepoužívají schémata, a proto nevyžadují datové modely. Nic nemůže být dále od pravdy. Protože technologie NoSQL neposkytují standardizovaný způsob zobrazení metadat (což dělá každý RDBMS), datové modely se stávají nezbytnými pro to, aby lidé mohli používat a sdílet informace uložené v databázi.
Fúze a akvizice
Jakékoli sloučení dvou organizací představuje pro jejich IT oddělení obrovskou výzvu. Významná část této výzvy spočívá v konsolidaci databází. Pokud mají obě organizace aktuální datové modely, lze tuto konsolidaci provést v modelech namísto přímo v databázích, čímž se podstatně sníží úsilí věnované danému úkolu.
Doposud jsme viděli výhody datového modelování spojené se strategickým plánováním IT organizace. Pokud tyto důvody nestačí k tomu, aby vás přesvědčily o důležitosti datového modelování, podívejme se také na výhody, které přináší do vývoje softwaru.
Snížené náklady na vývoj
V raných fázích vývojového projektu, kdy se analyzuje rozpočet, může být zpochybněna potřeba vynaložit úsilí na vytvoření datového modelu. Pokud jsou vedoucí projektu a manažeři dostatečně chytří, porovnají náklady na vytvoření a údržbu datového modelu s náklady, které budou ušetřeny, a rozhodnou se ve prospěch vytvoření modelu.
Datové modelování je pouhých 10 % rozpočtu vývojového projektu a má potenciál snížit skutečné náklady projektu na méně než třetinu.
Stačí vzít v úvahu následující. Ve většině případů jsou náklady na datové modelování (tj. náklady na úsilí potřebné k vytvoření a údržbě modelu) nižší než 10 % celkového rozpočtu softwarového projektu. Pro srovnání, úspora nákladů spojená s používáním datových modelů je až 70 %, to vše díky zkrácení doby kódování a údržby.
Takže při vývoji softwaru je prvním a nejdůležitějším důvodem, proč provádět datové modelování, nezpochybnitelná ROI (návratnost investic), kterou musí vedoucí projektů zvážit v raných fázích každého projektu.
Lepší definice požadavků
Při vývoji softwaru můžete zaručit lepší porozumění systému, který má být vyvíjen, pokud jsou činnosti modelování dat prováděny souběžně se shromažďováním požadavků. Požadavky budou úplnější a správnější.
Datové modelování pomáhá odhalit obchodní pravidla a klást otázky během navrhování požadavků a zároveň zajistit integritu dat. Je efektivnější než aktivity procesního modelování, jako je návrh případu užití nebo návrh pracovního postupu, a zjevně výraznější a méně upovídaný než prozaický popis obchodních pravidel.
Rychlejší vývoj
Když mají vývojáři po ruce správné datové modely, mohou dělat svou práci s menším počtem chyb. Nástroje pro datové modelování automaticky generují a udržují databázová schémata a vytvářejí skripty jazyka pro definici dat (DDL), které jsou často příliš dlouhé, složité a chaotické na to, aby je vývojáři generovali ručně.
Tyto nástroje zase podporují spolupráci tím, že umožňují sdílení modelů mezi vývojáři. Když jsou potřeba změny, můžete je provést v datovém modelu, čímž zajistíte, že všichni vývojáři budou informováni a že budou aplikovány na databáze, aniž by cokoli porušily.
To vše umožňuje, aby byly systémy dodány dříve a s menším počtem chyb.
Posílení agilních metodologií
Agilní metodiky mají za cíl urychlit vývojový proces zaměřením úsilí na dodání funkčního softwaru a vyhnout se byrokracii, nadměrné dokumentaci a fázím prováděným jedna po druhé.
Databázové modelování čelí významné výzvě při práci v agilních prostředích, protože návrhář musí být schopen pracovat na „velkém obrazu“, zatímco vývojáři potřebují pouze datové objekty požadované pro každý uživatelský příběh. K dosažení konsenzu mezi datovými modeláři a vývojáři používají agilní metodiky techniky, jako je sandboxing a větvení .
Sandbox je pracovní prostředí každého vývojáře. Návrhář může pracovat s větvemi hlavního datového modelu v sandboxu každého vývojáře, který mu poskytne zpětnou vazbu k jeho upřesnění. Na konci každé fáze (nebo sprintu) návrhář databáze sloučí různé větve, aby udržoval kompletní model aktualizovaný.
Možná si myslíte, že datové modelování zpomaluje agilní týmy a že vývojáři musí čekat, až budou modely připraveny začít svou práci. Ve skutečnosti však používání technik, jako je sandboxing a větvení, zachovává principy agility a současně dosahuje výše zmíněných vylepšení rychlosti.
Co když nepoužívám datové modely?
Možná si myslíte, že stále můžete přežít bez výhod dosud zmíněných datových modelů, abyste ušetřili čas. Pokud se však rozhodnete pro datové modelování, riskujete, že narazíte na vážné problémy, jako jsou:
- Zbytečná redundance:Protože neexistuje žádný model, který by jasně viděl datové objekty, různé verze stejných objektů se objeví s různými informacemi. Systém zásob může například hlásit, že za poslední měsíc bylo prodáno 500 jednotek položky, zatímco logistický systém může hlásit, že ve stejném období bylo odesláno 1 000 jednotek stejné položky. Který je správný? Kdo ví.
- Tkané aplikace:Absence datového modelu ztěžuje úkoly optimalizace, což snižuje odezvu aplikací.
- Neschopnost splnit standardy kvality:Pokud neexistuje datový model, vaše databáze nebudou zdokumentovány, což je povinné ve scénářích, jako je migrace databází.
- Špatná kvalita softwaru:Požadavky na vývoj softwaru budou nízké a uživatelé nebudou mít aplikace, které potřebují nebo si přejí.
- Vyšší náklady na vývoj:Již jsem se zmínil o významných úsporách nákladů, kterých lze ve vývojovém projektu dosáhnout pomocí datových modelů. Pokud se rozhodnete je nepoužívat, budete se muset rozhodnout, kdo zaplatí dodatečné náklady na vývoj a údržbu. A kdo se bude vymlouvat, když se termíny nedodržují.
Still Not Convinced?
If what you’ve read so far is not enough to convince you of the importance of data modeling, remember that data is becoming an increasingly valuable asset for all kinds of organizations. Modeling the structures for taking advantage of information has unprecedented relevance today.
Consider this:during the gold rush, the guys who made the most money were not those digging for gold nuggets but rather those who provided the tools to extract the gold. In 2021, gold nuggets come in the form of insightful information, and the miners who extract such precious material need to be provided with data models.