2009-10-29 6 views
0

큰 프로젝트의 일환으로 온라인 RSS 리더 (예 : Google 리더)를 만들어야합니다. 이미 MS SQL을 사용하여 테스트 버전을 완료했습니다. 그러나 문제는 내가 데이터베이스에서 피드 항목을 효율적으로 저장하는 방법을 모른다는 것입니다. 각 피드 항목에는 ID (GUID 또는 영구 링크)가 있으며 한 곳의 테이블 성능을 모두 저장하는 동안 단지 300 000 이후에는 성능이 매우 나쁩니다. 500 000 항목. ?온라인 RSS 리더 데이터베이스 스키마

1) 무엇 내 문제에 대한 최선의 DB 엔진 (내가 버클리 또는 뭔가 다른 (내가 특정 엔진을 사용해야하는 이유 적어주세요 수 있습니다뿐만 아니라 RDMS 동의)입니다

:

그래서 나는 질문이

2) DB에서 데이터 (스키마)를 구성하는 가장 좋은 방법은 무엇입니까?

3)이 문제에 가장 적합한 언어/프레임 워크는 무엇입니까?

일반적인 성능 관련 조언을 보내 주시면 기쁘게 생각합니다.

업데이트 : 제 아이디어는 Feed URL의 CRC8 해시를 사용하여 피드 공간을 255 개의 부분 공간으로 분할하는 것입니다. 일단이 CRC8을 계산하면이 피드의 항목이 저장 될 테이블의 이름으로 사용됩니다.

@FractalizeR : 메인 질문은

주어진 문자열

이미 (FeedItems.pid = PID SELECT * FROM)이 ID로 데이터베이스에 저장 feeditem

을 찾을 여기 주요 문제는 pid는 점이다 임의의 긴 텍스트.

답변

0

데이터베이스를 설계하기 전에 질문해야 할 첫 번째 질문은 "데이터베이스에 어떤 질문을 할 가능성이 가장 큽니까"입니다. 이 질문에 대한 답을 제공하면 데이터베이스 계획을 진행할 수 있습니다.

데이터베이스는 한 가지 질문에 대해서는 느리고 다른 질문에 대해서는 빠르다.