1. Если нужны манипуляции(возможность сделать выборку основываясь на каком-то поле и т.д.), то:
MySQL
banner_hits
id | banner_id | pubdate | user_ip
А если нужен просто increment, то что-нибудь из NoSQL
2. Обычно юзаю всякие панели, в ручную не писал cron(о чем сейчас задумался и решил выучить).
3.
books
id | name | description...
authors
id | name...
binds -
самое простое и первое, что пришло в голову
author_id | book_id
а запрос будет выглядеть как-то так:
SELECT b.name, COUNT(a.id) as count_authors FROM
books b
INNER JOIN binds bi ON bi.book_id = b.id
INNER JOIN authors a ON bi.author_id = a.id
GROUP BY(b.name)
HAVING count_authors >= 3