yes I'd have it read from an online DB that you can modify if need be. i.e. delete mistakes etc..
how many users will you have at once? I would only allow "adds" to the DB as it's a much harder system to put in place if it allowed people to delete pins they've added.
I like using RexRainbow's CSV plugin, it's easy to use, I use it instead of arrays a lot. Although I have to admit I've never written it to a central place where multiple client-apps are reading from it. I also saw another of his plugins called Firebase.. might be overkill for what you are doing, but worth a look.