Search-oriented architecture
The use of search engine technology is the main integration component in an information system. In a traditional business environment the architectural layer usually occupied by a relational database management system (RDBMS) is supplemented or replaced with a search engine or the indexing technology used to build search engines. Queries for information which would usually be performed using Structured Query Language (SQL) are replaced by keyword or fielded (or field-enabled) searches for structured, semi-structured, or unstructured data.
In a typical multi-tier or N tier architecture information is maintained in a data tier where it can be stored and retrieved from a database or file system. The data tier is queried by the logic or business tier when information is needed using a data retrieval language like SQL.
In a search-oriented architecture the data tier may be replaced or placed behind another tier which contains a search engine and search engine index which is queried instead of the database management system. Queries from the business tier are made in the search engine query language instead of SQL. The search engine itself crawls the relational database management system in addition to other traditional data sources such as web pages or traditional file systems and consolidates the results when queried.
The benefit of adding a search layer to the architecture stack is rapid response time large dynamic datasets made possible by search indexing technology such as an inverted index.
Contrast with
- Service-oriented architecture (SOA)
- Service-Oriented Modeling
See also
- Hibernate search