Koncova aplikacia - SQLite   zodpovězená otázka

Zdravim, musim pri koncovej aplikacii vyuzit MSSQL? Alebo mi staci (alebo mi dovolite pouzit) obycajny SQLite?

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

Je potřeba využít MSSQL. Brzy budou k dispozici testovací databáze ve formátu MSSQL. Následné hodoncení bude probíhat na dalších databázích, které budou také ve formátu MSSQL.

Instalace MSSQL Express si nemyslím je nějaký větší problém.

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

No tak to si myslim ze je trochu "buzeracia". Nechcel by som pouzit MSSQL lebo je dost pomaly (oproti SQLite). Pouzil by som System.Data.SQLite wrapper, ktory ma len 1 assembly dll, cize ziadne opletacky so zavislostami.

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

Není to taky buzerace pro porotu, když si musí instalovat kdejaké rozšíření, které se každému soutěžícímu líbí? A docela by mě zajímalo, kde jste vzal, že SQLLite je rychlejší. Máte to něčím podložené, nebo používáte argumentaci "Microsoft = pomalý a špatný software"?

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

Nie nie, zle ste ma pochopili. Rozumiem, ze by to bolo pre vas zlozitejsie. Ale pozreli ste si vobec o com je ten System.Data.SQLite???

System.Data.SQLite is the original SQLite database engine and a complete ADO.NET 2.0/3.5 provider all rolled into a single mixed mode assembly. It is a complete drop-in replacement for the original sqlite3.dll (you can even rename it to sqlite3.dll if you're using it natively).

Originalny sqlite nie je ani potrebny. 1 assembly to je vsetko. Len vas ziadam o vynimku na tuto SQL databazu. Ved v zadani nie je nic pokrocile, 2 tabulky to je vsetko.

A co sa tyka tej rychlosti. Myslel som odozvu v Server Exploreri. MSSQL sa mi zdal pomalejsi ako SQLite, zrejme kvoli tomu ze SQLite je fakt len lite.

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

Server Explorer je pomalejší, to je pravda, ale spíš než databází je to celkovou režií Visual Studia. Databáze samotná je velmi rychlá.

Ano, vím, že SQLite je jedna assembly, ale když si každý soutěžící vymyslí, že by potřeboval jednu assembly, tak jich nakonec budeme povolovat třeba padesát, což by vneslo do soutěže zmatek.

SQL syntaxe v SQLite a MSSQL je až na drobné detaily naprosto stejná, nic nového se kvůli tomu učit nemusíte. SQL Server můžete po dokončení soutěžní úlohy odinstalovat.

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

Pokud vám to vadí, napište si datovou vrstvu abstraktně. Hodnocení bude probíhat na MSSQL, nebudeme portovat databázi na 5 různých systémů (další budou chtít MySQL, FireBird, Oracle...). To je finální vyjádření. Navíc si aplikaci budou chtít vyzkoušet i ostatní a nebudou se kvůli tomu chtít zdržovat instalací další databáze.

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

Ked si budu chciet vyskusat aplikaciu budu potrebovat EXE subor vsak? Tak si stiahnu ZIPko s EXE a jednym DLL. Ziadna instalacia. Prepacte, ale viete vobec co je to SQLite?

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

Ujišťuji vás, že víme, co to SQLite je. Pravidla soutěže jsou jasně dána a měnit je kvůli každému nebudeme. Zítra přijde někdo, kdo bude chtít Access, další den si někdo vymyslí Postgre, pak přijde člověk, který bude chtít Caché a to budeme do pravidel pořád doplňovat vše, co si kdekdo zamane? To by prostě nešlo.

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

Ono je celkem jasné, proč porota zvolila MS SQL Server. Ne proto, že by byl pro danou věc nejhodnější, ale protože je od MS a účelem soutěže je propagovat MS produkty.

Microsoft dělá dobré produkty, ale každý produkt se hodí jen na něco. SQL Lite by na tento účel byla jistě vhodnější (rychlejší pro vývoj i použití, šetrnější na systémové prostředky - zejména RAM, jednodušší deploy, přenositelnější třeba pod Mono, ...), pokud těch dat bude relativně malé množství. Buzerace ve formě instalace SQL Server je nejspíše záměrná, protože cílem je, aby si soutěžící produkty MS vyzkoušel. Obecně proti tomu nic nemám - je to soutěž, jejíž účelem je propagovat produkty MS, tak proč ne. Ale ne za každou cenu. Takto se soutěžící naopak ujistí, že MS SQL Server není pro takovou věc vhodná a možná si udělá názor, že je to špatná DB. To ale není pravda - jen je prostě vhodná na něco jiného. Nakonec MS udělal i SQL Server Compact Edition, která toho moc neumí, ale pro podobné účely je vhodnější než plnohodnotný server.

Ale otázka je, na jaké množství má být aplikace dimenzována? Součástí zadání každé aplikace by měly být průměrné a horní odhady množství zpracovávaných dat, protože to podstatně ovlivňuje vývoj. Tyto odhady u reálné aplikace vychází z podstaty problému. Zde jde o modelový příklad, takže odkazy z podstaty problému se dělat nedají. Pokud průměrné množství zpracovávaných dat bude ohromné (řekněme větší, než se vejde do RAM), pak použití MS SQL Serveru dává smysl z důvodu indexování "2D" dat.

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

Vážený pane,

jsem rád, že jste se dovtípil toho, proč používáme MS SQL Server a vysvětlil nám jak se zachovat při volbě technologie.

Bohužel naprosto zbytečně. Věřte mi, že jsme si moc dobře vědomi výhod, nevýhod, náročnosti a vhodnosti použití MS SQL Serveru i jiných databázích. Navíc Microsoft SQL Server volíme jen z toho důvodu, že tu o něm a nástrojů na jeho správu máme několik článku a je to jediná klasická databáze, která je oficiálně podporována .NET Frameworkem bez nutnosti přidávat další knihovny (doufám, že mě tady nebudete tahat za slovíčka, víte snad jak to myslím).

A ještě něco. Soutěž je o MS technologiích, protože nás baví. Nikdo nám za to nezaplatí a také nikdo nám nediktuje, co psát a jak soutěž navrhnout. To, že jsme si sehnali jako sponzora Microsoft je jen kvůli tomu, že je logické, že by je to mohlo zajímat. Kdyby to byla soutěž o Javě, hledali bychom sponzora jinde.

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

Pro jaké množství dat má být tedy aplikace dimenzována? Ideálně horní odhad a průměr.

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

Budeme testovat na malé, větší i opravdu velké databázi. Čím rychlejší a lépe napsaná aplikace bude, tím lepší hodnocení. Pokud například uděláte nějakou zásadní optimalizaci, napište o ní do souboru, který přiložte k úloze, určitě to bude připočítáno k dobru.

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

Ahoj,

koukal jsem na zadání a nikde není řečeno, že by se databáze měla využít jen jako uložiště dat. Z toho celkem usuzuji, proč nebyla zvolena třeba SQLite databáze. Jednoduše proto, že slouží pouze k ukládání dat.

Jestli jsem pochopil tvůj požadavek, tak db chceš použít právě tímto způsobem a pak nevidím jediného důvodu, proč pro vývoj nepoužít SQLite a při odevzdání změnit pouze provider. Při správném používání je k tomu .net fw uzpůsoben. Dokonce by nebyl problém použít ani Entity framework a v případě odlišnosti na straně db změnit jen schema file (v případě takto jednoduché struktury toto není potřeba).

V případě že budeš chtít, tak v okamžiku dostupnosti databáze ti mohu zaslat insert script s daty a nemusíš si instalovat ani Express edici.

Osobně však, pokud se soutěže zúčastním, raději použiji plnohodnotnou databázi a budu tak mít k dispozici funkce a uložené procedury.

Díky

--J.

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

Aha, tak mi vypadlo přihlášení a příspěvek tak není podepsán. Omlouvám se.

Proč i při přihlášení musím vyplnit kontrolní kód? A proč se po přihlášení nedostanu zpět na stránku odkud se přihlašuji? :-)

-- J.

nahlásit spamnahlásit spam -2 / 2 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