TALA, D2의 자동 레이아웃 알고리즘, 오픈소스로 공개
TALA Is Open-Source
Terrastruct의 자동 레이아웃 알고리즘 TALA가 D2와 동일한 MPL-2.0 라이선스로 오픈소스화되었습니다. TALA는 소프트웨어 아키텍처 다이어그램을 위해 설계된 새로운 알고리즘으로, 화이트보드 스타일의 직교 레이아웃을 생성하며 대칭성, 흐름, 클러스터링 등 다양한 미적 기준을 최적화합니다. D2 v0.9.0에 번들되어 `--layout=tala` 옵션으로 사용할 수 있습니다. 주요 특징으로는 노드 위치와 크기 사용자 지정(에이전트 사용 사례에 유용) 및 일부 노드만 좌표 지정하는 하이브리드 모드가 있습니다. 단점으로는 알고리즘에 무작위성이 있어 노드 추가 시 레이아웃이 크게 바뀔 수 있고, DAG(방향성 비순환 그래프) 처리에 약하며, 대형 다이어그램에서 실행 시간이 비선형적으로 증가할 수 있습니다.
TALA는 소프트웨어 아키텍처 다이어그램을 염두에 두고 설계된 새로운 자동 레이아웃 알고리즘으로, 한 방향으로 성장하는 DAG 기반 알고리즘보다는 화이트보드에서 볼 수 있는 것에 더 가까운 직교 레이아웃 엔진입니다.
HN 토론
16- ricardobeat
처음 몇 개의 그래프는 인상적입니다. 훨씬 깔끔하게 정리해 줍니다. Go 큐 예제는 객관적으로 더 나쁩니다. 다른 버전들은 서비스와 사용자를 그룹으로 묶어 두고 왼쪽에서 오른쪽으로 흐름을 유지합니다. TALA 버전은 실제보다 더 복잡해 보이게 만듭니다.
- aidenn0
좋네요. D2에 대한 첫인상은 기본 레이아웃 엔진이 일부 그래프 유형에 꽤 형편없어서 기대보다 훨씬 나빴습니다. ELK는 큰 개선이었고, TALA를 사용해 보았을 때는 때때로 ELK보다 훨씬 나았습니다. 하지만 직장에서 D2를 사용하지 않고 TALA 구매 비용이 제 '재미 예산'을 넘어서서 TALA를 구매하지는 않았습니다.
- ashiban
감사합니다. 아키텍처 다이어그램에 더 적합하거나 돋보이게 만든 주요 휴리스틱 또는 개념은 무엇이라고 생각하시나요?