Insight · Sparx EA platform

Sparx EA Repository Database Options: SQL Server vs MySQL vs PostgreSQL — Which to Choose

The short version: all three databases work behind a Sparx EA repository. SQL Server is the default in Windows-heavy enterprises, with the deepest compatibility history and the most mature tooling. PostgreSQL is the strongest fit for Linux and cloud-native deployments — it scales well, carries no licensing cost, and hosts cleanly on every major cloud. MySQL is the lowest-cost route for smaller teams and simpler setups, with limits that show at larger scale. The right call comes down to your existing infrastructure, your team's skills, your cloud strategy, and your budget. Whatever you pick, Pro Cloud Server is required for multi-user access.

Key takeaways

  • SQL Server, MySQL, and PostgreSQL are all supported by Sparx EA and Pro Cloud Server.
  • SQL Server is the enterprise standard in Windows shops; PostgreSQL is the best fit for Linux and cloud.
  • PostgreSQL and MySQL carry no database licensing cost; SQL Server licensing is a genuine line item.
  • Pro Cloud Server (PCS) is required for all three in multi-user deployments, and it is database-agnostic.
  • Large repositories and high concurrency perform best on SQL Server or PostgreSQL with proper indexing.

Why the database decision matters

The database is the foundation of your EA repository. The Sparx EA client can be reinstalled, upgraded, or replaced without consequence. The database cannot — it holds the accumulated architecture content, governance history, and model relationships your practice builds over years. A weak choice is not fatal, but it is costly to undo: moving a repository between database platforms means careful schema handling, testing, and downtime.

That makes this a decision worth making deliberately, before deployment begins.

The two enterprise-grade choices, head to head

For most teams the real decision narrows to two candidates that both scale to large, busy repositories: SQL Server and PostgreSQL. MySQL is a distinct, cost-led option covered below. Here is how the two enterprise-grade databases compare on the factors that actually drive the choice.

SQL Server

Best when: you run a Windows enterprise, already have SQL Server infrastructure and DBA expertise, or depend on its ecosystem (SSMS, SQL Server Agent, Azure SQL).

  • Compatibility — the deepest integration history with Sparx EA; all repository features are tested against it, and it is the most commonly documented enterprise configuration.
  • Scale — handles tens of thousands of elements, complex relationship queries, and concurrent multi-user access. With sound indexing and DBA oversight it stays performant as content grows.
  • Cloud — Azure SQL Database and Azure SQL Managed Instance are the natural paths; AWS RDS for SQL Server is also supported. All work with PCS.
  • Backup — a mature ecosystem: SQL Server Agent jobs, Azure Backup, and point-in-time recovery under the full recovery model.
  • Cost — the real downside. SQL Server licensing is a per-core expense. Absorbed easily if you already run it; a genuine budget item if you are starting fresh, especially for smaller teams.

PostgreSQL

Best when: you run Linux, deploy cloud-native, prefer open-source infrastructure, or want enterprise-grade performance without licensing cost.

  • Compatibility — mature and well-tested. Sparx Systems has invested heavily in PostgreSQL support, and it is the recommended choice for new cloud-hosted deployments.
  • Scale — comparable to SQL Server for typical EA workloads. With connection pooling (PgBouncer), proper indexing, and adequate shared_buffers, it carries very large, high-concurrency repositories. Not second-class here.
  • Cloud — the widest hosting support: Amazon RDS, Azure Database, Google Cloud SQL, or self-hosted on any Linux VM. Managed services handle patching, failover, and backup.
  • Backup — pg_dump for logical backups, WAL archiving for point-in-time recovery, and automated retention on managed services. Robust and well-documented.
  • Cost — open-source, with no licensing cost. On managed services you pay only for the infrastructure tier you choose, not a software license.

MySQL — the lowest-cost route

Best when: you have a smaller team, a simpler deployment, existing MySQL expertise, or a strict floor on infrastructure cost.

Compatibility. MySQL is supported, but historically it has had more edge cases than SQL Server or PostgreSQL. Basic repository operations run without issue; at larger scale or with more complex queries, occasional quirks surface.

Scale. Fine for small to mid-size repositories. For larger ones — heavy relationship traversal or high concurrent user counts — MySQL can become limiting. If you expect significant growth or many concurrent users over time, PostgreSQL or SQL Server are the safer long-term bets.

Cloud. Amazon RDS, Azure Database, and Google Cloud SQL all offer managed MySQL, though the ecosystem is slightly less mature than PostgreSQL's for enterprise workloads.

Backup. mysqldump for logical backups and the binary log for point-in-time recovery; managed services add automated backup. For small repositories this is entirely adequate.

