검색 엔진은 전문화된 NoSQL의 유형

 

NoSQL 

ACID 제공하지 않음 (SQL보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색 매커니즘 제공)

SQL 보다 더 좋은 Consistency, Partition Tolerlance, Availity 제공

 

 

※ CAP 이론

현존하는 거의 모든(혹은 모든) 데이터 저장하는 매체들은 Consistency, Partition Tolerlance, Availity 세 가지 중 두 가지만 추구 가능

 

SQL: Consistency 추구하는 데이터베이스

검색 엔진: Availity, Partition Tolerance를 축으로 하는 서비스 

- 하나의 문서 변경 시 색인 변경에 시간이 걸리고 그 사이 Consistency 추구되지 않을 수 있음

 

 

 

 

'검색 엔진' 카테고리의 다른 글

SQL vs 검색 엔진  (0) 2023.12.23

Scale, Speed, Usefulness

 

SQL vs 검색 엔진

SQL 검색 엔진
ACID 보장 (Atomic - 원자성, Consistent - 일관성, Isolated - 격리성, Durable - 지속성)
- 트랜젝션을 통해 데이터의 유효성 보장
ACID 미보장
결과가 Stale할 수 있고(최신 데이터 미반영) 없는 결과 나타날 수도 있으며 데이터가 바뀌어도 반영되는데 시간 소요될 수 있음
B-Tree, Linear Scan 사용해 데이터 사이즈 커질수록 속도 감소
- O(n), O(log n)
데이터 사이즈에 상관없이 균일 결과 출력
- O(1)
Realtime data(실시간 데이터) 제공
- 저장된 데이터 바로 확인 가능
데이터 추가, 인덱싱, 서빙에 상대적으로 꽤 큰 시간 소요
고급 검색 결과, 랭킹 기술 도입 어려움 고급 검색(text manipulation, audio image processing 등) 적용 가능
- 무제한 Advanced Search Feature 추가 가능
서빙 트래픽 증가할수록 서빙 스피드가 기하급수적으로 감소
- 사용자 선형적으로 증가 시 서비스의 cost 기하급수적으로 증가 
트래픽 늘어나더라도 부하 속도 일정적으로 유지 가능
- 트래픽에 매우 Scalable - 트래픽이 선형적으로 증가하더라도 서빙 시스템에 영향 미치지 않음

 

'검색 엔진' 카테고리의 다른 글

NoSQL vs 검색 엔진  (0) 2023.12.23

+ Recent posts