-
Notifications
You must be signed in to change notification settings - Fork 0
navrh_dat_modelu_nonsql
cosmo-cz edited this page Aug 6, 2014
·
1 revision
Datový model noSql databáze se skládá z popisu kolekcí jednotlivých strukturovaných dokumentů, podobně jako relační model je tvořen popisem tabulek obsahující jednotlivé řádky.
Výhodou je
- vetší volnost modelu
- možnost kdykoli později přidat další položky do dokumentů
- podpora pro opakovatelné a zanořené položky (vnořené dokumenty)
- možnost mít v kolekci současně záznamy několika verzí datového modelu tak, jak během vývoje může vzniknou bez nutnosti offline migrace
kolekce okcz
{ rating_count": počet hodnocení, rating_sum": součet hodnocení, cover_thumbnail_url": "http://195.113.145.14:1337/file/cover/716603/thumbnail", reviews: rezervováno, cover_icon_url: "http://195.113.145.14:1337/file/cover/716603/icon", toc_text_url: "http://195.113.145.14:1337/file/toc/63392/text", backlink_url: "http://www.obalkyknih.cz/view?isbn=9788025120026", toc_thumbnail_url: "http://195.113.145.14:1337/file/toc/63392/thumbnail", cover_medium_url: "http://195.113.145.14:1337/file/cover/716603/medium", toc_pdf_url: "http://www.obalkyknih.cz/file/toc/63392/pdf", bibinfo: { isbn: původní tvar isbn identifikátoru }, ean: isbn převedené na ean _id: identifikátor záznamu (primární klíč) }
kolekce cover
{ x: binárně uložená obálky, _id: primární klíč, url: určující část url obálky (/file/cover/643824/medium) }
kolekce rating
{ value: hodnota hodnocení, defaultně 1 (like it), ictx: zkratka registrované instituce, ref: _id záznamu ke kterému hodnocení patří, timestamp: new Date().toISOString(), _id: primární klíč (
kolekce review
{ text: obsah komentáře, ictx: zkratka registrované instituce, ref: _id záznamu ke kterému komentář patří, timestamp: new Date().toISOString(), _id: primární klíč (
kolekce logs
{ ip: IP adresa volajícího, referer: referer hlavička , op: určující část url obálky, state: fetch | local, keywords: klíčová slova kontextu dotazu, timestamp: new Date().toISOString() _id: primární klíč }
kolekce perms
{ ip: povolená IP adresa, ref: povolená referer hlavička, ictx: identifikátor instituce, _id: primární klíč }
kolekce stat
- Možnost získat aktuální runtime hodnoty voláním služby (předpokladem je povolená ip adresa volajícího):
- Datový model popisuje snapshot runtime hodnot uložené voláním:
{ uptime: "00:03:40 up 18 days, 2013-12-20T09:05:20.426Z", timeout_count: počet timeout nedostupností backendu od spušteni, etag_match: počet dotazů na obálku kešovaných prohlížečem od spuštění, meta_requests: počet dotazů na metadata od spuštění, meta_fetches: počet načtení metadat z backendu od spuštění, cover_requests: počet dotazů na obálky přes file/ od spuštění, cover_api_requests: počet dotazů na obálky přes api/cover od spuštění, cover_fetches: počet načtení obálky z backendu od spuštění, cover_notfound: počet nenalezených obálek z backendu od spuštění, meta_count: celkový počet uložených záznamů metadat, cover_count: celkový počet uložených náhledů obálek a obsahů, logs_count: celkový počet uložených logů dotazů na obálky
}