Nedávno jsem si zrovna říkal, že se po něčem takovém budu muset podívat. Předpokládám ale, že podobných light databází bude asi víc(?). Pokud ano, existuje nějaký přehled či srovnání?
P.S.: Nepoužívejte prosím slovo ,,datumu`` -- vidím pak rudě, a rudý text na černém pozadí se hrozně špatně čte :o)
Hm, to porovnani je opravdu kouzelne :-) SQLite je vyrazne rychlejsi ... pokud nevkladate do tabulek s indexem. Opravdu vylozene typicky pripad :-)))
Jinak mi SQLite architekturou dost pripomina Paradox pod Windows (take server-less databaze), pod kterym jsem nejakou dobu programoval a ta architektura delala dost problemy :-(
Předem bych chtěl poděkovat autorovi za velmi dobrý tip pro jednoduchou DB :). To se vždy hodí.
A pro ty co jim něco nejde tu mám zbytek ;).
V rekonstrukci příkladu je špatně napsaný SELECT. (zkoušel jsem jen první dva)
1)
SELECT *
FROM test;
-- ten je v pohodě
2)
SELECT *
FROM test1;
-- tak ten nikomu, kdo si právě založil DB nepůjde :)
IMO by měl vypadat takto:
oprava 2)
SELECT pole1
FROM test;
Ahoj Michal
Kompletni prostredi pro aplikace podobné PC Fandu (hlavně co do jednoduchosti a nenáročnosti na hw) jsem hledal opakovaně a marně... vždy jsem nakonec zkončil u PC Fandu + dosemu. A dnes už to nepovažuji pro sebe za aktuální, komerční aplikace v terminálovém/textovém prostředí považuji za neprodejné a pro vlastní potřebu jsem si zvykl na kombinaci SQLite + makra ve vim + perl + TeX. :-)
Kdyz cloveku nevadilo vic programovat (a mit vetsi moznosti), tak nejbajecnejsi vec v DOSu na databaze byl Clipper. Delal jsem v nem hodne a _nic_ se s tim nedalo srovnat. Pamatuje jeste nekdo?? Jak se cekalo va novy verze, na blinker, pak moznost kompilovat pod wokna... hehe, to byly casy.
Pridelal jsem si k tomu knihovnu, co ulehcila objektovy programovani, pak vlastni definice preprocesoru na syntax trid... pak to byl jazyk, no baaajo! :)
Prosím? Nerozumím. "kterým je možné ladit optimálnost složitějších sql dotazů" Tak to je češtin das super. Buď je něco optimální, nebo není. Optimálnost je blábol. Maximálně jde optimalizovat, tedy hledat optimum. Jakou to má optimálnost? Dva žbrďolce. Nebo červenou? Věci mohou být optimální, nebo ne. Ale žádnou věc, která by měla ... optimálnost neznám, natož aby se dala ladit.
Kde jsi byla Johanko?
optimálnost := klesající funkce vzdálenosti od optima
http://www.ujc.cas.cz/poradna/odpo.html#nejoptim
Nebo jinak: věci mohou být černé, nebo ne; nejsou-li černé, mají prostě jinou barvu, takže černější a nejčernější jsou nesmyslná slova... :o)
(Ale uznávám, že v tomto konkrétním případě se optimálností asi myslela optimalizovanost...)
Mě ty Vaše hádky o slovíčka opravdu baví. A co o kuličky a žužu se hádat nechcete?
Optimálnost je prostě, matematicky vzato kritérium, které hodnotí podle nějakého předpisu kvalitu výskledku. A považuji v pořádku používat slova málo optimální, optimálnější, atd..
Stejně tak slovo černější a nejčernější mají svůj význam, a lidé jim rozumí.
Vstaňte někdy a potěšte své unavené oči. Projděte se po louce. To je grafické rozlišení, co dělá příroda, co? A při té příležitosti si uvědomte, že v životě, ani v češtině neexistuje jen nula a jedna, všeci nejsou jen černé, nebo bílé, ale existuje spousta odstínů mezi nimi, apod.. Že život se vždy neřídí počítačovými pravidly.
Teoretici si budou vymýšlet a snažit se stanovit, jak se bude psát, mluvit, apod.. Mě stačí, že normální člověk chápe význam slov, nejoptimálnější, optimálně, černější, atd.. Většina lidí ví, o co jde, a používat se to bude. Čeština není, a nikdy nebude matematicky přesná, a jakýkoli pokus jí tímto způsobem omezovat je předem marný. Čeština je taky poezie, dvojsmyslnost, vyjádření pocitů, ...
Pane Ponkrác, když čtu článek v časopisu SPY, tak na nějaké to slůvko nehledím. Když čtu celkem odborný článek tady na rootu, tak na tyhle věci hledím, protože pak nevím o čem autor vlastně mluví. Abych pravdu řekl, tak jsem opravdu netušil o čem autor mluví, protože takové slovo neznám. Nejvíc nedorozumění vzniká právě z různého významu slov. Já jsem se mohl jen dohadovat, že autor chce říct: "Dále je k dispozici příkaz explain, kterým je možné optimalizovat složitější sql dotazy." Navíc je to kupodivu kratší. Není nad přesné vyjadřování v technických textech.
P.S.: Jestlipak víte co je to absolutně černé těleso? Když se ve temném sklepě kouknete černé kočce doprdele. - Reakce nejmenovaného profesora na vychrlení přesné definice příliš snaživým studentem.
Já si ale myslím, že to autor napsal srozumitelně. Ona optimálnost je ošemetná věc. Optimálnost z jakého hlediska? Nejoptimálnější může být něco pouze v určité situaci, v jiné zase může být nejoptimálnější něco jiného.
Osobně příkaz explain obvykle skutečně spíše "ladí optimalitu", než optimalizuje. On totiž pouze dopodrobna rozebírá, a informuje, jak se SQL příkaz provádí a jaké kroky se dělají. Když budeme přesní, tak samotný příkaz explain žádnou optimalizaci neprovádí. Pouze dodává potřebné informace k tomu, aby ste se nad příkazem mohli zamyslet, ale optimalizaci musíte provést Vy. Alespoň takto to pracuje jinde, s databází uvedenou v článku nemám zkušenosti. Tudíž se podle mě autor vyjádřil přesněji, explain optimalizaci neprovádí, ale slouží k ladění sql příkazů.
A co se týká toho P.S., lidi toho v životě nakecají, no a ne všechnoí se bere vážně.
Tak o tom, co je kdy nejoptimálnější, se už vůbec nehodlám bavit. Promiňte, ale kdo tohle napíše, i když na to byl upozorněn, je u mě blbec a s ním už se dál nehodlám bavit. To je jako si plést jednotky výkonu a práce, nebo napětí a proud a ještě se tím chlubit. Dávat na obdiv svou nevědomost, znamená chlubit se svou blbostí.
> Tak o tom, co je kdy nejoptimálnější,
> se už vůbec nehodlám bavit.
To snad ani nikdo nechce. Stejně tak snad nikdo nepopírá, že tu větu v článku lze formulovat srozumitelněji.
Vy se však bouříte proti slovu samotnému, tedy proti užívání komparativu a superlativu od adjektiva optimální. Váš názor je jeden z možných. Vzdálenost od optima je nicméně zjevně vlastnost porovnávatelná, a v řadě případu zejména ve vědecké oblasti dokonce definovatelná jako přesné číslo, tj. jednoznačně kvantitativní. V takovém případě nevidím důvod (a nevidí ho ani Ústav pro jazyk český), proč adjektivum optimální nestupňovat a proč určitou klesající funkci vzdálenosti od optima nenazývat optimálností.
Používat komparativu a superlativu od slova nejlepší vám taky nepřijde chybné? Například nejlepšejší a nejnejlepší je přinejmenší trochu divné, ne? Samozřejmě, pokud to někdo chce říkat, tak ať si to říká. Klidně si taky může říkat dopolední matiné (nedejbože ho pořádat odpoledne ;-) a podobné krávoviny, ale ať si to říká někde v koutku a nediví se, když si při tom bude někdo klepat na čelo.
No ono tvořit komparativ od superlativu je pěkná pitomost. Existuje adjektivum dobrý - komp. lepší - superl. nejlepší a druhoúrovňové stupňování čeština nemá. Hodilo by se jen na takovéhle kraviny.
Ono kupodivu i slovo nejoptimálnější je pitomost. Protože optimální je latinský superlativ od dobrý, tj. nejlepší.
Nadavanim vahu svojim slovam urcite nedodal, ale pravdupovediac neviem si predstavit ako mzoe byt nieco "optimalnejsie", "najoptimalnejsie" alebo "menej optimalne". Ak je raz nieco optimalne, tak je to optimalne a teda viac to uz byt nemoze a ked je to menej tak to uz zrejme optimalne nie je. Pripada mi to celkom logicke. Aspon v slovencine. :)
Osobně si myslim, ze Pichi by se mel naucit predevsim slusnosti. Jeho argumenty jsou mi nyni jiz ukradene, pokud pri nesouhlasu s nekym tento umi akorat urazet. Pokud diskutovani psychicky a emocionalne nezvlada, a to az natolik, ze lidem nadava do blbcu, mel by si toho byl vedom, a zapracovat na sve slusnosti. To je muj nazor na diskusi s Pichim.
Pane, já jsem Vás nikdy nenazval blbcem. V opačném případě mě žalujte za urážku na cti, neboť jinak by jsem musel žalovat já vás za křivé nařčení. Já jsem pouze řekl, že vlastností blbců je, že se jim musí některé věci pořád dokolečka vysvětlovat. Blbci, ač je jim to vysvětleno, pořád dokola dělají stejnou chybu. Jestli je to váš problém, jsem nikde nehodnotil. Tvořit superlativ od superlativu považuji za logický nesmysl, neboť by původní superlativ nebyl superlativem. V logice se tomu říká důkaz sporem. Proces matematické abdukce z premisy, co si myslím o lidech, kteří dělají pořád tu samou chybu, a svého chování jste provedl vy sám. Abdukce narozdíl od indukce méně sylný uvozovací prostředek a osobně se domnívám, že se na reálný svět nehodí, protože vede k nedorozumnění. Je lidským nešvarem konat na základě abdukce, jako by to byl výsledek indukce. IMHO si myslím, že by jste měl žalovat sám sebe a všechny, kteří se chovali, jako by tuto abdukci provedli také. Doufám, že to na vás není příliš matematické logiky naráz :-)
atom (atomos?) znamena afaik nieco v zmysle nedelitelny. a predsa delitelny je. jazyk nie je matematika. preco by sa nemohol tvorit superlativ od slova, ktore je superlativom v inom jazyku, ale v nasom jazyku ma podoby zakladneho tvaru? mozno to nie je presne, ale ludia tomu rozumeju. ked poviem, ze som si to piekol na dialnici 180, vacsina ludi pochopi o com hovorim, i ked slovnikovy rozbor tejto vety by povedal ze som tam zalozil ohen a ze je tam nejaky ciselny udaj bez fyzikalnej jednotky a teda nezmyselny.
Vaše přirovnání kulhají na všechny nohy, kolik si jich jen vymyslíte. Dělitelnost atomu byla zjištěna postupem poznání, nikoliv jazykovým vývojem. Slovu atom zůstal jeho význam něčeho nedělitelného, jen postupem času jsme poznali, že onen objekt tím slovem označovaný, dělitelný je. Jestli budete chtít dělit atomární objekty, asi si budou lidé klepat na čelo. Když budete štěpit atomy, neřeknu ani popel. V našem jazyce má slovo optimální význam nejlepší a nevím o tom, že by se toto označení týkalo nějaké entity, u které by se mohly nějak měnit naše vědomosti o jejích vlastnostech. Vaše věta o tom, že jste si to pekl na dálnici 180 je dobrá leda tak do hospody a ne do odborného článku. Pokud v hospodě řeknete, že dopolední matiné je nejoptimálnější uspořádat v 5 odpoledne tak si zaklepu na čelo a v klidu to přejdu. Jestli to ale napíšete do odborného článku, nebo do seriózních novin mimo fejeton, tak se budu ptát, co tam takové hovadiny dělají.
No vidíte, a slovo ‚sylný‘ se píše s měkkým ‚i‘, neboť se jedná o přídavné jméno od slova SÍLA.
Ad matiné – toto slovo se také používat ve smyslu akce, která se koné mimo běžnou dobu. Více na wiki – http://cs.wikipedia.org/wiki/Matin%C3%A9
Mě ty Vaše hádky o slovíčka opravdu baví. A co o kuličky a žužu se hádat nechcete?
Optimálnost je prostě, matematicky vzato kritérium, které hodnotí podle nějakého předpisu kvalitu výskledku. A považuji v pořádku používat slova málo optimální, optimálnější, atd..
Stejně tak slovo černější a nejčernější mají svůj význam, a lidé jim rozumí.
Vstaňte někdy a potěšte své unavené oči. Projděte se po louce. To je grafické rozlišení, co dělá příroda, co? A při té příležitosti si uvědomte, že v životě, ani v češtině neexistuje jen nula a jedna, všeci nejsou jen černé, nebo bílé, ale existuje spousta odstínů mezi nimi, apod.. Že život se vždy neřídí počítačovými pravidly.
Teoretici si budou vymýšlet a snažit se stanovit, jak se bude psát, mluvit, apod.. Mě stačí, že normální člověk chápe význam slov, nejoptimálnější, optimálně, černější, atd.. Většina lidí ví, o co jde, a používat se to bude. Čeština není, a nikdy nebude matematicky přesná, a jakýkoli pokus jí tímto způsobem omezovat je předem marný. Čeština je taky poezie, dvojsmyslnost, vyjádření pocitů, ...
Tak to abych přidal nové slovo do svého slovníčku. Tu definici slyším poprvé a přitom je optimalizace přímo můj obor. Zkoušel jsem to vyhledat na googlu a našlo to 77 stránek a nenašel jsem mezi nima jedinou schránku, která by stála za pozornost. Většinou to byly marketingové kecy a nebo technické články pochybné kvality, kde autoři měli problém s terminologií obecně. Tak nevím :-)
pravda, trosku ty RAM si veme, ale z procesniho hlediska je soucasna java sakra rychla ... Ccko to neni, to ne, ale zase snek taky ne. Chvili zabere class loading a JIT, to zpusobuje ten dojem pomalosti, ale jak to probehne, tak java lita jak vztekla :-)
HSQLDB neni zrovna moc pomala, ani zadnej super rychlon, ale implementovano toho ma docela dost. Umi jak embedded rezim tak i rezim server pro vzdalene relace...
Zkus ji ...
jo fand je nejlepsi!
99% z vas o tom jeste nevi :-)
napr:
forall objednavky do begin
proc(['begin soucty.firma'+objednavky.firma+'.cenacelk:=
'+objednavky.cena+'; end;']);
je to vlastne interpret, priklad ukazuje pouziti obsahu promenne jako casti jine promenne v procedure :-)
pod dosemu to bezi, na to je ale potreba xwindow ?
ja to pouzivam: novell 3.12 a bezdiskovy DOS 386ky(640KB RAM :-) jako stanice.
mam malo klient licenci pro toho novela
a chtel bych migrovat na linux, ale nevim zatim u tech bezdisku jak, musel bych asi povysit jejich hw
(zkusim smb client pro DOS, ale asi bude malo pameti, ipx ovladac taky neco zabere a neco ta uloha)
Kdysi jsem se programováním v PC Fandu živil (v dobách DOSu), pak jsem se ho snažil zprovoznit i v linuxu a výsledek byl docela použitelný (http://mlebeda.webpark.cz/fandlinux.html).
xwindow na běh PC Fandu v dosemu rozhodně potřeba nejsou, naopak, ušetříte si potíže s fonty v potřebném kódování.
Jen bych rad doplnil, ze je k dispozici i daemon:
http://gpe.handhelds.org/projects/GPE-usqld.shtml
Byl naprogramovan a pouziva se v prostredi GPE jako databazovy engine pro PIM informace (kontakty, schuzky, ...) na polinuxovanem iPAQu.
Myslim, ze toto je jeden z velmi peknych prikladu vyuziti.
> Jak se to chova pro vice uzivatelu?
> Jsou nejake problemy?
> Jak je reseno zamykani tabulek/zaznamu/sloupcu?
Můžete otevřít soubor vícekrát, číst můžete podle libosti, ale zapisovat může v jeden okamžik jen jeden proces. V knihovně jsou funkce pro zjištění zda je databáze aktuálně "busy".
> Pomerne podstatne veci pro realne nasazeni ... :-(
SQLite NENÍ určena pro rozsáhlejší víceuživatelský provoz a z toho vyplývá i poměrně hloupé zamykání celého souboru. Pokud požadujete skutečně víceuživatelký provoz, budete muset sáhnout o třídu výše (např. PostgreSQL).
Doslova z FAQ: "If you have a massively parallel database application, you should consider using a big database server instead of SQLite."
Pokud jde o problémy, pak jsem dosud narazil na předem deklarovaná omezení, na chybu nikoliv. Používám SQLite jak jsem již deklaroval pro veškeré osobní použití, tj. např. správu bookmarků, adresář, evidence všeho možného, v práci pak k ukládání dat z anlýzy sítě apod., ale všechno to jsou dost ploché struktury. Nějaké reference použití najdete na http://cvs.hwaci.com/sqlite/wiki?p=SqliteUsers.
Jasne, diky.
Bohuzel se mi zcela pravidelne stava, ze kdyz neco udelam zcela planivite a zemerne jako single-user, tak v blizke budoucnosti mohu ocekavat pozadavek na zprovozneni multi-user rezimu :-(
Ale uznavam, ze je nemale mnozstvi uloh, na ktere tahle databazicka plne dostacuje.
Pokud si dobře vzpomínám, tak SQLite nepodporuje znak 0x00 v datech -- tedy když jsem před cca půl rokem tuto databázi testoval, tak to ještě platilo.
Došlo k nějaké změně? Pokud ne, tak by bylo vhodné tuto skutečnost v článku zmínit.
BTW: Pokud nelpíte na SQL, dá se jako embeded databáze použít i Metakit http://www.equi4.com/metakit/.
Metakit je uzasna vecicka, ale zklamal me Python wrapper. S plno vecma si neporadi, rad shodi celej Python segfaultem a podobne. Nevim jak novejsi verze, ale cca pred 3/4 rokem me to pekelne stvalo. Jinak pro lidi se zkusenostma s SQL muze bejt zajimavy zpestreni to, ze se cela databaze orientuje na 'sloupce' a ne na 'radky'. Obcas ta zmena mysleni dokaze pekne zamotat hlavu ;-)
Ryclost SQLitu mohu jen potvrdit. Pouzivam ho na Linuxu, Win a WinCE. Je to super databaze. Jedine na co se musi dat pozor je tvorba indexu, ktera znacne ovlivnuje rychlost (samozrejme). Pote mu nedela problem nejakych 5-10tisic dotazu za vterinu na indexovany sloupec (s nekolika desitkami tisic zaznamu) . Slozene dotazy jsou take velmi svizne a celkove ho mohu jen doporucit. Kdyz to srovnam s DAO (access) nebo cedb (MS databaze pro CE) tak je to vyborny kousek. Myslim, ze pokud neni potreba multiuser nebo je treba rychle priimplementovat nejake datove uloziste tak je SQLite nejjednodusi a pritom prenositelna cesta. Jeho podpora je i v novem PHP 5.0.