I've done the japanese straightening, it can last from 6 months up to a year depending on how fast your hair grows. The new growth will be curly. If, after straightening, you want your curls back, you will need to chop off all the staight part :/ so it can take a long time to get it back (probably took me about a year to get rid of the straight ends...i never big chopped, that's why)
Keratin, on the other hand, lasts a couple of months, i understand...it's supposed to loosen the curl pattern and the effects wash off? Of the two, the keratin treatment sounds like the one with a more acceptable aftermath?
Besides the cost of each one, also think about the upkeep, the sacrifice each one might bring...
Dense, fine/medium texture, low porosity
Low-poo: Elacel Aloe Vera Shampoo/ Devacurl No-Poo
Conditioner: Inecto Pure Coconut Conditioner
Leave-in: Devacurl Set It Free
Styling: Pantene Curly Spray-Gel