| Mike Gualteri posted on his Forrester Research | | | | WebRepository and its class versioning we can |
| blog on Application Development about NoSQL | | | | add fields to objects without the need to |
| and Elastic Caching. Quote: ‘The NoSQL idea is | | | | restructure database tables. New instances will |
| pretty simple: Not all applications need a traditional | | | | simply have the new fields. Data storage IS NOT |
| relational database management system (RDBMS) | | | | XML format because the performance to parse it |
| that uses SQL to perform operations on data. | | | | is dreadful. Papyrus uses field-length-keyed |
| Rather, data can be stored and retrieved using a | | | | hex-codepaged strings that can be parsed 20 |
| single key. The NoSQL products that store data | | | | times faster. |
| using keys are called Key-Value stores (aka KV | | | | - Latency: Papyrus can use transient objects that |
| stores).' Mike sees the difference as: | | | | not saved to disk when the data does not have |
| ‘Ultimately, the real difference between | | | | to be persisted. This significantly reduces the |
| NoSQL and elastic caching may be | | | | latency of data operations. In-memory operation |
| in-memory versus persistent storage on disk.' | | | | is thus not a downside for large or persistent |
| I already posted about the powerful clustering and | | | | objects because it can be chosen per object type |
| caching algorithms of the Papyrus Platform some | | | | (class or template). |
| time back. It was now interesting to read about | | | | - Reliability: Papyrus provides distributed caching |
| combining NoSQL and Elastic Caching. The Papyrus | | | | with data replication algorithms to store the data |
| Platform uses both the same concepts on the | | | | on multiple nodes. If one of the nodes goes down, |
| lowest layer to support the metadata repository, | | | | the load balancer in V7 will move the user session |
| rule engine, and the distributed, object-relational | | | | to another node and continue with the proxy |
| database and transaction engine. Even the strict | | | | objects there. A more efficient object distribution |
| security layer and easy to use thick- and | | | | for a HA cluster will be available in Q410. |
| thin-client GUI frontend benefit from the powerful | | | | - Scale-out: With Papyrus you add and remove |
| object replication and caching. | | | | nodes during operation. Currently the application |
| - Reliability and Scaling: Papyrus offers the benefits | | | | can choose how the objects are distributed |
| of reliability and scaling through replication. | | | | across nodes. The next release in Q410 will |
| Persistence and storage management concepts | | | | provide this distribution on system level as a part |
| are defined on a per object type and node type | | | | of the backup and recovery procedure. |
| form. Data can be spread across thousands of | | | | - Execute in data location: Using distributed code |
| nodes. Also user PC's can have their own local | | | | execution, developers can distribute the workload |
| node and storage. Actually, that will be even true | | | | to where the data resides rather than moving the |
| for mobile phone users once our mobile kernel will | | | | data to the application. Execution of methods on |
| be available later this year for iPhone, WinMobile, | | | | the owner node of the tool is the basic |
| and Symbian. | | | | functionality. Full Distribution is no problem with |
| - Fast Key-Value Access: Papyrus supports | | | | PQL. |
| straight key-value access but also PayprusQL | | | | It does not require enterprise application |
| object-relational access (similar to Xpath), offering | | | | developers and architects to create architectures |
| query and search across data in widely distributed | | | | with the above features as they are embedded in |
| KV storage nodes. Those can also be offline | | | | the Papyrus Platform peer-to-peer kernel engine. |
| (dumped to tape or DVD). | | | | Papyrus thus provides all the benefits of NoSQL |
| - Distributed execution: Papyrus executes | | | | and Elastic Caching without the technical |
| object-state-engines and methods (implemented in | | | | complexity: |
| PQL), events, and rules. The deployment of the | | | | - Achieve savings by reducing RDMS licenses and |
| application is automatic to the local node where | | | | maintainance. |
| the data is or any other chosen node. It does not | | | | - Add scaling layer in-front of databases, SOA or |
| take developers (clever or not) to distribute the | | | | MQ messaging. |
| load across multiple servers. | | | | - Build Web applications with shared session and |
| - Change of data structures: Due to Papyrus | | | | application data. |