I wanted to create ajax based commenting system for some html pages. The design goals were:
1. Simple to use and install
2. Database (MySQL) backed
3. Minimal changes to HTML template / files
4. Support effective (no frequent cache refreshes) html page compression / caching strategy for heavily commented sites.

An AJAX based system fits the bill. The new comments are displayed instantaneously. The html pages can be cached and / or compressed without requiring to refresh after each comment.
Spam is an issue with any commenting system. I have decided to strip html tags in the first iteration to deter spammers. As a personal decision I have decided not to capture email address. However it can be trivially added along with url if so desired.

I used Sajax as my Ajax framework. It presented few problems as Sajax is more suited for PHP / Ruby pages and not HTML. Here is my solution.

Schema:
CREATE TABLE `comments` (
`id` INT NOT NULL AUTO_INCREMENT ,
`url` VARCHAR( 255 ) NOT NULL ,
`ip` VARCHAR( 30 ) NOT NULL ,
`author` VARCHAR( 255 ) DEFAULT 'Anonymous Coward' NOT NULL ,
`location` VARCHAR( 255 ) DEFAULT 'Cyberspace' NOT NULL ,
`comment` TEXT NOT NULL ,
`when` TIMESTAMP NOT NULL,
PRIMARY KEY ( `id` ) )
);

Design notes:
The code for adding comment passed the url of the page. When the page is loaded a sajax call is made to fetch all the comment for the url of the page. New comments are displayed instantaneously as new comments are fetched after a comment has been submitted. This can additionally fetch comments from other users. However I have decided not to implement timed refresh as that may unnecessarily increase server load without adding much value to users. Validation checks are made to detect and not add duplicate comments. Comment throttling by same user can be added to prevent abuse.

Hope that helps in designing your commenting system.