This post is a walkthrough guide on how to keep your cloud environment database usage under control and within the size limits that we’ve put in place to properly manage the overall experience of our cloud.
OutSystems Platform uses a shared database to store both system and application data.
System data is comprised of all the application’s definition metadata, including the data model definitions, module configurations, system and application logs, module versions, and much more, which usually grows with continuous application development and deployment.
Application data is the data your applications generate and manipulate, which usually grows with application usage.
All this data occupies database storage and can consume quite a bit in large development environments or highly used systems.
How to check the database usage in my personal environment
With Platform 9 Amsterdam, we’ve included more database usage information in our free public cloud. You can now verify your global database usage levels and identify how much is being used as system and as application data.
You can view your global database usage by accessing the Environments tab (https://<yourpersonalenvironmentname>.outsystemscloud.com) as shown below.
If you access the View details link in the Database section, you’ll be able to determine the amount of database storage usage for both system and application data, as shown in the image below.
The values shown in the database usage are updated hourly, thus any change in the occupation values may be reflected only after an hour.
How to free up System data
OutSystems Platform provides built-in capabilities to cleanup old system data. The most common cause for database usage growth is old versions of your applications.
Starting with Amsterdam, OutSystems Platform will periodically clean up old module versions from the database. Nevertheless, it’s possible that you might need to perform this cleanup yourself, by executing the described procedure below.
Deleting old module (eSpace) versions from your system is handled under the Factory section of your environment management console (https://<yourpersonalenvironmentname>.outsystemscloud.com/ServiceCenter). On the eSpaces subtab, you’ll find the Check Old eSpace Versions to Delete link, which will allow you to view the eSpace versions older than a specific period (1 week, 2 weeks, 1 month, etc), and select them for deletion.
Select the period, press the Check Versions to Delete button, and you’ll get a list of old eSpace versions that you can safely delete. These versions aren’t the currently published version, nor associated with existing Solution versions. By pressing the Delete Displayed Versions button, all listed eSpace versions will be remove from the database repository, freeing up significant database storage.
How to free up Application data
Application data is basically all the information that your applications store in their own entities/tables. This means that you control the amount of data that is stored in the application data model. So our recommendation to control that application data usage, is to have your applications keep a clean data model.
For instance, if you store files or large chunks of data in your application entities that you will use only once but never again, you might want to delete them from the data model. On the other hand, if you’re considering using the data model to store files or large chunks of data, you might want to consider pushing that information to external storage services, like Amazon S3, Box.com, Google Drive or Dropbox, using available connectors.
It’s also possible that during your development cycles, you may delete applications or entities. To prevent irreversible loss of data, OutSystems Platform doesn’t actually delete the data from the database. This can present another problem, which is that you lose the ability to delete the entity's data from within your applications. We provide an API to allow you to delete entities and columns from the data model, and free up some more espace. This is called the DB Cleaner API.
Hope this information helps you to keep your cloud environment database usage in check, to improve the stability and performance of your applications in the cloud.
Cheers!
Edgardo Gallardo wrote:
Hey Edgardo,
There is a maximum of 2 GB for database storage of system and application data in the Personal Environment.
Does that answer your question?
Thanks,
Alexandra
Hi There,
After deleted old module (eSpace) versions from our system. i see the System Data still the same size? Is there a way to check which application used the most data?
I've written outaystens. Posted on their Facebook. Requested enterprise trial. Scoured through the entire forum. It seems to be a big secret. When we questioned the agent regarding the redundant errors in respect to the database useage and despite deleting everything, the system data remained full locking us out of our personal environment; their response was, well you don't think we're going to give this pass away for free? I was floored. Keep in mind we're an enterprise client who wants to utilize the premium account and eventually become a paying client, but just that response considering they advertise "open source." Is a big red flag for us. We understabd everyone needs to make a profit and we're not oppose to paying, we have/had every intention in paying but for those looking for the open source platform, I suppose it's a bait and switch? Correct me if I'm wrong please because we're about to look elsewhere. Lack of a better term, it seems very shady for the lack of response to this topic and solutions to this topic including the dialog we had over the phone.
Very disappointed.
---------
EDIT:
Due to some serious help from the OutSystems community and team, we would like to say thank you! We appreciate all the help the team has refocused on us and we don’t take it lightly, we appreciate it. We’re sorry it went that way, whether it was our misunderstanding, or simple confusion on my interpreting the support system.
Thank you OutSystems team for helping, and having our back even when we doubted you.
Hi Brian,
We are very sorry that you are going through a bad experience and thank you for reporting this.
I will reach out to you via direct message so that we can help solve the issue.
Regards,
Carla Sofia
Community Manager
Brian Cardozo wrote:
In regards to the post above outsystems did reach out very quickly to clear up the misunderstanding. The issue seemed to be a misunderstanding between myself and someone who had called. We are now fully aware of how the process works and what we did wrong in the process. I appreciate the quick follow up and clarification in respect to the pricing and the storage issue we were facing. Both Mario and Alex cleared up any concerns we had and have fixed the misunderstanding by 110%.
Thank you for the fast follow up and fixing the issue at hand. We were out of town the past few days so please accept my apology for not following up with this response sooner.
We think outsystems would be a great choice for both personal use and corporate enterprise use. Outstanding team members making a less than positive experience extremely great in the end.
Thank you
Brian
Hi, I'd like to suggest a couple of points to take a look at when the Personal Environment is getting full:
- Discovery Snapshots - they're taken in a weekly basis
- Forge Component DBSpace - it's graphical visualization help understand what's going on with tables, espaces and applications
- And as OS guys hav already stated: Forge Component DBCleaner
Try my new application for cleanup of Personal Environments: https://www.outsystems.com/forge/component/2176/oneclickcleanup/ - all your problems solved in one click!
Hi ,
will it work for mobile apps as well?
Adrian wrote:
Hi,
I am not sure I understand your question. The cleanup tool is for your database (server side).
Kind regards,
Adrian
Our environment was upgraded last night to 10.0.804 and I have the error "database almost full" in lifetime. Following advise above however does not work, in the LifeTime environment there is no "View details" for the database usage. Where is this viewed in 10?
Also I did the check fo old espace version and got "There are no eSpace versions to be deleted"
Hi everyone!
Very recently at a client, with Enterprise Cloud environment, we encountered the same problem, as the screen shot shows.
We have done all the procedures to remove unused data from the database (also using a combination of the forge components DBCleaner, Logs Management, and Environment Cleaner, all of them with some modifications) but the warning for the database being almost full still continues to show up.
After contacting OutSystems support, the client was informed that:
https://success.outsystems.com/Support/Release_Notes/Platform_Server#Platform_Server_10.0.804.0
- (...)
- It is now possible to view database usage details in LifeTime in the Cloud. (RLIT-1560)
Hope this information is helpful.
Tiago Bernardo
Elize van der Riet wrote:
I do not think this has changed in 10, I have 10.0.702.0 and everything looks like the screenshot above. Is it a cloud deployment? Have you tried using the cleanup tools in the forge, some show the size of your tables.
Hi Adrian,
I am trying to use the tool oneclickcleanup to delete old espaces and logs. However, when i use the tool it give me the following message when i go to view the website
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /OneClickCleanup/Home.aspx
i figured by updating dependencies it would fix the issue but when i do that i get the following error message
Error message from node SERVER (127.0.0.1): Internal ErrorAccess to the path 'C:\OutSystems\Sandboxes\LLCZQK007\Platform Serverunning\OneClickCleanup\Blocks\WebPatterns\Layout\WidgetsForLayout.ascx' is denied.System.UnauthorizedAccessException: Access to the path 'C:\OutSystems\Sandboxes\LLCZQK007\Platform Serverunning\OneClickCleanup\Blocks\WebPatterns\Layout\WidgetsForLayout.ascx' is denied.
any help would be greatly appreciated,
with gratitude
joe
Hey Joe
Looks like WidgetsForLayout.ascx should be aspx and not ascx...
Hi Joao,
Thank you for replying. It worked!!! :-)
With Gratitude
Joe