Skip to content

navrh_dat_modelu_nonsql

cosmo-cz edited this page Aug 6, 2014 · 1 revision

Table of Contents

Datový model

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

Metadata

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íč)
 }

Obálky

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)
 }

Hodnocení

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íč
 (

Komentáře

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íč
 (

Logy

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íč
 }

Oprávnění

kolekce perms

 {
   ip: povolená IP adresa,
   ref: povolená referer hlavička,
   ictx: identifikátor instituce,
   _id: primární klíč
 }

Statistiky

kolekce stat

 { 
   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

}

Clone this wiki locally