SQL VS NOSQL

SQL

구조: 관계형 모델, 테이블 기반의 고정된 스키마 ACID 특성: 트랜잭션 보장 (원자성, 일관성, 고립성, 지속성) 쿼리 언어: 표준 SQL 사용 확장성: 수직 확장(Scale-up) 중심 예시: MySQL, PostgreSQL, Oracle

NoSQL

구조: 비관계형 모델, 유연한 스키마 (Document, Key-Value, Column, Graph) BASE 특성: 가용성과 분할 허용성 우선 (Eventually Consistent) 쿼리: 각 DB별 고유한 API/쿼리 방식 확장성: 수평 확장(Scale-out) 중심 예시: MongoDB, Redis, Cassandra, Neo4j

요약: SQL은 관계형 구조로 ACID를 보장하며 복잡한 쿼리에 적합하고, NoSQL은 유연한 스키마로 대용량 데이터와 수평 확장에 유리합니다. 데이터 일관성이 중요하면 SQL, 확장성과 성능이 더 중요하면 NoSQL을 사용합니다. 제 프로젝트에선 인물, 법안, 투표 등 데이터 일관성이 중요한 것은 PostgreSQL로 진행하고 인물의 발언 같은 경우엔 확장성과 비정규화를 통해 조회의 성능을 우선시 해서 최적화하여 각각 특성에 맞게 진행해서 사용했습니다.