CMS s XML DB   otázka

ASP.NET WebForms, WPF, Databáze

Ahoj,

našel jsem na netu MyWebSiteStarterKit. CMS napsaný nad databází v XML. Hodně jsem to zkoušel, a příjde mi zajímavé, že to s obyčenými XML soubory je poměrně rychlé. Já myslel že na tohle se používá výhradně SQL. V čem je trik, že je to tak rychlé i s použitím klasického XML?

Díky

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Jak přesně jste testoval, že je to rychlé? Pustil jste to na web, kde chodí 50 000 uživatelů denně, a kde je pár tisíc článků?

Pokud to testujete na pár uživatelích, tak rozdíl absolutně nepoznáte - načtení textového souboru z disku je poměrně rychlé a pokud na tom blogu nemáte několik stovek nebo tisíc článků, tak i XML bude rychlé.

SQL se používá, protože je to v mnoha ohledech výhodnější - snáze se změní struktura, přidá někam sloupec, než do 1000 XML souborů, dotazovací jazyk SQL je silnější než XQuery nad XML, můžou se použít indexy, SQL server sám řeší transakce, zamykání a konkurenční přístup. Ne vždy je SQL to nejrychlejší a nejlepší řešení, ale používá se nejvíc.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Děkuji za odpověd :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ještě jeden dotaz.

Nevím jak moc znáte MWPSK po stránce kódu, ale pro ukládání používá třídu Persistable<T>. Jde nějak přepsat ono ukládání resp. serializaci do XML souborů na klasické ukládání dat do tabulek databáze, aniž bych musel přepisovat kompletně všechno co tam je?

Děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To je bohužel jen část problému - načíst jeden záznam a uložit jej, to právě třída Persistable řeší. Určitě by to šlo udělat, s pomocí trochy Reflection by to ani nebylo těžké.

Druhou částí problému jsou dotazy typu "všechny články v kategorii", "posledních 10 článků". Ty třída Persistable neřeší.

Nevím, jak přesně si MWPSK to XML ukládá, je možné, že každý článek je v jednom souboru a pak se tyto dotazy řeší tak, že se přes Persistable načtou všechny soubory a vyfiltrují se až potom. To je v případě databáze nepoužitelné (a ani u těch XML to nebude nijak zázračně rychlé) a bude potřeba to řešit jinak.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji za velmi poučnou odpověd :-) Přesně tohle mě zajímalo. Mnohokráte děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback