compare different persistence mechanisms for ruby