elef has asked for the wisdom of the Perl Monks concerning the following question:
Dear fellow monks, I'm looking for some general guidance on how feasible a project idea of mine is.
What the software would need to do is: do lookups in a hell of a lot of text data and display the hits in a GUI. Fuzzy matching is not essential, but I would need string (word) search, exact term search "all of these words in any order or position" search, "includes this string but doesn't include this string" and similar things. There are ~15 million records, each record containing a couple of hundred UTF-8 characters in 4 or 5 fields. The data takes up about 8GB in a tab separated text file. This wouldn't be a web service, the software would need to be able to run on any random windows computer.
So, how difficult would this be for a relative novice to write? I have a reasonable handle on perl itself, and I could write the GUI in Tk without too much trouble, but I don't know how involved the database stuff would be. I have exactly zero experience with databases. What sort of performance can I expect from whatever database engine I would end up using? How much time would it take to import 8GB of text into a database format and how much space would it take up? Most importantly, how much time would a lookup take on a run-of-the-mill laptop? Could the whole app be packaged up into a reasonably-sized .exe file with PAR::Packer? (excluding the actual data, of course)
Thanks for any help. Also, if there already is an open source lookup tool out there that I could adapt for the purpose, please let me know. Perhaps even LibreOffice Base could be used?
What the software would need to do is: do lookups in a hell of a lot of text data and display the hits in a GUI. Fuzzy matching is not essential, but I would need string (word) search, exact term search "all of these words in any order or position" search, "includes this string but doesn't include this string" and similar things. There are ~15 million records, each record containing a couple of hundred UTF-8 characters in 4 or 5 fields. The data takes up about 8GB in a tab separated text file. This wouldn't be a web service, the software would need to be able to run on any random windows computer.
So, how difficult would this be for a relative novice to write? I have a reasonable handle on perl itself, and I could write the GUI in Tk without too much trouble, but I don't know how involved the database stuff would be. I have exactly zero experience with databases. What sort of performance can I expect from whatever database engine I would end up using? How much time would it take to import 8GB of text into a database format and how much space would it take up? Most importantly, how much time would a lookup take on a run-of-the-mill laptop? Could the whole app be packaged up into a reasonably-sized .exe file with PAR::Packer? (excluding the actual data, of course)
Thanks for any help. Also, if there already is an open source lookup tool out there that I could adapt for the purpose, please let me know. Perhaps even LibreOffice Base could be used?
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Writing a database lookup tool
by tobyink (Canon) on Jan 04, 2013 at 14:06 UTC | |
by elef (Friar) on Jan 04, 2013 at 14:21 UTC | |
by tobyink (Canon) on Jan 04, 2013 at 14:41 UTC | |
by elef (Friar) on Jan 04, 2013 at 14:49 UTC | |
by marto (Cardinal) on Jan 04, 2013 at 14:52 UTC | |
by tobyink (Canon) on Jan 04, 2013 at 15:47 UTC | |
| |
Re: Writing a database lookup tool
by marto (Cardinal) on Jan 04, 2013 at 14:16 UTC | |
by elef (Friar) on Jan 04, 2013 at 14:30 UTC | |
by tobyink (Canon) on Jan 04, 2013 at 14:42 UTC | |
by marto (Cardinal) on Jan 04, 2013 at 14:48 UTC | |
by elef (Friar) on Jan 04, 2013 at 15:05 UTC | |
by marto (Cardinal) on Jan 04, 2013 at 15:38 UTC | |
| |
Re: Writing a database lookup tool
by NetWallah (Canon) on Jan 04, 2013 at 15:18 UTC | |
by marto (Cardinal) on Jan 04, 2013 at 15:24 UTC | |
by NetWallah (Canon) on Jan 05, 2013 at 04:57 UTC | |
by elef (Friar) on Jan 04, 2013 at 16:15 UTC | |
by NetWallah (Canon) on Jan 05, 2013 at 05:04 UTC | |
by elef (Friar) on Jan 18, 2013 at 11:54 UTC | |
by elef (Friar) on Jan 20, 2013 at 09:02 UTC | |
by marto (Cardinal) on Jan 04, 2013 at 16:21 UTC | |
by elef (Friar) on Jan 04, 2013 at 16:41 UTC | |
by marto (Cardinal) on Jan 04, 2013 at 16:50 UTC | |
Re: Writing a database lookup tool
by Anonymous Monk on Jan 05, 2013 at 09:25 UTC | |
by Anonymous Monk on Jan 05, 2013 at 09:26 UTC | |
by Shuraski (Scribe) on Jan 06, 2013 at 04:20 UTC | |
by Anonymous Monk on Jan 06, 2013 at 09:26 UTC | |
by elef (Friar) on Jan 20, 2013 at 15:57 UTC |
Back to
Seekers of Perl Wisdom