데이터 분석/SQL

ERD 작성이 정말 편한, 데이터베이스 모델링 툴 SqlDBM 사용후기

된장찌개냠냠 2023. 11. 17. 15:06
반응형

SqlDBM이란?

SqlDBM은 데이터베이스 ERD를 온라인으로 그릴 수 있도록 도와주는 도구입니다. 코딩을 하나도 하지 않고 데이터베이스 설계에서부터 실제 테이블 생성을 위한 SQL문까지도 생성해낼 수 있는 도구입니다.

https://sqldbm.com/Home/

 

SqlDBM - online database modeler

SqlDBM - Online database modeler

sqldbm.com

 

ERD가 뭔데?

먼저 ERD(Entity-Relationship Diagram)는 간단히 말해 데이터베이스에서 데이터를 저장하는 테이블이 어떻게 구성되어 있는지, 그리고 각각의 테이블은 서로 어떻게 연결되어 있는지를 시각적으로 표현한 다이어그램입니다. 각각의 테이블과 그 관계를 간단한 도형과 선으로 나타내어 데이터의 구조를 한 눈에 파악할 수 있게 도와줍니다. 

 

ERD(Entity-Relationship Diagram) 툴은 데이터베이스 설계를 시각적으로 표현하고 관리하는 데 사용되는 도구입니다. 대표적으로 MySQL Workbench, Lucidchart, ERDcloud, draw.io 와 같은 툴이 있습니다.

 

ERD는 데이터베이스를 설계하고 변경사항을 기록할 때 꼭 필요한 도구입니다. 꼭 ERD가 없어도 데이터베이스를 생성하고 관리할 수는 있지만 체계적인 기획이 어렵습니다. 잘 관리된 ERD가 있다면 프로젝트를 보다 더 명확하게 이해할 수 있도록 도와줍니다.

 

물론 SqlDBM을 단순히 ERD를 그리기 위한 툴로 한정시킬수는 없습니다. 그보다 더 광범위하게 사용될 수 있는 도구입니다. 다만 이번 포스팅에서는 ERD를 그리기 위한 도구로서 다른 툴들과 비교해서 어떤 장단점이 있는지 실제 사용해본 후기를 남겨보도록 하겠습니다.

 

 

SqlDBM ERD 툴 사용 후기

첫인상: 직관적이고 깔끔한 UI

SqlDBM에 처음 들어갔을 때 느낀 것은 사용자 인터페이스의 직관성입니다. 테이블, 관계, 속성 등을 그림으로 끌어다 놓기만 하면 간단하게 데이터베이스 모델링을 시작할 수 있습니다. 아래 있는 것은 제가 실제로 어떤 튜토리얼도 진행하지 않고 그냥 계정 생성 후 SqlDBM에서 그려본 ERD입니다.

SqlDBM을 활용해서 작성해본 ERD

 

 

사실 이번 포스팅에서 아래 다른 툴들과 비교하기 위해서 동일한 ERD를 여러 툴에서 그려보려고 했습니다. 하지만 SqlDBM으로 위 ERD를 완성하고 나서 다른 툴을 이용해 동일한 요구사항의 ERD를 그리려고 하니 너무 불편한 점이 많더라구요.

  • draw.io
  • drawsql
  • ERDcloud

그래서 각 서비스들의 공식 웹사이트에서 소개하고 있는 예시 ERD를 가져왔는데, 완성된 것만 보더라도 SqlDBM이 훨씬 더 깔끔하고 직관적인 시각화를 제공한다는 것을 알 수 있습니다.

왼쪽부터 각각 drawsql, draw.io, ERDcloud의 ERD 작성 예시

 

 

 

다시 SqlDBM으로 돌아와서 몇가지 직관적이고 편리했던 기능들을 살펴보자면, 먼저 Notation 타입을 설정할 수 있다는 것인데요. Crow’s Foot notation을 사용하다가 클릭 한번으로 전체 ERD의 notation을 IDEF1X로 변경할 수 있습니다.

Notation type을 IDEF1X와 Crow's Foot 중에 하나로 자유롭게 변경할 수 있는 옵션

 

On delete, On update도 관계만 클릭하면 바로 아래와 같은 옵션이 나오고 마우스 몇번의 클릭만으로 직관적인 설정을 마칠 수 있었습니다.

클릭만으로 on delete, on update 조건을 쉽게 설정할 수 있다

 

Forward Engineer: 코딩? SQL 작성? 전혀 필요없다

아주 편리했던 기능 중에 하나는 바로 Forward Engineer 기능입니다. 시각화 도구를 활용해 데이터베이스 모델링을 하고나면 전체 테이블을 생성하기 위한 SQL문을 작성해야 할텐데요. Forward Engineer 탭을 클릭하고 원하는 테이블을 누른 후 재생버튼을 클릭하면 아래와 같이 CREATE TABLE 문이 완성되어 나옵니다. 클릭 몇번으로 설정했던 제약조건도 모두 잘 포함되어 있음을 확인할 수 있습니다.

아쉬운 점은 무료 버전은 한 번에 하나의 테이블만 Forward Engineering이 가능하다는 점입니다.

SqlDBM의 Forward engineer 기능

 

한편 Reverse Engineering 기능도 제공하는데요. 기존에 운영 중인 데이터베이스가 있다면 그걸 가져와서 시각적으로 모든 관계를 표현해 주는 기능입니다. 본격적으로 조직에 도입하기로 결정한다면 아주 유용한 기능이 될 것으로 보입니다.

 

SqlDBM 단점: 가격은 얼마쯤 할까?

SqlDBM은 누구나 무료로 2주간 free-trial로 사용할 수 있습니다. 그 이후에는 유료 요금제로 전환됩니다. 팀의 경우에는 월 $4,000부터 시작되고, 개인적으로 사용할때는 월 $50로 사용이 가능합니다.

 

네, 상대적으로 좋은 유저 경험을 제공하는 한편 가격이 다른 도구들보다 확실히 비싼 것을 확인할 수 있습니다. 교육용/학생용 플랜도 예전에는 제공했지만 더 이상 제공하지 않는다고 합니다.

 

장기적으로 사용하기에는 구독 모델의 비용이 부담될 수 있을 것 같은데요. 하지만 기업 단위에서 사용하기로 결정하고, 개발자, PM, 분석가 등 모두가 적극적으로 사용하고 최신화를 해나간다면 분명 커뮤니케이션 비용을 많이 줄일 수 있을 것 같습니다.

 

개인적으로는 ERD나 데이터베이스를 공부하고 있고 ERD를 한번 그려보고 싶은 분들에게 추천할만한 것 같습니다. 혹은 토이프로젝트에서 간단하게 ERD를 작성할때도 도움이 될 것 같아요. 툴을 다루는 것이 직관적이고 어렵지 않고, notation도 원하는 방식으로 바꿔가면서 연습해 볼 수 있습니다. ERD를 공부하는게 목적인데 툴에 익숙해지기 위해서 시간을 쓰는 것이 아깝다면 SqlDBM이 좋은 대안이 될 수 있을 것 같습니다.

반응형