The Native Application Platform for MultiValue Users
Our jBASE development team has pulled it off again, packing in many new groundbreaking features into the highly anticipated release of jBASE 5.7.
Watch the jBASE group – Greg, Pete, Ian, Patrick, and Bruce – talk through the latest developments in this casual short video. Listen in as they touch on Dynamic Objects, JSON, Dynamic Files, Java Extensions, RESTFUL Services and more.
As the name implies, the new files are dynamic, in that they resize dynamically. They aren’t like typical MultiValue files which are traditional hashed files that get re-sized in the background, but built from the ground up to continually work optimally as updates are made.
We have found Dynamic Files to be as fast as J4 or JP files, and this is always comparing dynamic files with perfectly sized J4/JP files (and who has perfectly sized hash files?). Because of a number of design features of dynamic files, there are many tests we run where the performance exceeds that of J4 or JP file, sometimes by a considerable margin.
There are a couple of features of dynamic files to highlight:
Use of memory maps. A memory map is where you do a one-off system call and this returns a memory pointer to file cache. This means that when accessing a file, instead of using the traditional call to the read() or write() function, which involve a system call, we simply access memory. There are restrictions and limitations to how much we can use this, but the overall effect is that we do fewer calls to read() and write() and hence fewer system calls.
Group locking. These locks are transient, sometimes for less than a microsecond, and protect the internal integrity of the database during CRUD operations. They should not be confused with any other sort of locking we perform , for example read locks initiated by READU are something very different. In the past, we have used a locking type which involved a system call. We now use a memory based locking scheme that only requires a system call if the lock is busy.
Profiles ensure that jBASE environment variables and configurations are centralized for simplified administration. Profiles are portable, allowing for effortless migration of production configurations to additional jBASE servers for highly available architectures or simplified disaster recovery. Profiles can be system wide, unique to a single user or kept in a repository per user making jBASE maintenance and upgrades more flexible.
jRemote Java Driver
jRemote’s Java Driver was upgraded to a modern version of Java, allowing access to the latest features and functionality for Java development.