The new version is going to use the Apache derby database. This is a super small relational database that is 100% Java. So there should be no os specific problems , and because it can be embedded in your program there is no db install or services to install.
I am currently using it to store release and artist lookups from Musicbrainz so that a release/artist has to only be checked once. This already occurs in the current version of Jaikoz but everything is held in memory so memory becomes a problem over time, and the results are not kept between restarts of Jaikoz.
Im also taking advantage of this locally stored release data so that I dont actually have to a lookup for every track if I can find a good match by looking at already downloaded and used releases. Consider the usual case of all tracks in a release being looked up if the metadata is good enough the new system will only require
one track, artist and release lookup for the first track, all the other tracks can be matched using the downloaded release info , whereas with the current system a track query is done for every track.
So Jaikoz should be faster and use less memory.
In subsequent versions I want to use the database to hold track metadata instead of it being held in memory, this will then allow Jaikoz to be used on super large collectiuons without runing out of memory. But I'll never make the database the sole reposiitory of any info, so it will never be neccessary to preserve the database in order to access your metadata - it is only a tool to improve memory usage and performance.
1 comment:
That's what i love of Jaikoz: active developer, and a very nice future :)
Post a Comment