Мне нужно создать онлайн Rss Reader (как, например, Google Reader), как часть более крупного проекта. Я уже сделал тестовую версию с использованием MS SQL. Однако проблема в том, что я не знаю, как эффективно хранить элементы фидов в базе данных: у каждого элемента фида есть свой идентификатор (guid или просто постоянная ссылка), и хотя я храню их все в одной таблице, производительность невероятно плоха после 300 000 - 500 000 наименований.
Итак, у меня есть вопросы:
1) Какой двигатель БД является лучшим для моей проблемы (я принимаю не только RDMS, может быть BerkeleyDB или что-то еще (пожалуйста, напишите, ПОЧЕМУ я должен использовать определенный двигатель)?
2) Как лучше организовать данные (схемы) в БД?
3) Какой язык / рамки лучше всего подходят для этой проблемы?
И я буду рад, если вы дадите мне общие советы, касающиеся производительности.
UPDATE:
Моя идея состоит в том, чтобы разделить пространство каналов на 255 подпространств, используя CRC8 хэш URL канала. После расчета этого CRC8 используется в качестве имени таблицы, в которой будут храниться элементы этого канала.
@ FractalizeR: главный вопрос
с заданной строкой find feeditem, которая уже сохранена в базе данных с этим идентификатором (SELECT * FROM FeedItems.pid = pid)
Основная проблема в том, что pid - произвольный длинный текст.