NoSQL
의 주류화와 생성형AI
의 고도화, JPA등 ORM
의 사용으로 RDBMS와 SQL의 중요성이 떨어지고 있다고 생각할 수 있지만, 언급했던 기술들이 차지하는 파이가 확고한 것처럼 RDBMS의 자리 또한 여전히 확고하다.
만약 생성형AI
가 모든 쿼리를 극도로 효율적으로 작성해준다면, 질의어 개발자가 아닌 일반 개발자는 쿼리를 볼 필요가 없을지도 모르겠지만, 아직은 요원한 일이다.
노코드
툴이 급속하게 발전하여 개발지식 없이도 쉽게 앱이나 사이트를 만들 수 있음에도 개발자는 여전히 필요한 것처럼. NoSQL과 RDBMS는 장단점이 확실히 구분돼있다. SQL은 여전히 DB의 대부분을 차지하는 알파이다.
일부 NoSQL은 RDBMS의 쿼리기능을 지원하고, 지난 9월 출시된 Oracle 23c
는 벡터검색을 지원하는등 두 개념은 공존불가능한 개념이 아니다. 단지 비정형 데이터
의 중요성 · 활용성이 불과 몇 년 전에 비해 비교할 수 없이 높아졌을 뿐이다.
반은 맞을지도 모르지만 반은 틀렸다.
DBA
, SQL튜너
가 모든 쿼리를 짜줄 수는 없다.
모든 회사가 DBA
, SQL튜너
를 가용하진 않는다.
ORM
은 완벽하지 않다.
ORM
은 RDBMS을 쉽게 사용하기 위해 생긴 언어이다. ORM
이 내부적으로 어떻게 돌아가는지 알면 원하는 데이터를 더욱 쉽게, 오류없이 얻을 수 있다.DB와 쿼리는 어떻게 짜느냐에 따라 성능이 땅끝차이
개발새발 작성한 쿼리와 잘 정돈된 쿼리의 성능은 엄청난 차이가 있다. 50초
쿼리가 1초
쿼리가 되는 것도, 그 반대도 한순간이다. DB와 SQL에 대한 기본적인 이해없이는 잘 정돈된 쿼리를 짤 수 없다.
모두가 DB전문가급의 이해도를 가질 필요는 없지만, 자신이 작성하는 코드의 결과물을 어느정도 예측할 소양은 당연히 가지고 있는 것이 좋다.