Search efficiency - RDMS search versus free text search
Date: Tue, 13 Jan 2009 03:10:28 -0800 (PST)
I just had an interesting discussion with a colleague regarding how we are implementing search. We allow users to browse resources under a list of topics, so for example a list of all resources relating to 'cars'. One way of doing this is with a SQL query against the database backend:
SELECT * FROM resources WHERE topic_area = 'cars'
The actual query is quite a bit more complicated than this (involves table joins and the like).
However, he said that due to the table joins (coming from the fact that the database is normalised), that this technique is quite resource expensive. Instead, we are using the Google Search Appliance to index our resources (delivered via the web), and creating the topic pages by using Google to search on meta-data, which apparently results in better performance.
This came to me somewhat as a suprise, as I was under the impression that returning such result sets were one of the key uses of a RDMS - the efficient storage and retrieval of records. I can understand the performance issues if the search was a free text search, but the above search is really searching against an indexed column value.
Is this often the case with enterprise level database searches - that the database itself isn't used for searching because of performance issues?
Taras Received on Tue Jan 13 2009 - 05:10:28 CST