데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
검색엔진 또는 쇼핑몰이나 디스크 서비스들을 보면 검색어를 단어의 조합으로 검색하잖아요?
그런데도 속도가 무척이나 빠르게 검색이 됩니다.
text 형태의 자료중에 특정 단어를 검색하기 위해서는 like 검색을 통해야 하는데요.
like 검색은 데이터가 많으면 많을수록 느리고 또 인덱스를 걸더라도 '%검색할단어%' 이런식으로 앞에 %를 붙이면
인덱스가 의미가 없어서 검색이 무척이나 느린걸로 알고있습니다.
이런 검색엔진이나 쇼핑몰 등등에 사용되는 검색기술은 어떤것들이 있나요?
검색엔진 처럼 검색기능을 데이터베이스로 구현하려면 어떤 기술들을 알아야 하는지요?
이런것들이 데이터베이스를 사용하는거 같은데 감이 안오네요..
궁금합니다.
질문 요지
1. 검색엔진, 쇼핑몰, 디스크 서비스처럼 자료 용량이 많으면서 검색속도가 느리지 않은데 여기에 데이터베이스 기술이 사용되는건가요?
아니면 다른 기술이 이용되나요?
2. 데이터베이스 기술이 사용된다면 어떤 개념들을 알아야 구현이 가능한지 궁금합니다.
Comment 3
-
진윤호
2013.01.16 17:05
-
김희진_285679
2013.01.16 18:09
큰 쇼핑몰의 경우에는 검색엔진을 도입해서 사용할것 같아요.
그 외에 소규모로 빠르게 구현하려면 키워드들을 추출해서 [수동이든 어떤 법칙에 의해서든]
키워드 테이블을 구성하고 연결해야 하지 않을까 싶어요
-
방랑도사
2013.01.16 18:57
FULL TEXT SEARCH 기능이 있습니다. 자료를 찾아보시면 금방 나올겁니다.
보통 검색엔진을 사용하지 않는다면
파티션 디비를 사용하는 방법도 있고
쿼리적으로 2 top 쿼리나 row_number 함수 등으로 페이징을 처리하는 방식으로 하지 않을까나요??
해당 페이징 자료는 팁 게시판에 있구요