졸업프로젝트 중간발표를 위해 ERD Diagram과 아키텍처 구조도를 보다 가독성 있고 깔끔하게 표현하고자 툴을 사용해보았다.
ERD Diagram은 이전까지 ERD Cloud를 사용했는데 export한 이미지가 선명도가 낮아서 불편했었다. 그러던 도중 다른 사람들의 깃허브 리드미에서 dbdiagram.io를 사용한 깔끔한 다이어그램을 발견해서 이번에 적용해보기로 했다.
소프트웨어 공학 수업에서 클래스 다이어그램을 그릴 때 star UML을 사용했었는데 그 때 아키텍처 구조도도 지원하는 것 같아서, 이것 말고도 다른 툴들이 있나 살펴보았다. 그 중에서 draw.io가 그동안 AWS 공식 문서 등에서 보아왔던 아키텍처 구조도와 비슷한 예시를 보여주고 있어서 선택했다.
결론부터 말하자면 draw.io에서 제공하는 AWS 구성요소들을 사용할 일은 없었다.. 클라우드 아키텍처를 표현하는데는 적합하지만, 학생 수준 프로젝트를 대상으로해서인지 특별히 템플릿을 쓸 일이 없어서 결과물은 PPT로 만든 느낌에 불과해 아쉬웠다.
1. ERD Diagram 작성 툴 - dbdiagram.io
- 회원가입 후 기존에 작성한 DB 다이어그램 저장 가능
- 유료 회원은 history 확인과 공유 작업이 가능하다. 무료 버전에서 팀원은 view 권한만 가능
사이트를 들어가자마자 왼쪽에 코드 툴을 보고 코드를 일일이 입력해야하나 정신이 아득해졌다..
하지만 다행히 mysql workbench에서 DDL을 추출할 수 있어서 그걸 복사해서 사용할 수 있었다.
아래와 같이 테이블 이름 오른편의 i 버튼을 누르고, 이어서 오른쪽 창에서 DDL 버튼을 누르면 된다.
각 테이블의 DDL을 차례대로 복사한 것을 dbdiagram.io 에서 import- import from mysql 을 선택해서 해당 입력란에 붙여넣으면 된다.
테이블이 일부만 입력된 상태에서는 FK 관련해서 해당 테이블을 찾을 수 없다는 경고 메세지가 나온다.
CREATE SCHEMA 로 스키마를 만들어두면 DB 다이어그램에 "스키마.테이블명" 형식으로 테이블 이름이 나오는데, 가독성이 떨어지는 것처럼 느껴져서 스키마는 나타내지 않았다.
CREATE 문을 복사해서 입력했었는데, 다시 들어가보니 아래와 같은 형태로 코드가 저장되어 있어서 조금 당황스러웠다..
처음에 사이트에서 만들어준 다이어그램 모양이 좀 복잡할 수도있다. 그럴 때 코드에서 FK의 위치를 위아래로 옮겨서 화살표 위치를 정리할 수 있다.
아래의 펜 모양 버튼을 누르면 relationship들을 강조(색상 있는 굵은 선, 1..N 숫자 표시)할 수 있다.
테이블 이름을 눌러서 테이블 색상을 변경할 수도 있다. (무료 버전도 가능)
2. 아키텍처 구조도 작성 툴 - draw.io
생각보다 지원하는 아이콘 종류가 제한적이어서 매번 구글링하느라 고생했다..
기타) .io 란
앞서 소개한 2가지 툴 모두 .io라는 사이트를 공통적으로 사용하고 있어서 그게 무엇인지 찾아보았다.
도메인 확장자(.io)는 1965년부터 영국의 해외 영토였던 영국령 인도양 지역(BIOT)에 대한 ccTLD( 국가 코드 최상위 도메인 )이다.
모든 개인이나 법인은 .io 도메인 이름을 등록할 수 있으며 대부분의 .io 사이트는 위치와 전혀 관련이 없다.
- 최근 .io 도메인은 기술 회사, 특히 스타트업에서 추진력을 얻고 있다.
기술 회사가 이 도메인 확장에 끌리는 주된 이유는 컴퓨터 과학에서 "IO"가 입력/출력의 일반적인 약어로 컴퓨터(및 기타 정보 시스템)가 세상과 통신하는 방식을 설명하기 때문이다. 따라서 .io 도메인을 사용하면 조직이 기술 회사임을 소비자에게 즉시 알릴 수 있다.
- .io 도메인은 가격이 더 비싸다.
- .io 도메인은 .com 도메인만큼 널리 인식되지 않았다.
- .io 도메인은 신뢰도가 떨어지는 것처럼 보일 수 있다.
출처:
https://blog.hubspot.com/website/io-domains