Topic: Pristup k databaze

A/ eviem, ci to oznacit ako chybu, alebo skor vlastnost SQLite. Ak je programom databaza zaheslovana, bezproblemov je mozne dostat sa k datam, co su v nej zapisane a citat ich /staci aj poznamkovy blok/ a to bez zadania hesla.

Je mozne to osetrit ?

B/ druhy problem navazuje na prvy ciastocne. Po par mesiacoch mi databaza narastla na 100kB. Myslim, ze po rokoch to uz moze narast slusnejsie a otazne je, aka potom bude odozva programu. Je jasne, ze to musi rast, avsak mozno by sa to dalo poriesit nejakym vyuzitim internej kompresie ?

To by mohlo ciastocne riesit aj problem A, ze bezne by to nebolo citatelne. Samozrejme idealne by bolo A+B.
Neviem, ci by to vedelo nejak fungovat tak, zeby si to komprimovanu databazu rozbalilo napr. do RAMky a tam s nou pracovalo a ukladalo by to komprimovane.

Re: Pristup k databaze

K A) Databáza nie je zaheslovaná, len program vyžaduje heslo v nej uložené k tomu aby s ňou pracoval. Ošetriť sa to dá, ale buď to nie je zadarmo alebo to nie je triviálne na programovanie.
K B) To snáď ani nestojí za odpoveď, ale predsa: Odozva do 0.5 sekundy je vždy prijateľná pre program kde sa dáta zadávajú ručne. Určitá optimalizácia je samozrejme možná, indexy a preddefinované query by určite pomohli, ale aby sa stala odozva citeľnou musel by mať niekto pár desiatok MB v databáze na nejakom dosť pomalom HW.

Re: Pristup k databaze

VLM -

A/ ved o to ide, ze je to navrh na vylepsenie... smile

B/ pokial je to na beznom HDD, na klasickom PC, ci na SSD disku, tak neni treba nic riesit. Lenze program sa da pouzivat trebars po sieti, ci s ulozenim databazy po sieti, cez cloud, alebo ako portable verzia na pomalsom USB flash disku.

Tym, ze by sa pouzila komprimacia, by bol program mensi a na pomalsich mediach - napr. pristup cez siet mobilnym internetom, flashka - by nemusel byt problem ani s vacsou databazou.

Momentalne to neriesim, ale viem si predstavit, ze pri vacsich datach to uz pre niekho moze byt problem...

Re: Pristup k databaze

Pokial by sa to vsak riesilo na urovni programu a databaz, bolo by to asi z bezpecnostneho hladiska + uzivatelskeho, asi najprivetivejsie riesenie.

Ciastocne sa to da riesit aj inak - napr. pouzitim free SW, ako je Axcrypt
http://www.axantum.com/axcrypt/

Ten dokaze subor sifrovat + komprimovat zaroven a potom ho posiela programu, ktory ho vyzaduje. Takze po asociacii databazy RQM s RQMoney.exe je mozne zasifrovat databaza.rqm na tusim databaza.asx. Ked sa klikne na databaza.asx, spusti sa Axcrypt a umozni desifrovanie a zaroven pracovat s databazou tak, ze pri pridavani udajov, t.j. ukladani databazy ich priamo uklada uz do toho sifrovaneho databaza.asx kontajnera.

Ako pisu  autori, vhodne je to pouzit napr. pri cloud sluzbach.

Neviem, ako to maju teraz, ale v minulosti to trebalo instalovat. Mozno by to fungovalo aj v portable verzii, co by bolo pouzitelne aj pre klucenky.

Nevyhoda riesenia vsak potom moze byt, ze sa strati univerzalnost pouzitia napr. s bootovacou USB flaskou s linuxom, kde RQMoney inak spustit ide.

Alebo mozno niekto vie o univerzalnejsom sposobe.

Re: Pristup k databaze

Databázu by bolo treba zašifrovať (aspoň minimálne), aby aspoň bežný užívateľ nemohol prehliadať údaje, ak sa k nim nepovolane dostane. Uvidím, čo sa bude dať urobiť.

Čo sa týka rýchlosti, tej sa tiež nebojím. V Delphi používam komponent ListView v tzv. virtuálnom režime, je jedno, či je tam 5 tisíc alebo 5 miliónov záznamov. Rýchlosť zobrazenia je rovnaká.
Výrobca SQLite databázy uvádza na tejto stránke (v bode 14) maximálnu kapacitu 140 terabytov, takže ani veľkosti databázy sa netreba báť.

Re: Pristup k databaze

Az tak velke limity som nemyslel smile Mal som na mysli prakticke pouzitie - napr. pristup cez mobilny internet v cloude, ci na pomalom, starom HW, medzi ktory patria aj USB flashky s pomalsim zapisom. Povedzme, ze databaza by mala 10MB, alebo 100MB. Pri pouziti na SSD disku, ci beznom HDD to neni problem. Pri pouziti na USB klucenke, ci pristupe cez internet z nejakej pomalsej linky, to uz pomale bude, nie...? A vtedy by sa mohla hodit vhodna kompresia, pretoze by databaza zaberala povedzme desatinu svojej velkosti.

