• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Storing key-value pairs: Better apporaches for storing and reading?

 
Maya Dolas
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I have a requirement where I have key value pairs (key, value). There can be lakhs of such key value pairs. I need to decide upon an approach, whether i should store these in a normal text file or a XML file. I will have to read these (key, value) pairs from the file (text or XML or any other file format) form a HashMap and save these values to database.

Which approach is better storing in text file, then again reading through lakhs of records, tokenize on ',' and form the hashmap, or have a XML file with key value nodes and parse it and form hashmap. Also is it better to have properties file and have use java Properties api.

Thanks
 
Amit Ghorpade
Bartender
Posts: 2854
10
Fedora Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"Maya Dolas " please check your private messages for an important administrative matter. You can check them by clicking the My Private Messages link above.
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13077
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I cant see what a HashMap has to do with the problem.

IF you have more key-value pairs than will fit in memory as a hashmap THEN a database will have to be used.

IF your hashmap fits in memory you can serialize it to disk as a serialized Java object - this is surprisingly fast.

It seems to me that the choice between a properties style line by line text file and XML depends on how you are going to edit the file. Having said that, parsing the properties style will be LOTS faster.

Bill

 
Ulf Dittmer
Rancher
Posts: 42969
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You might also consider a key/value pair database, like HeliDB (which also implements the Map interface).
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic