Performance issues only appear if you need a lot of data from pages in a single request. Let’s assume…
TL;DR;
If you have less than 2000 publications and less than a few hundred authors, I would use pages for both of them, add the pages cache (optionally with the staticache plugin) and be done with it. You will not have any noticeable performance issues on medium-sized hosting (5-10 euros/month).
I suggest building it as simply as possible and adding caching once issues appear. Feel free to contact me again if you need help with that then.
2000 Authors
If you stored them as pages, you would need to load all of them to fetch their names from the content file to show the select list (no matter if it’s a pages/select/multi select/tags field). With all but the pages field, you could add caching to speed that up. This will, in my opinion, only affect the panel when selecting authors manually.
If you generated them dynamically from existing authors set in publications, you would read all publications to get that list and would most likely need a cache.
I suggest using pages for authors, as this makes handling them in PHP code easier than other constructs. Using the UUIDs also makes finding and updating related publications simple ($publication->authors()->toPages()
method).
If you do not store any metadata with the authors, you could get away with a plain JSON file updated by hooks, but that’s more or less just a different way of using a cache. I would stick with pages.
5000 Publications
Displaying a single publication will not cause Kirby to slow down. But you will run into issues if you try to generate a list of all publications in a particular category… unless you wrap that in a cache. The default “pages cache” should do, but your mileage depends on how often you add publications. Otherwise, implementing partial caches is the way to go.
Resolving Relations
The most taxing scenario I can think of would be a list of all authors showing a count (or a link) of their publications. Such a list will load all content files, such as 2000 authors and 5000 publications, and slow Kirby noticeably unless cached.