ZeroPoint ZCache Advantages - Technical Support

ZCache Advantages

The advantages to using ZCache are many. Here we will go over a few of these advantages and explain in greater detail what they are, and how they will benefit you in your application development.  We have been designing and building custom application for clients using this technology and know from experience that these tools make designing high speed data driven applications easier. Any technology will work well for small, low demand applications. However, for really robust high performance applications you need real data processing power.

The traditional method of achieving high performance has been to buy more expensive hardware, build elaborate back end systems to circumvent data access issues, or both. This works but at a very high cost. You can easily end up with a system difficult to replicate or maintain.

Many important data systems are designed and built based on current and expected demand that turns out to be pessimistic. As demand grows, the system is soon overloaded requiring a rewrite. Retrofitting applications to meet unexpected demand is costly, and usually driven by unhappy customers and/or reduced productivity. ZeroPoint products allow engineers to design applications that can scale easily without hitting expensive performance plateaus.

Adding new features that increase your productivity is the kind of work engineers love. Trying to solve an enormous performance headache while customers are screaming is no fun at all, and really bad for business.

What is ZCache?

Caching data in memory has been around for a long time, longer than networking itself. It has always been an easy way to get around a slow database, but the speed comes with risks if data is changing. This method is only useful for short periods, or in unusual circumstances.

Since a database is tied to disk drives or other storage media, and the data is stored in a form much different than the way you access your data, performance suffers.  Databases are required to persistently store data for safe keeping, and to read and organize data when it is accessed, these are resource intensive processes! SQL databases offer reliable performance, and considering the work they do in organizing data retrieved from disk and preparing it for the user they do remarkably well. But they are too slow for high speed, multiuser applications. Tweaking and performance tuning has a limited effect in mitigating the performance issues that SQL databases exhibit. The usual penalty in performance tuning is increased write times to accommodate more complex key structures, in order to gain only a little more speed reading data. With ZCache data is always optimized without a significant write penalty.

Having the data in memory is really fast, but we need to know that the data is current and accurate. We also need to be able retrieve that data as quickly as possible. A single event in your application may trigger a whole series of calculations or raw data accesses in order to meet the demands triggered by the event. The longer the chain of data accesses required, the poorer will be performance. Especially as concurrent users increase!

ZCache is a product aimed at precisely these issues. It keeps data in memory, organized in the form you need it the next time you make a request. Data integrity is maintained because all writes go through ZCache, and ZCache updates, inserts, or deletes any data in memory with the correct data after safely storing the changes to your database. This further increases performance because the data does not have to be flushed and re-read after the new data is written.

Unlike a traditional SQL database, ZCache can handle more than a thousand of concurrent requests and process thousands of requests/second on a low cost server. ZCache can be deployed on any server that runs Java 1.50 or better. This means that you have removed dependency on any specific hardware for deployment. Windows, Linux, Solaris, or virtually any Unix environment can host ZCache. Hardware from single a CPU to N-way servers are all supported.

We do recommend 64 bit operating systems, two dual-core CPUs (Xeon or Opteron are ideal) and at least 3GB of memory. But ZCache will provide the same performance advantages on smaller systems. In fact, the most interesting comparison is to run our demo on an ordinary computer and see for yourself the huge difference ZCache makes. The demo will give you a feel for the power of ZCache.

Performance

Whether your tables are small or large, ZCache offers incredible performance. There is no difference in speed regardless of search complexity. When ZCache is under load you see the tremendous value that this program offers. At 5,000 requests per second each request is being retrieved and delivered in 200 micro seconds. This speed coupled with the ability to handle 1000 concurrent users puts data access on a whole new level! This is performance well beyond the reach of traditional SQL.

Ever wondered how Google's search engine can be so fast? Nearly all of the search engine's data is running exclusively in memory. Now you can have the same performance advantages of an in memory database, for a reasonable cost.

Enhanced Features

  • Relational Record Navigation - With ZCache you can move by single records or by blocks of records throughout the table. For example you can get the next five records, the previous five records, etc. This feature works with all search specifications, and makes features like type ahead list boxes and report generation systems more efficient. You can now drastically reduce the load on your network and your application while adding new possibilities for user interface enhancements.
  • Secure Internet Data Access - Now you can design sophisticated client applications that can securely and quickly have direct access to data via the Internet without going through a server side application. This opens a whole new set of development opportunities that increase traffic handling and reduce server side development and deployment costs.
    The speed benefits and scalability of ZCache make this kind of project possible by reducing the impact of Internet latency and maintaining data security. Performance improves because only requested data is transferred, not visual components, html code, etc. Compact data transfers dramatically reduce bandwidth requirements.
    Additionally you can offer the customer the advantages of web (or network) hosted data combined with a better user interface possible only on the user's machine using native code applications. These applications are usually faster to create, design, and deploy.
  • Data Normalization - Since data access is normalized across all supported platforms, The same application can work in harmony with different SQL database servers without code changes. This also means that you can use many different SQL servers concurrently even if they are not from the same vendor. This can be very useful for special requirements and reports that span other departments and legacy systems. This can also make relocating data to a new server much easier.
  • ZCache Protocol - ZCache has a feature set that cannot be properly addressed by the SQL language, and ZCache is designed to support devices and scripting services that can benefit from a simplified interface. The result is an easy to implement system that allows the developer to map currently supported SQL requests for existing queries, and add additional versatility to their database accesses. It is always possible to read around ZCache for meta data or for other specialized queries, but you will want to write through ZCache for tables that are being supported by ZCache to maintain cache integrity.
  • Cache Updating - ZCache updates all the data in memory when data is written, updated, or deleted, which means that the hit ratio (the percentage of requests that are able to retrieve data from memory) remains extremely high which dramatically improves performance and versatilty.

Short List

>  Fast - (>11 million requests per hour on inexpensive hardware)
>  All Requests Are Fast, Regardless of Complexity or Table Size
>  Easy To Configure and Use
>  Secure Transactions
>  Works With Oracle, MySQL, and Others being added
>  Simplified Database Design and Development
>  Write-Once-Use-Any-Database
>  Results Cached in Memory, Arranged Exactly The Way You Need It!
>  Great For Any Database Application
>  Great For Any Web Services Application
>  Reduced Server Load
>  Huge Cost Savings in Development and Hardware Expenses
>  Runs on Any Java Enabled Platform
>  Runs on Any Hardware and Nearly Any Operating System
>  Increases Performance on Existing Hardware
>  Cost Comparison? Much Lower Installation and Maintenance Costs
>  Data normalization
>  Relational (Position Aware) Record Navigation

©Copyright 2007, ZeroPoint, LLC.      Questions? Comments? Email Us.