MySQL, properly tuned, should be fine for 300 people. IF you're looking at 30,000 people, you might wanna do some more parallel load testing on other databases to see how well each holds up to your load.
You've got two problems to solve here. 1: Editing content by up to 300 people (mixed read / write enfironment) and 2: Put these things on the web where tens of thousands of people may want to read it, i.e. all read, no write.
So, storing them in text files ain't such a bad idea. You can store each one in a directory, using something like a timestamp for its name or even checking it's last modified time to sort it by when displaying entries. It's not hard to write something that includes("") a file or two in it.
But a database may be fine too. If you plan it for parallel editing.
Since only one user is gonna be editing their data at a time, it's likely a very good place to use tables that support high performance under those conditions if you wanna just store all the articles in one big table.
Properly indexed, you should be able to retrieve individual rows pretty fast.
I'd test it under parallel load before I went live though.