Two things of significance changed since the release of SWS 6.1 SP4, that has positively impacted the storage requirements both on the Database, and the other server components. Apart from offering more efficient means of package delivery, SWS now takes a sizable amount of burden off the database!
- The Package format was changed to "Xtensible Package Format" ( XPF ) format - A new cutting edge "Standard" format replacing all package formats used in the past, like MSI, Snapshot, SVS etc...
- NOTE: This DOES NOT in any way mean that the packages created using the earlier versions will not be supported. 6.1 SP4 is FULLY compatible with packages created using earlier versions, and the package admins NEED NOT recreate packages.
- Apart from this change, the default package storage location was moved away from the Database, to the Backend server (or any file system equivalent like SAN that backend can read from). This design change was primarily carried out, to improve database efficiency and decrease the file growth size of the DB. Now the package resides in two locations by default - backend server (or some SAN accessible by Backend) and the front end server(s). The following information regarding the storage requirements are provided, considering a Server system which comprises
- A database
- A back end server
- A front end server
1. The Database: As stated earlier, packages are no longer stored in the database. It has been moved to the Backend Server and the Front End servers. But for every package that is uploaded to the system, close to 50 KB of data is written to the database. This is a standard non varying number that does not depend on the size of the Application package.
Every time a user uses the application, we write 5 Kb of information to the database for reports (usage statistics, license management, etc). This is a variable in the sense that, every time a user uses an application, we add 15 Kb to the DB. so the rough formula for calculation would be:
(50Kb * n) + (5Kb * y) Kb where "n" is the number of packages and "Y" is the number of times packages are launched.
If you consider 1000 packages on an average launched once a day the size occupied on DB and the increase per day can be easily calculated using the formula
(50Kb * n) + (5Kb * y) where n=1000, y = 1000
Basic space Occupied:
50*n =50*1000 = 0.05 GB - Standard - Non changing - For 1000 Apps
Growth per day:
5*y= 5*1000 = .005000Gb = 5 Mb - Increasing by .005000Gb when 1000 Apps are Launched once every day. So the total Db growth expected is 0.005GB (~5 Mb) every day, which is an extremely small number.
Note: this applies to the new XPF packages alone. Older packages are still stored in DB in Binary format.
2. Backend Server: The same size of the package. So if we have 1000 packages each of size ~100Mb , the size occupied on the file system would be 100,000 MB or 100GB.
Note: It is therefore advised that you configure the system in a manner that the packages for Backend point to a "grow able" SAN storage.
3. Front end servers: Slightly more than the space requirements on the backend server. It would be typically 1.1 times the size of the package. This is because, with usage, we will also be creating behavior and statistics file. So the storage in FE server is 1.1*100 GB= 110 GB per Front End Server.
Note: it is possible that you configure the system in a manner that the packages for frontend to point to a "grow able" SAN storage.