Skip to content

SQL Graph Visualizer v1.0.0 - First Release

Choose a tag to compare

@peter7775 peter7775 released this 06 Sep 14:59
· 157 commits to main since this release

SQL Graph Visualizer v1.0.0 - First Release

This is the first major release of SQL Graph Visualizer - a powerful Go application that transforms SQL database structures into Neo4j graph databases with interactive visualization capabilities.

What's New in v1.0.0

Core Features

Direct Database Connection (Issue #10)

  • Complete workflow from database connection to Neo4j transformation
  • Automatic schema discovery and analysis
  • Security validation with connection assessment
  • Production-ready performance (sub-100ms analysis)

Professional CLI Tool - sql-graph-cli

  • 4 Main Commands: analyze, test, generate, config
  • Interactive experience with rich console output
  • Configuration management with YAML support
  • Built with Cobra framework for professional CLI experience

Intelligent Schema Analysis

  • Automatic table discovery and relationship detection
  • Junction table recognition for many-to-many relationships
  • Graph pattern detection (star schema, hub-and-spoke)
  • Foreign key relationship mapping
  • Data size estimation and performance optimization

Security & Validation

  • Connection security validation (SSL/TLS checks)
  • Permission analysis and read-only enforcement
  • Timeout controls and connection pooling
  • Security level rating (LOW/MEDIUM/HIGH)

Technical Specifications

Architecture

  • Domain Driven Design (DDD) with clean architecture
  • Layered structure (domain, application, infrastructure, interface)
  • Repository pattern with ports and adapters
  • Dependency injection and separation of concerns

Supported Technologies

  • Source Database: MySQL 8.0+ (PostgreSQL planned for v1.1.0)
  • Target Database: Neo4j 4.4+
  • Language: Go 1.24+
  • API Layer: GraphQL (gqlgen), REST (Gorilla Mux)
  • Configuration: YAML-based with Viper

Performance

  • Analysis Speed: Sub-100ms for typical databases
  • Memory Efficient: Configurable batch processing
  • Connection Pooling: Optimized for high throughput
  • Scalable: Handles datasets from small to enterprise-scale

Comprehensive Testing

Integration Tests

  • Real database validation with Sakila test database
  • Full workflow testing from connection to analysis
  • Performance benchmarking and validation
  • Error handling and edge case coverage

Test Results (Sakila Database)

  • 16 tables analyzed successfully
  • 16 transformation rules generated (14 nodes, 2 relationships)
  • 4 graph patterns identified (star schema variants)
  • 10,395 rows processed (~4.96 MB dataset)
  • Analysis completed in 50-60ms

Usage Examples

Quick Database Test

sql-graph-cli test --host localhost --port 3306 --username user --password pass --database mydb

Complete Schema Analysis

sql-graph-cli analyze --host localhost --port 3306 --username user --password pass --database mydb

Configuration Generation

sql-graph-cli config generate --output mydb-config.yml
sql-graph-cli config validate --config mydb-config.yml

Installation Options

From GitHub Releases

# Download binary for your platform
wget https://github.com/peter7775/sql-graph-visualizer/releases/download/v1.0.0/sql-graph-cli-linux-amd64
chmod +x sql-graph-cli-linux-amd64
sudo mv sql-graph-cli-linux-amd64 /usr/local/bin/sql-graph-cli

From Source

git clone https://github.com/peter7775/sql-graph-visualizer.git
cd sql-graph-visualizer
go build -o sql-graph-cli cmd/sql-graph-cli/main.go

Docker

docker-compose up -d

Key Benefits

For Database Administrators

  • Instant schema visualization and analysis
  • Security assessment of database connections
  • Performance insights and optimization recommendations
  • Non-intrusive read-only analysis

For Developers

  • Automatic rule generation for Neo4j transformation
  • Clean API for programmatic access
  • Flexible configuration with YAML
  • Comprehensive documentation and examples

For Data Scientists

  • Graph-based data analysis capabilities
  • Relationship discovery and pattern recognition
  • Interactive visualization with Neovis.js
  • Export capabilities for further analysis

Breaking Changes

This is the first release, so no breaking changes apply. However, note:

Project Rename

  • Project renamed from mysql-graph-visualizer to sql-graph-visualizer
  • CLI tool renamed from mysql-graph-cli to sql-graph-cli
  • This prepares for PostgreSQL support in upcoming releases

System Requirements

Minimum Requirements

  • Operating System: Linux, macOS, Windows
  • Go Version: 1.24+ (if building from source)
  • Source Database: MySQL 8.0+
  • Target Database: Neo4j 4.4+
  • Memory: 512MB RAM minimum
  • Disk Space: 100MB for installation

Recommended Requirements

  • Memory: 2GB RAM for optimal performance
  • CPU: Multi-core processor for parallel processing
  • Network: Stable connection for database access
  • Docker: For containerized deployment

Security

Connection Security

  • SSL/TLS validation and enforcement
  • Read-only access validation
  • Permission analysis and recommendations
  • Connection timeout and retry logic

Data Protection

  • No data modification - read-only operations only
  • Secure credential handling with environment variables
  • Audit logging of all database operations
  • Configurable access controls

Documentation

Available Documentation

  • README.md: Complete project overview and quick start
  • DIRECT_DATABASE_CONNECTION.md: Detailed technical documentation
  • Configuration examples: Multiple use case scenarios
  • CLI help: Built-in help system with --help flag

Getting Started

  1. Download the appropriate binary for your platform
  2. Test database connection: sql-graph-cli test --host ... --database ...
  3. Analyze schema: sql-graph-cli analyze --host ... --database ...
  4. Review generated transformation rules
  5. Deploy to production with your Neo4j instance

Roadmap

Upcoming in v1.1.0 (PostgreSQL Support)

  • PostgreSQL database support (Issue #7)
  • Multi-database analysis capabilities
  • Enhanced CLI commands for PostgreSQL-specific features
  • Extended configuration options

Future Releases

  • v1.2.0: Advanced visualization features
  • v1.3.0: Real-time data synchronization
  • v1.4.0: Additional database engines (SQLite, Oracle)
  • v2.0.0: Reverse transformation (Neo4j → SQL)

Contributing

We welcome contributions! See our Contributing Guide for details.

How to Contribute

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Add tests for new functionality
  4. Ensure all tests pass: go test ./...
  5. Submit pull request with detailed description

Areas for Contribution

  • PostgreSQL support implementation
  • Additional database drivers
  • Performance optimizations
  • Documentation improvements
  • Testing and quality assurance

Known Issues

Current Limitations

  • MySQL support only (PostgreSQL coming in v1.1.0)
  • Basic visualization (advanced features planned)
  • Single-database analysis (multi-database planned)

Workarounds

  • Use MySQL-compatible databases for now
  • Multiple CLI runs for multi-database analysis
  • External visualization tools for advanced features

Support

Community Support

  • GitHub Issues: Bug reports and feature requests
  • GitHub Discussions: Community questions and ideas
  • Documentation: Comprehensive guides and examples

Commercial Support

  • Enterprise licenses available for commercial use
  • Priority support and custom development
  • Training and consulting services

Contact: petrstepanek99@gmail.com for commercial licensing

Thank You!

Special thanks to:

  • Neo4j community for the excellent graph database
  • Go community for the robust development ecosystem
  • Early testers who provided valuable feedback
  • Contributors who helped shape this first release

Release Statistics

  • Development Time: 3 months
  • Code Lines: 15,000+ lines of Go code
  • Test Coverage: 85%+ with integration tests
  • Documentation: 50+ pages of comprehensive docs
  • Docker Images: Multi-platform support (linux/amd64, linux/arm64)

Download now and start transforming your SQL databases into powerful graph visualizations! 🚀


Made with ❤️ by the SQL Graph Visualizer Team