Jak vsekolem.cz řeší data 1.

15.03.2018

Pokud chcete vytvořit službu, která je založena na agregaci dat, narazíte na několik věcí, které musíte řešit. Sepsal jsem pár hintů. To co níže popisuji řeší naše služba vsekolem.cz. Za tím účelem byla vytvořena. A ano, vše co na následujících řádcích přečtete, vsekolem.cz umí a dělá.

Tento text nemá vůbec ambici vysvětlovat, jak se služba staví. Něco takového je vyšší dívčí a věřte mi, vybudovat úspěšnou službu je složitější a pracnější než se v mém případě stát úspěšnou modelkou. Nicméně základem je vědět co člověk staví. Musíte si dobře promyslet, jak bude vaše služba vypadat a jakou přidanou hodnotu bude nabízet. Takže jak na agregaci dat?

Ad 1) Začněte s tím, že se zamyslíte nad strukturou dat. Jak budou data vypadat a jak se o ně budete starat. Vytvoříte takovou základní matici DNA, kterou budete postupně dál rozšiřovat tak jak budete služba růst. Vřele vám doporučují, buďte v rozšiřování sloupců ve vaší DB opatrní a obezřetní. Bezhlavost je cesta do pekel. Věřte mi, vyzkoušeli jsme si to.

Ad 2) Musíte se zamyslet, a doporučuji se zamyslet dobře, odkud budete data brát. Předpokládám, že se napojíte na nějaké existující služby, které jsou na trhu delší dobu než vaše služba. Internet je plný dat a v zásadě je na vás, jak se dokážete využít. Pozor jenom na licence, autorské texty a podobně. To si nastudujte.

Ad 3) XML feed. Musíte vytvořit základní funkce, které budou data automatizovaně stahovat. Záměrně píšu základní funkce. Předpokládám, že těch webů, ze kterých budete stahovat bude asi víc. Pokud weby nabízejí stejný typ dat, je to jednodušší. Struktura dat asi bude podobná. Pro automatizované stahování pravděpodobně použijete xmls feedy. Je to obecný standard, používá ho snad každý a pokud i služba daný feed nemá, její nasazení je jednoduché a levné (tedy za předpokladu, že nejste státní instituce, samospráva a podobně. Dle mých zkušeností tyto subjekty k běžné ceně v soukromém sektoru přidávají minimálně dvě nuly na konci ceny. No, každý máme nějakého koníčka). Proč jsem psal, že musíte mít základní funkce pro automatizované stahování? Ty základní funkce totiž budete ohýbat dle potřeby pro další nové služby, které budete zapojovat.

Ad 4) Schvalovací proces. Fakt jsou všechna data tak kvalitní, že je nemusíte kontrolovat, upravovat nebo doplňovat? Fakt všechny data zveřejňujete automaticky, jak je stáhnete? Možná přijdete na to, že musíte k strojovému času přidat i ten lidský. Problémem je, že lidi reptají, neustále něco řeší, chtějí pít a jíst a dokonce, představte si, chtějí za svou práci i zaplatit. Doporučuji proto proces nastavit tak, aby byl zásah lidí co nejmenší. Na druhou stranu musíte vyvážit kvalitu dat s množstvím tak, aby byl váš uživatel spokojen. To se ale lehce řekne. Měl bych pro vás možná jednoduchou poučku: Rozdělte si záznamy do typů. U každého typu si nastavte důležitost daného typu pro váš projekt a potom si stanovte cenu pro daný typ. Cenu doplníte jednoduše. Strojový čas vás dnes fakticky už nic nestojí, ale lidi ano. Takže si zjistěte průměrný čas pro vytvoření/úpravu/kontrolu záznamu. Předpokládám, že víte jakou má pracovník hodinovou sazbu. Kolik stihne těch záznamů udělat za hodinu? Ano, máte základní cenu jednoho záznamu. Takovéto úvahy vás potom zavedou na správnou cestu, jak efektivně spravovat záznamy. 

-- vlapon --