Prave to sa mi paci na RQMoney, ze na rozdiel od dalsich druhov podobneho ekonomickeho SW je to male, sikovne, portable a clovek to moze mat naozaj vsade so sebou, co robi z neho velmi uzitocnu pomocku na rozdiel od statickeho a nepruzneho systemu, ktory je vzdy na niecom zavisly /ci uz konkretne PC, platforma, OS, verzia atd/.

Re: Pristup k databaze

Já tedy nevím, ale mám program 5 let a databáze má velikost 226kb. Můžete mi někdo vysvětlit co do ní chcete cpát, aby jste se dostali na 100MB ?

Re: Pristup k databaze

Petr M. wrote:

Já tedy nevím, ale mám program 5 let a databáze má velikost 226kb. Můžete mi někdo vysvětlit co do ní chcete cpát, aby jste se dostali na 100MB ?


Ja teda neviem, ale u mna ma po 3 mesiacoch 100kB. Podrobna evidencia  smile

Co by sa dalo vsetko do RQ Money napchat, to este neviem, ale ono sa uz nieco najde. Napr. v mime formate by sa do poznamok dali prilepit aj obrazky bez problemov. Pravdepodobne  smile

Jedna sa skor o to, optimalizovat to. Aj 10MB databaza moze byt pomala na pomalej flashke, ci cez pomale internetove pripojenie. Komprimacia tento problem zmensi.

Re: Pristup k databaze

Komprimace a dekomprimace samotná dost možná problém spíš ještě zvětší.
V dnešní době si nedokážu představit jakékoliv zpomalení u takové uváděné databáze. Vezměte si parametry čtení a zápisu té nejpomalejší flashky co najdete na netu a uvidíte, že je to bezpředmětné.

10 (edited by loktibrad 2014-02-07 17:32:56)

Re: Pristup k databaze

Nejedna sa o nahratie dat na flashku, ci do cloudu, ale o online pracu na pomalom mediu.

Povedzme, sa pripajam cez nejaky mobilny internet a prenosova rychlost je cca 20-100kB/s.
Mam prirastok databazy 100kB za stvrtrok. Do roka je to 400kB. Za desat rokov 4000kB /a to tam zatial este nedavam viac podrobnejsie informacie/.

Pri 4000kB databaze, ked budem pridavat zaznam na online medium, ktore pojde maximalne 100kB/s, tak pridanie zaznamu do databazy sposobuje jej ulozenie. T.j. pri kazdom zazname budem cakat minimalne 40 sekund na pridanie noveho ? Pri vhodnej komprimacii by bol vysledny subor po 10tich rokoch nie 4000kB, ale 400kB, ci aj menej.

Ved aj dnesne formaty napr. ODS, ODT pre Open/LibreOffice, vyuzivaju vnutornu komprimaciu.

Pri malych databazach to problem neni, ale akonahle tam bude vela udajov, uz ta rychlost media bude dost citit.

Samozrejme pri klasickom HDD, ci nebodaj SSD by to bolo fuk, tam su ine prenosovky.
---------------
A ako by mohla rast rapidne databaza ?
Napr. ako som pisal, do poznamok sa daju prikladat rozne texty. Mimo textu sa binarny subor da vlozit ako text cez mime format, takze v databaze moze byt ulozena XLS, DOC, PDF, JPG, AVI, WMV, atd.... A to potom databaza inak rychlo rastie.

To uz by aj USB flashkam dochadzal dych, pretoze prenosova rychlost vacsiny na citanie je dobra, ale je celkom problem kupit aj dobru, co vyhovuje s dobrym zapisom /ano su aj tie, ale ich je dost malo/.

11 (edited by loktibrad 2014-02-17 14:23:12)

Re: Pristup k databaze

Doplnujem:

s AXCRYPT-om sa da riesit zabezpecenie RQ Money zatial univerzalne s mensim obmedzenim.
Instalovana verzia moze lokalne sifrovat databazu + ju aj komprimuje. Pri asociovani RQM s RQ Money, je mozne potom vyuzivat automaticke sifrovanie do ASX suboru typu databaza.rqm.asx, kde ju program desifruje to AXCRYPTu a nasledne posle desifrovanu do RQ Money. Nasledne opacne vie aj ukladat. Tymto moze byt cez tenku linku, cloud - posielane len minimum dat vdaka kompresii a sifrovaniu.

Pri mobilnom pouzivani maju zase prehliadac AxCrypt2Go, ktory by mal ist spustit pod Wine v Linuxe. Nim sa dal len manualne odsifrovat, alebo zasifrovat ASX subor /v ktorom bude RQM databaza/. Ale uz to neni take pohodlne na 1x klik.

Mozno to niekomu pomoze - ci uz zlepsit bezpecnost programu, alebo zmensit prenos dat cez cloud, ci ine pomale medium /pri vacsich datach/  smile

Re: Pristup k databaze

Ahoj,
možností jak kryptovat sqlite databázi je několik, chce to ale brát v potaz, že některé ty metody jsou zpoplatněné viz.
http://stackoverflow.com/a/5877130

Asi by se na to musel Slavik podívat, co je pro něj rozumné řešení.
Každopádně ta databáze by nebyla špatná zašifrovaná.