Cost. MySQL Community Edition is open-source and free, and most Sparx EA deployments use it. MySQL Enterprise Edition adds monitoring, backup, and support at a corresponding licensing cost.

Decision table

Environment Recommended choice Reason
Windows enterprise with existing SQL Server infrastructure SQL Server Native ecosystem, DBA familiarity, mature tooling
Linux servers or cloud-first infrastructure PostgreSQL No licensing cost, excellent cloud hosting, strong performance
Azure hosting preferred SQL Server (Azure SQL) or PostgreSQL (Azure Database) Both work well; SQL Server if you already have an Azure SQL footprint
AWS hosting preferred PostgreSQL (RDS) Broadest managed-service support, no licensing cost
Small team, simple deployment, cost priority MySQL Lowest infrastructure cost for uncomplicated workloads
Large repository planned (50,000+ elements) SQL Server or PostgreSQL Better query performance and scale characteristics
High concurrent users (30+) SQL Server or PostgreSQL Stronger concurrency handling
New deployment, no existing database infrastructure PostgreSQL Best balance of performance, cost, and cloud flexibility

A note on Pro Cloud Server

Whichever database you choose, Pro Cloud Server is required for multi-user Sparx EA deployment. PCS sits between the Sparx EA clients and the database, handling connection management, authentication, security, HTTP/HTTPS access, and model streaming.

It is database-agnostic. PCS connects to SQL Server, PostgreSQL, and MySQL over ODBC, and the configuration process is broadly the same across all three — the database-specific part is the ODBC driver and connection string. Our Configure the Solution engagement covers PCS configuration for every one of these platforms.

Trying to share a repository across multiple users without PCS — through direct database access — is impractical in most enterprise settings. It sidesteps authentication management, rules out HTTPS access, and supports neither model streaming nor web access. For any serious multi-user deployment, PCS is not optional.

Migrating between databases

If you start on one database and later need to move — say, from MySQL to PostgreSQL as the repository grows — Sparx EA provides repository transfer utilities. Migration is possible, but it involves downtime, testing, and careful schema validation. It is not a casual operation.

Which is exactly why the initial decision matters. Choosing on current team size rather than growth trajectory is a common mistake. If you expect the practice to scale meaningfully within two to three years, pick the database that supports that scale from day one — and if you are still mapping out the wider setup, our Configure the Solution track and the broader architecture leaders path can frame the rest of the foundation around it.

Frequently asked questions

Can Sparx EA use a cloud database like Azure SQL or Amazon RDS?

Yes. Sparx EA repositories run on Azure SQL Database, Azure Database for PostgreSQL, Amazon RDS for SQL Server, Amazon RDS for PostgreSQL, and Amazon RDS for MySQL. In each case Pro Cloud Server connects to the cloud database over ODBC, and Sparx EA clients connect to the repository through PCS. The cloud service handles storage, patching, backup, and high availability; PCS handles the connection brokering.

Does the database choice affect Sparx EA performance for users?

It does, but the PCS layer absorbs most of the difference for an individual user. The database mainly affects performance at scale — large repository queries, concurrent writes, and complex relationship traversal. Small teams with modest repositories get acceptable performance on any of the three. For large repositories or high concurrency, SQL Server and PostgreSQL are materially stronger than MySQL.

Can the database run on the same server as Pro Cloud Server?

For small deployments, yes — PCS and the database can share a server. For production deployments where performance, backup, and high availability matter, a separate database server is recommended. That lets you scale, patch, and back up the database independently of PCS.

What ODBC drivers does Pro Cloud Server use for each database?

PCS connects over ODBC. SQL Server uses the Microsoft ODBC Driver for SQL Server; PostgreSQL uses psqlODBC; MySQL uses MySQL Connector/ODBC. Driver installation and configuration are handled as part of PCS setup.

How large do Sparx EA repositories typically get?

It varies widely by scope. A small practice of one to five architects in a single domain might hold 5,000–20,000 elements after a couple of years. Large enterprise practices with multiple domains and multi-year programs can pass 100,000 elements. Make the database choice for the two-to-three-year expected scale, not the week-one starting point.

Does Sparx Services prefer a particular database?

We recommend PostgreSQL for new cloud-hosted deployments and SQL Server for organizations with existing Windows and SQL Server infrastructure. Our Configure the Solution engagement works with all three — the choice is driven by your environment, not our preference — and we provide guidance on it as part of the pre-deployment scoping conversation.

Getting the repository foundation right from the start?

Talk to a practitioner about database selection, Pro Cloud Server, and a production-ready Sparx EA setup — on SQL Server, PostgreSQL, or MySQL.

Book a call →