- SQL은 원래 콘솔 보고서용 언어였으며, 프로그램 내장용이 아니라는 Uncle Bob의 주장을 다룹니다. 📜
- 그는 프로그래머가 문자열 기반 SQL 대신 함수 호출 API를 원한다고 주장하며, ORM도 진정한 해결책이 아니라고 비판합니다. 💻
- 데이터베이스는 내부적으로 복잡한 처리(파싱, 최적화, 바이트코드 생성)를 거치며, Uncle Bob은 이 과정을 직접 호출하는 API를 제안합니다. 🧠
- 그러나 SQL은 표준화된 문법으로 다양한 DB 간 호환성을 제공하고, 데이터베이스 최적화 및 샤딩, 행 수준 보안 등 산업 전반의 혁신을 가능하게 한 중요한 추상화 계층입니다. 🌟
- GraphQL은 서버-사용자 간 API 쿼리 방식이며, 데이터베이스-서버 간 SQL 대체재가 아님을 강조합니다. 🕸️
- Uncle Bob의 대안(DB 내부 직접 호출 API)은 앱 코드를 특정 DB 구현에 강하게 종속시켜 추상화 이점을 해칠 수 있다는 비판이 제기됩니다. 🚧
- "Bobby Tables" 사례를 통해 SQL 인젝션 방지를 위한 입력값 검증의 중요성을 상기시킵니다. 🔒
데브허브 | DEVHUB | The case against SQL