Configure Database Loation for Outsystems

Configure Database Loation for Outsystems

  
Can I change the default database location for outsystems during or after installation so use a database on a different server? I noticed that there are options that this can be done after installation using the Outsystems Configuration Tool but not during the installation process. Are there any performance difference if am to use database on a different server as oppose to have all installation in a single box (outsystems and database)?
Hello Vicent

In a nutshell, yes you can!

If you're installing the Agile Platform Community edition with the full installer for the first time, you can change it after installation.

If you're using the standalone installers of the Platform Server, Service Studio and Integration stuio available on the Agile Network Downloads section, then you can configure them up front to use a different database.

In either scenario, to change the database settings, just access the Database and Session tabs of the Configuration Tool and adjust accordingly. There are some requirements to have a database that fully supports the Agile Platform. Please check the document Platform Server 6.0 - .NET Install Checklist, for the Database role, to see the requirements.

In  nutshell, you need an existent empty database, in a SQL Server (2008 for 6.0) instance configured with Case Insensitive and Accent Insensitive (CI_AI, it also works with CI_AS collations).

Hope this helps.

Cheers

Miguel Simões João
Great. What about performance? Does it make any difference if the database is to be on a different server as opposed to be on the same server.

Also, what if I use sql server express on the same server for outsystems installation but all the extension will be pulling entities from a different server. In this case, does using sql server express with outsystem pose any performance issue as opposed to me using sql server standard edition with outsystem installation?
Hello Vicent

Comparing performance is always tricky, since it depends on so many factors that there's isn't absolute answers.

Nevertheless, usually for best performance it is always recommended to have the SQl Server running on its own dedicated server, so the hardware resources (like CPU, RAM and IO) aren't disputed by both the SQL Server database engine, and the application server (IIS+ASP.NET+AgilePlatform).

This is true for both the OutSystems database, as well as any other external database you might want to integrate to.

Obviously, if you have a very poor connection between the Agile Platform servers and the SQL Server server (less then 100 MBits), performance might be impaired.

Regarding the scenario of having the local SQL Server express for OutSystems database and using extensions to integrate with the remote databases, you'll both the application server and the local sql server express concurrently fighting for the hardware resources. Additionally, even though you can access the remote datamodel, you won't be able to actually manage it (performance changes to the data model) directly with the Agile Platform by using local entities in espaces. You'll always have to import them using Database Connections in extensions.

If possible, for best performance, it's best to have a remote sql server.

Cheers

Miguel Simões João
Hi Miguel,

Thanks for your thorough explanation. 

Vincent