Где хранить IP пользователей?
На 1 IP могут быть десятки. сотни, тысячи пользователей. Например, у Гугл есть специальный алгоритм определения числа пользователей за IP. Можете погуглить PDF.

Но в вашем случае, это излишне сложно — хватит ограничения на 1 голос с IP.

Хранить — сделайте таблицу вида user_ip INTEGER(...), article_id, vote. Такая таблица, в случае правильнйо расстановки индексов, работает быстро и легко кешируется в случае надобности.
Если у вас анонимусы голосуют — сильно не защититесь. Но если очень надо, то в базу писать как раз получится, потому что главный вопрос — не где хранить, а как быстрее достать, и лучше базы здесь только key-value (mongodb например). Впрочем, вряд ли вы будете эти логи хранить месяцами. Впоследствие, голосование будете прекращать через месяц, так что база пойдет.

А вот ждать ответа от AJAX чтобы пересчитать на страничке рейтинг — это странно. В JS есть плюсование и деление ;)