일단 NoSQL vs SQL 중 어떤 데이터 베이스를 쓸지 고민했고 중거래에 맞는 SQL을 사용하기로 하였습니다. 그이유는
- 정형 데이터의 사용 : 중고거래 사이트에서는 상품 정보, 거래 내역 등 정형 데이터가 주를 이룹니다. 이러한 구조화된 데이터는 SQL 데이터베이스가 다루기에 적합합니다.
- 트랜잭션 처리 : 중고거래 사이트에서는 동시성 처리와 트랜잭션 관리가 중요합니다. SQL 데이터베이스는 ACID(Atomicity, Consistency, Isolation, Durability) 속성을 제공하여 데이터 일관성 및 안전성을 보장합니다.
- 복잡한 쿼리 요구사항 : 중고거래 사이트에서는 사용자가 원하는 상품을 검색하고 정렬하는 등 다양한 쿼리 요구사항이 있습니다. SQL은 복잡한 쿼리를 작성하고 실행하는 데 강력하며 유연성이 뛰어납니다.
- 데이터 일관성 : 중고거래 사이트에서는 사용자 간의 거래 및 상품 정보의 일관성이 중요합니다. SQL 데이터베이스는 정형화된 스키마를 사용하고 데이터 일관성을 유지하기에 적합합니다.
- 표준화된 인터페이스 및 도구 : SQL 데이터베이스는 표준 SQL 쿼리 언어를 사용하므로 표준화된 인터페이스 및 다양한 관리 도구를 활용할 수 있습니다.
- 성숙한 생태계 : SQL 데이터베이스는 오랜 기간에 걸쳐 안정성과 신뢰성을 쌓아왔습니다. 풍부한 생태계와 지원을 받을 수 있습니다.
SQL중 MySQL을 선택한이유는
- 성능 및 속도 : MySQL은 효율적인 쿼리 실행 및 높은 처리 속도로 유명합니다. 적절한 인덱싱, 쿼리 최적화 및 캐싱 기능으로 성능을 향상시킬 수 있습니다.
- 안정성 및 신뢰성 : MySQL은 신뢰성이 높고 안정적인 RDBMS로서, 긴 시간동안 광범위하게 사용되어 왔습니다. ACID(Atomicity, Consistency, Isolation, Durability) 속성을 준수하여 데이터 일관성을 보장합니다.
- 표준 SQL 지원 : MySQL은 표준 SQL 쿼리 언어를 지원하므로, 기존에 SQL을 사용해왔거나 다른 RDBMS에서 옮겨오는 경우 쉽게 적응할 수 있습니다.
- 커뮤니티 및 문서화 : MySQL은 활발한 개발자 커뮤니티와 풍부한 문서화를 가지고 있습니다. 이로 인해 문제 해결이나 새로운 기능에 대한 정보를 쉽게 얻을 수 있습니다.
- 오픈 소스 및 라이선스 비용 : MySQL은 오픈 소스로 제공되며, 대부분의 사용 시 라이선스 비용이 발생하지 않습니다. 이는 비용 절감 및 자유로운 사용을 가능케 합니다.
- 다양한 플랫폼 지원 : MySQL은 다양한 운영 체제 및 플랫폼에서 사용할 수 있습니다. Windows, Linux, macOS 등 다양한 환경에서 동작 가능합니다.
- 확장성 및 복제 : MySQL은 데이터베이스의 확장성을 고려한 다양한 기능을 제공합니다. 복제 기능을 통해 데이터베이스의 가용성을 향상시키고 성능을 최적화할 수 있습니다.
- 대용량 데이터 처리 : MySQL은 대용량 데이터를 처리할 수 있는 능력이 뛰어나며, 대규모 웹 애플리케이션 및 비즈니스 시스템에서 안정적으로 사용됩니다.