Best Database Platform should I choose Outsystems Entities or MS SQL server Platform

Suppose I have a database with about 300 to 400 relational tables & thousands of

records in MS SQL server now, I wanted to use out systems for my web applications

& business logic.

Out of below 2 options which option is best suitable for my need?

1. Keep all master data in MS SQL only which is my current database & use rest services to get/set data to/from my MS SQL on premises Server into my OutSystems webapplications

& store the small process level data in outsystems entities


2. Create whole big relational Database structure inside outsystems only i.e. create the entities

inside outsystem & migrate all data from my on premises MS SQL server into out systems entities &

use them to store all kind of data i think if i go with the option 1. above then i'll be able to

leverage full capabilities of MS SQL server & no need to do any struggle in managing data in out

systems entities.

Can you please provide me your expert opinion & suggest me the best suitable way here... Performance, scalability, robustness & maintainability are the important concerns for me.



are other applications using the data? That would be the first thing to consider, if so, definitely keep it external. If not, then it’s really up to you. You concerns regards performance, etc really don’t come into play.

Performance can take quite a hit if you link tables from Outsystems and an external database.

If you perform a join in such a case, Outsystems will fetch the entire external table to perform the join localy, you can imagine this can be relatively heavy on big tables.

Now from an architectual point of view, it's not recommended to create dependencies on products, in this case Outsystems, is quite a big investment, placing all your data in here, will not allow you to swap out Outsystems easily for another system. Especially if you have multiple external applications or services which are using this database.

Though if you are only using Outsystems it can be nice to have the entire application and it's dependencies in one place.

Keep in mind that if you are going to create references inside tables from Outsystems to the ones in your external database, you might want to create some synching mechanism to sync all the data in Outsystems entities, so you can perform the joins there, instead of trying to join it to an external database.

Hi Joey,

We were not talking about linked tables at all. If I understand the question, "its should you put it in OutSystems managed database or leave it in the external database?"  That is purely an architectural decision and I go back to the statement on whether other applications are using the data or not.  

To address your question about swapping out OutSystems - it doesn't actually impact that.  The underlying database is a standard MS SQL or Oracle database.