I need to create an online Rss Reader(just like google reader for example) as part of a more big project. I've already done test version using MS SQL. However the problem is that i don't know how to efficiency store feed items in database: each feed item has the id (guid or just permanent link) and while i store them all in one table performance is incredibly bad after just 300 000 - 500 000 items.
So i have questions:
1) What is the best DB engine for my problem(i accept not only RDMS, may be BerkeleyDB or something else(please write WHY i should use certain engi开发者_StackOverflow中文版ne)?
2) What is the best way to organize data (that is schema) in DB?
3) What is the best language/framework for this problem?
And i'll be pleased if you'll give me general performance related advices.
UPDATE: My idea is to split feeds space into 255 subspaces using CRC8 hash of Feed url. Once calculate this CRC8 used as the name of the table where items of this feed will be stored.
@FractalizeR: the main question is
with given string find feeditem which already stored in database with this id (SELECT * FROM FeedItems.pid = pid)
the main problem here is that pid is arbitrary long text.
The first question you need to ask yourself before designing a database is: "What questions to the database are most likely to be asked". If you will provide us with the answer to this question, we can proceed to planning database.
Database can be slow on one questions and extremly fast on others.
精彩评论