What is Insane Mode?
Speedment can hold all your data locally using in-JVM-memory technology or a hot cache. This allows data to be structured and accessed much quicker than querying any database. Typically, data can be accessed several magnitudes faster. There are cases when data could be accessed 10 000 times faster and more. This function is included in the Speedment Enterprise version.
How is the Hot Cache kept up to date
Speedment will subscribe to update events from the database and feed those events into its Reactor. The reactor will then update the Hot Cache. The update subscription model differs depending on database type.
How can data be consistent in the Hot Cache?
Transactions in the underlying database are conveyed atomically to the Reactor. The latter is then able to update The Hot Cache consistently so that transactions in the database are reflected as transactions in the Hot Cache. Thus, the Hot Cache is eventually consistent. If you have several Speedment nodes that needs to stay strict inter-node consistent, you have to use a scale out model.
How often is the Hot Cache updated?
Depending on the database type, different update subscription models are used. Typically an update in the underlying database will be reflected in the Hot Cache in milliseconds.
If I update the underlying database using third party application, will my Hot Cache react to that?
Yes. Update events are sent to Speedment regardless of how the database was updated (e.g. using SQL commands, third party applications, scripts, triggers, stored procedures).
If the underlying database goes down, what will happen with the Speedment application?
The Speedment application will continue to run queries. When the database is back in operation, the Speedment Hot Cache will resume update operation.
How does the Hot Cache detect changes in the underlying database?
Some databases allows the Reactor to directly subscribe to changes programmatically (i.e. Oracle) whereas others (like MySQL) will use triggers to detect updates.
In a big data scenario, how long would it take to load the Hot Cache with Speedment?
Load time may vary depending on Hot Cache type and database performance. Loading speeds exceeding one million rows per second has been observed.
If a Speedment node goes down, does it pick up from where it was before it crashed?
This depends on the Hot Cache type. Some types are redundant, to you can restart the node and it will eventually pick up using its neighbors. Other types will persist its content so that a node can restart instantly.
How big data sets are supported?
Depending on the Hot Cache type, different data sizes are supported. The scale out model is virtually unlimited. Just add new nodes to increase space and performance. The scale up solution is limited by the amount of RAM or the combined amount of RAM and high speed storage (i.e. SSD). The underlying technology has been used for in-JVM-memory maps exceeding 100 TB of data.
If would like to have several Speedment JVM:s if one crashes. Can you do that?
You can deploy any number of Speedment nodes. Nodes can be deployed in cloud environments/local clouds or on dedicated servers.