Even direct de situatie die ik heb:
Op een Android tablet/telefoon voor versie 2.3 en nieuwer gebruik ik voor mijn applicatie een sqlite database. Deze database wordt periodiek bijgewerkt en daarbij worden de ontbrekende regels aangevuld en bestaande regels vergeleken op aanpassingen en zonodig vervangen. Helaas groeit de database nu al tot 150 MB, en ik verwacht dat hij nog niet is uitgegroeid. Selects op data gaat redelijk snel, maar inserts en updates van regels begint merkbaar traag te worden. Het gaat bijvoorbeeld om tabellen met ruim 700.000 regels.
Ik heb al wat optimalisaties doorgevoerd en dat scheelde een stuk in snelheid, maar nu heb ik geen significante optimalisaties meer gevonden. Ook tijdelijk droppen of aanmaken van extra indexen biedt weinig tijdwinst, terwijl ik het in elk geval zeker een factor 10 sneller wil hebben.
Als ik de ruwe data direct naar een tekst-file wegschrijf i.p.v. naar sqlite is hij ruim een factor 100 sneller, dus aan de snelheid van het flash-geheugen ligt het niet.
Ik vraag mij dus af of een sqlite database voor deze hoeveelheden data wel een geschikte keuze is, en of andere databases ook vergelijkbaar traag zijn. Ik zie wel andere type databases die zeggen dat ze beter zijn dan sqlite, maar vraag mij af of dat ook zo'n flinke snelheidswinst oplevert die ik wil hebben.
Wat hebben jullie voor alternatief gevonden om grote hoeveelheden data op te slaan en uit te lezen?
Op een Android tablet/telefoon voor versie 2.3 en nieuwer gebruik ik voor mijn applicatie een sqlite database. Deze database wordt periodiek bijgewerkt en daarbij worden de ontbrekende regels aangevuld en bestaande regels vergeleken op aanpassingen en zonodig vervangen. Helaas groeit de database nu al tot 150 MB, en ik verwacht dat hij nog niet is uitgegroeid. Selects op data gaat redelijk snel, maar inserts en updates van regels begint merkbaar traag te worden. Het gaat bijvoorbeeld om tabellen met ruim 700.000 regels.
Ik heb al wat optimalisaties doorgevoerd en dat scheelde een stuk in snelheid, maar nu heb ik geen significante optimalisaties meer gevonden. Ook tijdelijk droppen of aanmaken van extra indexen biedt weinig tijdwinst, terwijl ik het in elk geval zeker een factor 10 sneller wil hebben.
Als ik de ruwe data direct naar een tekst-file wegschrijf i.p.v. naar sqlite is hij ruim een factor 100 sneller, dus aan de snelheid van het flash-geheugen ligt het niet.
Ik vraag mij dus af of een sqlite database voor deze hoeveelheden data wel een geschikte keuze is, en of andere databases ook vergelijkbaar traag zijn. Ik zie wel andere type databases die zeggen dat ze beter zijn dan sqlite, maar vraag mij af of dat ook zo'n flinke snelheidswinst oplevert die ik wil hebben.
Wat hebben jullie voor alternatief gevonden om grote hoeveelheden data op te slaan en uit te lezen?
Speel ook Balls Connect en Repeat