It’s been a while since I provided any public updates regarding Simora, our Oracle workload simulation product. It’s finally time to unveil the status of Simora and our steps moving forwards.
We have been working extensively on the Simora engine and infrastructure over the last several months, with a view to transforming it into a commercially viable product. This phase of development has now completed and we have recruited a stellar group of Alpha testers to give the code a good thrashing! Once they are done with it, and the bugs fixed, we will be looking for a wider set of technical users for the beta test phase. If you are interested in joining the beta programme, please scroll down for the application form.
So What Is Simora?
Simora is a processing and playback framework for the accurate replay of Oracle workloads. Workloads can be captured from real Oracle databases (any recent version, any edition) and replayed against another Oracle database (again, any recent version and any edition – assuming the features present in the workload are supported by the target database). If you think that sounds a little bit like Oracle’s Real Application Testing (RAT), you would not be far from the truth – Simora supports the simplistic playback of workloads that RAT supports. However, this is not the main design goal of Simora, which is to be more of a utility to allow full control over the workloads that are played back. Simora was developed with this in mind, and this is evident in the approaches taken to the design. So, what kind of workload manipulation can be achieved with Simora?
Once a workload is created, it can be quickly turned into a Playback workload, just like RAT. This comes with all the necessary caveats for this kind of approach: the playback database must be an exact copy of the capture database, same SCN, and the database must be restored to the same start-SCN for each playback of the workload. There are also a few limitations on how aggressively the workload can be accurately played back against the test database, and these limitations are inherent to both RAT and Simora. These limitations can all be overcome by switching into Advanced Mode.
In Advanced Mode, Simora facilitates more of a workload Devops workflow. It allows the captured workload to be fully manipulated, starting with the fact that the Simora workloads are presented as an easy-to-use script language based upon the popular TCL language. The workload scripts are instrumented to make an easily readable view of the database operations associated with the workload. These scripts can then be fully modified and take advantages of the Simora playback engine facilities to, for example:
- Add loops
- Add variable substitutions
- Experiment with different SQL statements
- Implement inter-workload interaction through message passing
Once the modified workload scripts have completed testing using Simora’s debugging harness, they can be presented to the main engine as part of an aggregate workload. This workload might have, as an example, the following components:
- Product selections and browsing transaction
- Order entry transaction
- Picklist generation
These transaction types can then be scaled as much or as little as desired, including the splits between them. The think times and active user counts can be manipulated fully dynamically while the simulation is running.
Anyway, that’s a brief introduction to Simora and its advanced capabilities. We will shortly be launching a Simora-specific microsite with significantly more information, including licensing information. The current thinking is that we would like to make the product freely available for non-commercial use, but that’s subject to further thinking!
[gravityform id=”7″ name=”Simora Beta Test Application” ajax=”true”]