검색 엔진을 구축 중입니다. 저는 NoSQL 다양한 키 - 값 데이터 저장소, 특히 Amazon SimpleDB를 사용하고 있으며 일반적인 RDBMS는 아닙니다. 웹 페이지를 가리키는 URL 테이블이 있습니다. 나는 어떤 페이지에 주어진 영어 단어가 들어 있는지 찾아 볼 수있는 또 다른 테이블을 만들어야한다고 생각한다.NoSQL Datastore의 조회에 영어 단어가 사용 되었습니까?
이 테이블의 구조는 다음과 같습니다 Search (String word, String URL)
내 쿼리가 그들과 조회에 저장하기 전에
나는 단어를 해시해야 select from Search where word = "foo"
과 같을 것이다? I. e. 테이블을 사용해야합니까 : Search (String word_hash, String URL)
select from Search where word = "acbd18db4cc2f85cedef654fccc4a4d8"
Amazon SimpleDB는 내부적으로 해싱을 수행합니까? AppEngine과 같은 다른 퍼시스턴스 제공자도 똑같이합니까? – necromancer
예, 모두 수행 할 수 있지만 구현 세부 사항입니다. 그들은 (개념적으로) 큰 온라인 해쉬 테이블 (http://en.wikipedia.org/wiki/Hash_table)입니다. –
원래 질문에 구체적으로 대답하려면 아니요, 문자열을 저장하기 전에 문자열을 해시하지 마십시오. –