Data stores
Every data technology the estate runs on, not just the shared SQL estate: MongoDB carries a large share of the cloud services, Redis is a second coupling plane, and DynamoDB and S3 underpin the payments and document platforms. Repos sharing a store are coupled even without a code edge. The three core SQL databases are binding points; stage 4 of the programme gives them named owners.
Repos using each technology
A repo can use several technologies. Click a bar to filter the stores below.
The shape of the data estate
SQL Server: 98 stores across 89 repos. The legacy centre of gravity, and where the shared-schema coupling lives.
MongoDB: 75 stores across 66 repos. The default operational store for the modern and cloud services, mostly one database per service, which is exactly the decoupled pattern the programme wants.
Redis: 11 stores across 46 repos. Caching, session state and streams; shared instances couple services as a second plane.
Amazon S3: 13 stores across 12 repos. Object storage for documents, assets and request logs.
DynamoDB: 8 stores across 6 repos. The payments platform's serverless store.
Azure Blob Storage: 1 store across 1 repo.
OpenSearch: 1 store across 1 repo.
Snowflake: 1 store across 1 repo.
Shared stores (43)
| Store | Technology | Coupled repos | |
|---|---|---|---|
| sqlserver:Phenix core database | SQL Server | 22 | backoffice-receipt-service, backoffice-repository-service, phenix-accommodation, phenix-attractions, phenix-cms, phenix-database and 16 more |
| sqlserver:EventLog core database | SQL Server | 14 | backoffice-eventlog, backoffice-pure360-marketing-service-api, backoffice-pure360-subscription-manager, mail-service, phenix-cruise-service, phenix-flights and 8 more |
| redis:phenix-cache | Redis | 12 | phenix-accommodation, phenix-booking-ui, phenix-business-ui, phenix-contact-centre-wcf, phenix-contact-centre-web, phenix-cruise and 6 more |
| redis:remote-session | Redis | 9 | phenix-attractions, phenix-carhire, phenix-cruise, phenix-cruise-service, phenix-p2p, phenix-provider and 3 more |
| sqlserver:ContactCentre core database | SQL Server | 9 | TC.CustomerPortalUsers.DupeImporter, contact-centre-email-server, intranet, phenix-contact-api, phenix-contact-centre-2-api, phenix-contact-centre-api and 3 more |
| redis:shared-cache | Redis | 7 | phenix-components-api, phenix-contact-api, phenix-contact-centre-2-api, phenix-contact-centre-2-web, phenix-marketing-campaigns-api, phenix-packagevalidation-api and 1 more |
| redis:streams | Redis | 7 | phenix-booking-commission-rate-api, phenix-p2p, phenix-retail-api, phenix-reviews, scheduled-tasks, vcc-service and 1 more |
| redis:tc-cache | Redis | 5 | backoffice, cache-management-api, phenix-backoffice-integration-api, tc-redis-cache-event-socket-server, tc-web-details-api |
| sqlserver:MediaServer | SQL Server | 5 | admin-studio, backoffice-customerrelations-ui, intranet, phenix-contact-centre-web, phenix-retail |
| sqlserver:TravelCounsellors | SQL Server | 5 | TC.PublicWebsites.EmailQueue, intranet, phenix-tcselfservice-api, public-api, travelcounsellors-net |
| mongodb:UserAccounts | MongoDB | 4 | backoffice-useraccount-service, tc-performance, useraccount-api, viewing-as-api |
| redis:tc-streams | Redis | 4 | backoffice-commissions-service, backoffice-receipt-service, phenix-dashboard-api, tc-streams-masstransit-adapter |
| sqlserver:DataWarehouse | SQL Server | 4 | admin-studio, alert-management, intranet, phenix-contact-centre-2-api |
| mongodb:Gold | MongoDB | 3 | tc-gold-api, useraccount-api, viewing-as-api |
| sqlserver:Accounts | SQL Server | 3 | backoffice, booking-tags-api, intranet |
| sqlserver:CustomerPortal | SQL Server | 3 | mytc-user-service, phenix-honeymoon-api, tc-gift-registry |
| sqlserver:UserAccount | SQL Server | 3 | backoffice-useraccount-service, phenix-user-api, tc-useraccount-telephonecontracts-api |
| sqlserver:VirtualCreditCard | SQL Server | 3 | vcc-service, vccprovider-enett, vccprovider-wex |
| dynamodb:payments-persistence | DynamoDB | 2 | paymentprovider-br-dge, tc-payment-router |
| dynamodb:Provider.ApiKeyConfiguration | DynamoDB | 2 | paymentprovider-pcipal, paymentprovider-stripe |
| mongodb:Accommodation | MongoDB | 2 | ibs-errata-api, phenix-accommodation |
| mongodb:Destinations | MongoDB | 2 | phenix-destination-management, service-fee-api |
| mongodb:PackageValidation | MongoDB | 2 | phenix-packagevalidation-api, tc-phenix-dynamicmargin |
| mongodb:TCCommissionStatements | MongoDB | 2 | backoffice-commissions-service, commission-statements-api |
| mongodb:ViewingAs | MongoDB | 2 | useraccount-api, viewing-as-api |
| s3:mail-message-data | Amazon S3 | 2 | tc-mail-composer, tc-mail-orchestrator |
| s3:Public_BlogVideos | Amazon S3 | 2 | asset-management, tc-public-assets-api |
| sqlserver:AttractionsRepository | SQL Server | 2 | phenix-attractions, phenix-provider-databases |
| sqlserver:CommissionService | SQL Server | 2 | backoffice-commissions-service, intranet |
| sqlserver:ContactApi1 | SQL Server | 2 | backoffice-pure360-marketing-service-api, backoffice-pure360-subscription-manager |
| sqlserver:DestinationManagement | SQL Server | 2 | phenix-destination-management, scheduled-tasks |
| sqlserver:DirectStockAccommodationContract | SQL Server | 2 | direct-stock, phenix-passenger-service |
| sqlserver:HotelsDesertAdventures | SQL Server | 2 | phenix-accommodation, phenix-provider-databases |
| sqlserver:IntranetMIS | SQL Server | 2 | db-intranet-mis, intranet |
| sqlserver:Location | SQL Server | 2 | phenix-linking-service, scheduled-tasks |
| sqlserver:Repository | SQL Server | 2 | backoffice-repository-service, phenix-root |
| sqlserver:Reviews | SQL Server | 2 | phenix-reviews, tc-reviews-sync-service |
| sqlserver:tcdb | SQL Server | 2 | intranet, tc-communications |
| sqlserver:TCDB | SQL Server | 2 | phenix-tcselfservice-api, travelcounsellors-net |
| sqlserver:Teams | SQL Server | 2 | intranet, teams-service |
| sqlserver:Transfers | SQL Server | 2 | phenix-p2p, phenix-provider-databases |
| sqlserver:Ttand | SQL Server | 2 | phenix-contact-api, ttand-database |
| sqlserver:TTIGIATAData | SQL Server | 2 | phenix-provider-databases, scheduled-tasks |
Single-owner stores (165)
Owned by one repo each; no cross-system coupling. This is the healthy pattern most of the MongoDB estate follows.