Prečo využiť služby databázového vývojára ?

V dnešnej dobe je veľa možností generovať kód ako aj dátový model. Existuje obrovské množstvo frameworkov, doplnkov, pluginov a nástrojov - poskytujúcich požadovanú funkcionalitu. K dispozícií sú aj rôzne odporúčacie nástroje - dokážu analyzovať používané indexy, sledovať výbery dát počas spracovania a na základe zistení poskytnúť odporúčenia pre zmeny - za účelom rýchlejšieho spracovania.

Pre niektoré projekty je to úplne postačujúce. Avšak vo väčšine projektov chceme dosiahnuť čo možno najvyššiu efektivitu. Keďže každá aplikácia pracuje s dátami, je potrebné niekde ich ukladať a neskôr ich efektívne spracovávať a vyberať. Pokiaľ je, na dávkové (nočné) spracovanie dát, použitý aplikačný server - ktorý musí dáta načítať "ku sebe", spracovať a následne ich zapísať - znamená to nielen zvýšenú záťaž sieťovej infraštruktúry a časové "straty" spôsobené prenosom údajov "tam a späť", ale aj potrebu implementovať spracovanie na aplikačnej úrovni.

Nástroje vyšších programovacích jazykov sa zväčša snažia dosiahnuť nezávislosť na databáze (zdroji dát - pretože často podporujú aj ukladanie do súborov). Táto nezávislosť znamená výrazné obmedzenie funkcionality, ktorú dokáže aplikácia využiť na úrovni databázy (pretože musia podporovať prienik funkcionalít ponúkaných rôznymi databázami).
Má to však svoje úskalia - ak ste si raz zaplatili licenciu za používanie databázy, máte chuť platiť znova za implemetáciu funkcionality, ktorá je v databáze už implementovaná ? A máte chuť platiť za dodatočný hardvér aby aplikácia bežala uspokojivo ?

Zdroje by mali byť využívané efektívne a nástroje by mali byť využívané zmysluplne. Mnoho ludí vníma databázu len ako úložisko dát. Je to však komplexný nástroj, ktorý dokáže poskytnúť mnoho služieb - ak ich vieme využiť. Na to aby sme ich vedeli využiť, potrebujeme ich v prvom rade poznať. Ak ich poznáme, môžme sa zamerať na cieľ, ktorý chceme dosianuť a tomu prispôsobiť použitie nástrojov, ktoré máme k dispozícií.

Počas mojej 20-ročnej praxe (s vývojom software) som sa mnohokrát presvedčil, že základom úspechu je vhodne navrhnutá architektúra a nastavenie procesov odpovedajúce cieľom, ktoré chceme dosiahnuť. Ak od začiatku vývoja aplikácie nesledujeme cieľ, ktorý chceme dosiahnuť, môže sa veľmi ľahko stať, že aplikáciu bude potrebné kompletne prerobiť - čo stojí nemálo času a tým pádom aj peňazí (náklady na pracovníkov + ušlý zisk). Prípadne to znamená opakované "investície" do ďalšieho a ďalšieho hardvéru.

My, ludia, často prepadáme dojmu, že ak nám niekto poskytne službu, ktorá je presne čo sme chceli, urobí to na prvý krát a rýchlo - tak to bolo ľahké a nezaslúži si veľa peňazí - veď to "nič nebolo". Ja som sa často presvedčil, že ak mi niekto poskytne kvalitnú službu, takú ako som chcel, funkčnú a rýchlu - je to profesionál a jeho službu rozhodne stojí za to adekvátne zaplatiť.

V princípe máme dve možnosti - urobiť potrebné kroky vo vlastnej réžií alebo si zaplatiť službu od človeka, ktorý má potrebné vedomosti a skúsenosti.
Ak chceme urobiť kroky vo vlastnej réžií - je potrebné naštudovať problematiku, nástroje a ich možnosti, vyskúšať rôzne prístupy, urobiť niekoľko prototypov a nakoniec implementovať riešenie.
Ak zaplatíme človeku, ktorý má potrebné vedomosti a skúsenosti, stačí mu vysvetliť naše ciele, prípadne špecifickú problematiku.
Čo bude podľa vás v konečnom dôsledku lacnejšie ? O rýchlosti implementácie ani nehovorím.

Mnoho firiem sa vyjadrilo, že najdôležitejší pre nich sú zákazníci a hneď na druhom mieste sú dáta. To či si ich interpretujú cez web, aplikáciu, alebo exportom do excelu nie je až tak podstatné. Dôležité je mať k dipozícií dáta, mať ich kvalitatívne v dobrom stave a mať ich prístupné keď sú potrebné.

Základom kvalitnej aplikácie je kvalitne navrhnutý dátový model, efektívne spracovanie dát a rozumná architektúra.

Viem vám poradiť ako tieto ciele dosianuť.