SchemaSpy 는 데이터베이스 메타데이터 분석기입니다. 이는 데이터베이스 관리자와 개발자가 데이터 모델을 시각화, 탐색 및 이해하는 데 도움이 됩니다. 사용하기 쉬운 HTML 기반 보고서를 사용하면 엔터티 관계 다이어그램을 탐색하는 것이 그 어느 때보다 간단해졌습니다. 당사의 제품 쇼케이스는 http://schemaspy.org/sample/index.html에서 확인할 수 있습니다.
설치
SchemaSpy는 GUI가 없는 독립형 애플리케이션입니다. 최신 JAR 파일이나 Docker 이미지를 다운로드하면 바로 사용할 수 있습니다! Maven에서 SchemaSpy를 사용하려면 아래 Maven 장을 참조하세요.
# replace '6.2.4' with latest version
curl -L https://github.com/schemaspy/schemaspy/releases/download/v6.2.4/schemaspy-6.2.4.jar
--output ~/Downloads/schemaspy.jar
아직 출시되지 않은 버그 수정 및 진행 중인 기능을 보려면 스냅샷 JAR을 다운로드하거나 Docker 태그 snapshot
사용하세요.
메이븐
SchemaSpy는 베어본 JAR과 모든 종속성을 포함하는 Fat JAR의 두 가지 유형의 JAR 파일을 릴리스합니다. 두 JAR 모두 Maven Central에 게시됩니다. Fat JAR은 GitHub 릴리스에도 첨부되어 있습니다. 이 페이지 상단의 "maven Central" 배지를 누르면 Maven Central의 최신 버전으로 바로 이동됩니다.
두 아티팩트의 Maven GAV는 다음과 같습니다.
- 베어본 JAR:
org.schemaspy:schemaspy:<version>
- fat JAR:
org.schemaspy:schemaspy:<version>:app
← app
분류자를 참고하세요.
빠른 시작
PostgreSQL(11 이상)을 사용하고 있다고 가정해 보겠습니다. 먼저 JDBC 드라이버를 다운로드하세요.
curl -L https://jdbc.postgresql.org/download/postgresql-42.5.4.jar
--output ~/Downloads/jdbc-driver.jar
그런 다음 데이터베이스에 대해 SchemaSpy를 실행하면 DIRECTORY/index.html
에서 검색할 준비가 됩니다.
java -jar ~/Downloads/schemaspy.jar
-t pgsql11
-dp ~/Downloads/jdbc-driver.jar
-db DATABASE
-host SERVER
-port 5432
-u USER
-p PASSWORD
-o DIRECTORY
PostgreSQL을 사용하지 않더라도 당황하지 마세요! 기본적으로 SchemaSpy는 12개 이상의 다양한 데이터베이스를 지원합니다. -dbhelp
사용하여 나열하십시오. 아직 충분하지 않나요? 데이터베이스에 JDBC 드라이버가 있으면 이를 SchemaSpy에 연결할 수 있습니다.
문서 및 FAQ
우리는 문서 읽기에서 문서를 호스팅합니다. 일반적인 문제 해결에 관한 섹션을 확인하세요.
주요 사용 사례
SchemaSpy는 데이터베이스 분석 및 문서화에 대한 많은 사용 사례를 다룹니다. 이 README의 뒷부분에서 커뮤니티에서 제공하는 가이드를 확인하세요.
주문형 데이터베이스 문서
데이터베이스를 문서화하는 데 선호되는 방법은 엔터티-관계(ER) 다이어그램을 사용하는 것입니다. 그러나 이러한 다이어그램을 수동으로 그리는 것은 시간이 많이 걸리고 오류가 발생하기 쉬운 프로세스이므로 실제로 그리는 경우가 거의 없습니다. 다이어그램을 그릴 때 최신 상태로 유지되는 경우는 거의 없습니다. SchemaSpy를 사용하면 더 이상 문제가 되지 않습니다. 다이어그램은 CI/CD 워크플로우의 일부로 신속하게 생성되어 항상 최신 상태를 유지할 수 있습니다.
숫자로 보는 데이터베이스
SchemaSpy는 데이터베이스 구조의 모양과 형태를 설명하기 위해 다양한 종류의 흥미로운 통계를 수집할 수 있습니다. 보고서에서 직접 이러한 통계를 더 자세히 살펴보거나 추가 QA 분석을 위해 Excel 또는 CSV로 내보낼 수 있습니다.
데이터를 기밀로 유지하세요
오늘날 기업의 데이터는 가장 귀중한 자산이 될 수 있습니다. SchemaSpy는 구조적 정보만 읽기 때문에 빈 데이터베이스 복제본에서도 잘 작동합니다. 이는 제3자 분석을 위해 두려움 없이 보고서를 공유할 수 있음을 의미합니다.
최적이 아닌 구조 감지
SchemaSpy는 데이터베이스 설계의 모범 사례에 대한 지식을 통합합니다. 누락된 인덱스, 묵시적 관계, 고아 테이블과 같은 이상 현상을 찾아 보고할 수 있습니다.
지역 사회
SchemaSpy 커뮤니티에 오신 것을 환영합니다! 이 파일을 읽거나 도구를 사용한다는 것은 귀하가 우리 커뮤니티의 일원이 되고 프로젝트의 미래에 기여한다는 것을 의미합니다. 우리와 함께해주셔서 감사합니다!
일부 커뮤니티 회원은 SchemaSpy를 더 많은 사람들과 공유하기 위해 추가 노력을 기울이고, 회사에 재정적 지원을 요청하거나 소프트웨어를 개선하기로 결정했습니다. 모든 Github 스타, 트윗 또는 기타 활동은 우리의 작업이 감사하다는 것을 상기시켜주기 때문에 여러분 각자에게 개별적으로 감사할 수 있는 공간이 있었으면 좋겠습니다.
특별한 감사
SchemaSpy의 처음 5개 버전을 생성하려면:
그 이후로 SchemaSpy를 영속시키기 위해:
- 라팔 카사,
- 닐스 페츨(Nils Petzäll),
- 제스퍼 올슨
커뮤니티를 위한 튜토리얼 및 가이드를 생성하려면:
- ?? SQLite 可视化SQLite数据库Schemaspy by Geek Tutorial
- ?? 자동으로 문서를 작성하고 데이터를 확인하고 SchemaSpy 작성자: Pavel Tišnovský
- ?? Michael Jentsch의 SchemaSpy를 통한 Datenbank 분석
- ?? 빠른 팁: Eine Datenbank Struktur verstehen mit Hilfe von Schepke 저: von Irving Tschepke
- ?? ▶️ MGS Educación, Tecnología y Juventud의 Ejemplo de Uso deschemaspy
- ?? ▶️ Inforgledys의 SchemaSpy 기반 데이터 기반 모델 생성
- ?? Jesus Jimenez Herrera의 SchemaSpy 데이터 기반 문서에 대한 설명
- ?? ¿ Y si documentamos la base de datos? ... Víctor Madrid의 SchemaSpy 알 재구성
- ?? ▶️ YoanDev의 Une DOC AUTOMATIQUE avec SchemaSpy(SYMFONY 및 GITLAB 등)
- ?? Documentation automatique d'une App Symfony avec SchemaSpy et GitLab ! 작성자: YoanDev
- ?? Data 4의 SchemaSpy 기반 문서 작성자 여러분!
- ?? SchemaSpy데데이타베이스 작성자: 坂井裕介
- ?? SchemaSpy로 작성자: @onozaty
- ?? ▶️ SchemaSpy - 회사에서 쉽게 사용할 수 있습니다! 개발자 멀티태스킹
- ?? 문서와 Bancos com Schemaspy 작성자: Krisnamourt Silva
- ?? @icegotcha의 SchemaSpy 데이터베이스
- ?? SchemaSpy 작성자: Pham Xuan Dung
- John Ferguson Smart의 Java Power Tools
- 모놀리스에서 마이크로서비스로: 시스템을 풀면서 생산성 유지 - Sam Newman
- Robin Tegg의 SchemaSpy로 데이터베이스 문서화
- Orlando L Otero의 SchemaSpy를 사용하여 관계형 데이터베이스 문서화
- Cybrosys 기술로 ERD(Entity Relationship Diagram)를 만드는 방법
- SchemaSpy로 데이터베이스를 문서화하는 방법 by Data 4 여러분!
- Gustavo Ponce가 작성한 SchemaSpy를 사용하여 데이터베이스를 문서화하는 방법
- Willem van den Ende의 SchemaSpy를 사용하여 PostgreSQL 스키마를 SVG로 시각화하는 방법
- @SimonGoring이 데이터베이스를 문서화하기 위해 SchemaSpy를 설치합니다.
- Jason Lavoie의 Schemaspy를 사용한 Netbox 데이터베이스 스키마 다이어그램
- Magnus Brun Falch가 제작한 프로덕션 등급 PostgreSQL 문서를 몇 분 만에 작성
- Schemaspy – Petr Hnilica의 데이터베이스 문서 생성
- @dpapathanasiou의 SchemaSpy-HOWTO
- @rieckpil의 SchemaSpy를 사용한 간단한 데이터베이스 문서화
- 데이터 및 스키마스피의 사용 사례: 데이터베이스 관리 - Juilee Talele
과학적 사용법
우리는 SchemaSpy가 연구자들의 작업을 지원한다는 사실을 자랑스럽게 생각합니다.
- Dhomas Hatta Fudholi 등의 데이터 기반 동적 온톨로지.
- Annibale Panichella et al.의 최첨단 검색 기반 테스트 케이스 생성기에 대한 대규모 실증적 비교.
- Douglas G Howe의 ZFIN에 데이터 제출을 위한 과학자 가이드
- Andrea Arcuri 등의 환경 종속성이 있는 클래스에 대한 자동화된 단위 테스트 생성.
- BiG-SLiCE: Satria A Kautsar et al.의 확장성이 뛰어난 도구는 120만 개의 생합성 유전자 클러스터의 다양성을 매핑합니다.
- emrKBQA: Preethi Raghavan et al.의 임상 지식 기반 질문 응답 데이터 세트
- EpiSurf: SARS-CoV-2 및 기타 바이러스 종의 에피토프 내의 아미노산 변화를 분석하기 위한 메타데이터 기반 검색 서버(Anna Bernasconi et al.)
- Aiko Yamashita의 벤치마크 기반 메트릭 분석, 소프트웨어 시각화 및 전문가 평가를 결합하여 소프트웨어 품질 평가를 수행한 경험
- FOCUSPEARL 버전 5.5.5 - Maarten C Braakhekke et al의 데이터베이스 및 인터페이스에 대한 기술 설명.
- 모놀리식 시스템에서 마이크로서비스까지: Davide Taibi 및 Kari Systä의 프로세스 마이닝 기반 분해 프레임워크
- GEM: Naveen Ashish 외의 GAAIN 엔터티 매퍼.
- 건강 시트: 건강 데이터세트를 위한 투명성 아티팩트 개발(Negar Rostamzadeh et al.)
- Aphia(여러 온라인 및 분류학 지향 데이터베이스 기반 플랫폼)가 분류학 커뮤니티와 생물다양성 정보학 분야 모두에 서비스를 제공할 수 있는 방법 작성자: Leen Vandepitte et al.
- Annibale Panichella et al.의 다기준 테스트 케이스 생성을 위한 증분 제어 종속성 프론티어 탐색
- Eric Zapletal 등의 다중 모드 방사선 치료 데이터를 i2b2에 통합
- 임상 데이터 웨어하우스와 임상 정보 시스템의 통합 방법론: Eric Zapletal et al.의 HEGP 사례.
- NakeDB: Luis Miguel Cort ́es-Peña의 데이터베이스 스키마 시각화
- Alexandru T. Codilean et al.의 OCTOPUS 데이터베이스(v.2)
- Arnoldo José Müller Molina와 Takeshi Shinohara의 자유 소프트웨어 보호를 위한 프로그램의 대략적인 일치에 대해
- 오픈 소스 소프트웨어의 관계형 데이터베이스 스키마 품질에 관한 Fabien Coelho et al.
- Anshik의 환자 EHR 기록 분석을 통한 병원 재입원 예측
- Vassilis Polychronopoulos와 Abhinav Venkateswar Venkataraman의 IMDB 데이터를 사용한 배우 협업 예측
- 확률적 관계형 모델 벤치마크 생성: Mouna Ben Ishak et al.의 원리 및 적용.
- 마이크로서비스 아키텍처로 마이그레이션하기 위한 프로세스, 동기 및 문제: Davide Taibi 외의 실증적 조사.
- Haoyuan Zhang 외의 전자 건강 기록에서 ML의 잠재력 실현
- José Miguel Rojas et al.의 검색 기반 단위 테스트 생성 시 시딩 전략
- Gordon Fraser 및 Andrea Arcuri의 소프트웨어 테스팅에 대한 건전한 경험적 증거
- Zebrafish 정보 네트워크: Douglas G Howe 외의 주요 유전자 페이지 및 홈페이지 업데이트
- OMOP 공통 데이터 모델에서 MIMIC 데이터베이스의 변환 및 평가: Nicolas Paris et al.의 개발 및 유용성 연구.
- Una base de datos espacial integrada en un Sistema de Información Geográfica para la gestión del terroir: un nuevo sistemaconsiste and interactive by Alberto Lázaro-López et al.
- Normi S Awang Abu Bakar 및 Clive Boughton의 측정 도구 조합을 사용하여 오픈 소스 프로젝트에서 측정항목 추출
- Tableau 대시보드를 MIMIC-III 데이터용 시각화 도구로 사용(Karl Gottfried et al.)
- Yvonne M Bradford et al.의 Danio rerio 연구를 위한 지식 기반인 Zebrafish 정보 네트워크.
SchemaSpy를 인용하려면 다음을 사용하십시오.
SchemaSpy Team (2024) SchemaSpy: Database documentation built easy. SchemaSpy. URL https://schemaspy.org/
LaTeX 사용자를 위한 BibTeX 항목은 다음과 같습니다.
@Manual{schemaspy,
title = {SchemaSpy: Database documentation built easy},
author = {{SchemaSpy Team}},
organization = {SchemaSpy},
year = {2024},
url = {https://schemaspy.org/}
}
빌드 지침
애플리케이션
SchemaSpy는 maven을 사용하여 구축되었으며 우리는 maven 래퍼를 활용합니다.
Windows mvnw.cmd package
리눅스 ./mvnw package
결과 애플리케이션은 target
에서 찾을 수 있습니다.
분석 중
자신만의 SonarQube가 필요합니다:
https://hub.docker.com/_/sonarqube/
Windows mvnw.cmd -P sonar clean verify -Dsonar.host.url=http://$(boot2docker ip):9000 -Dsonar.jdbc.url="jdbc:h2:tcp://$(boot2docker ip)/sonar"
Linux ./mvnw -P sonar clean verify
결과 보기:
리눅스 http://localhost:9000
윈도우 http://$(boot2docker ip):9000
선적 서류 비치
Python을 사용하여 구축
Venv 생성
종속성 설치 pip install -r docs/requirements.txt
docs
로 이동
Windows make.bat clean && make.bat html
리눅스는 make clean html
결과 문서는 docs/build/html
에서 찾을 수 있습니다.