SafePeak is an automated dynamic caching software system for relational databases such as the SQL Server and MySQL. The Distributed Dynamic Database Caching technology was invented, patented and developed by the SafePeak Technologies (originally named DCF Technologies). SafePeak is designed to transform existing, working applications and databases into scalable, high performance, low latency, high-load systems on commodity hardware. The software seamlessly integrated in the architecture and works both in private, public and hybrid cloud environments. The software resolves data access bottlenecks and latency without any change to existing applications or databases.
SafePeak caching is focused on caching of queries and stored procedures result-sets, storing the data entirely in RAM based special cache; no disk I/O is required for query operations. The Dynamic Cache nature of the system makes it: a) Application agnostic, as it does not require application or database code changes or additions; b) Any read-oriented queries and stored procedures are cacheable; b) Never stale cache = automated transaction ACID level data correctness.
After installation, the application connection string set the SafePeak hostname or server IP as the data source. SafePeak works with any standard Ado.Net, ODBC, JDBC or other database connection drivers.
SafePeak fully fits 3rd party applications or platforms as it requires no code changes in the application and database levels.
Principles of operation
- Reverse Proxy: SafePeak acts as a reverse proxy for database connectivity, implementing the database networking level protocol, like TDS (Tabular Data Stream) in SQL Server. Client applications create standard connections to SafePeak and the received results are expected database answers.
- Metadata learning: SafePeak analyses the structure of the database schema, parses all types of schema objects (tables, views, triggers, functions, stored procedures, foreign keys) and creates an internal map of dependencies. On DDL commands, or schema changes, SafePeak automatically re-analyzes the modified objects and applies required changes to its object definitions and SQL Patterns configuration.
- SQL Patterns Identification: Application queries and stored procedure calls are transformed into patterns of similar queries, analyzed and then used as rules for automated dynamic caching.
- Dynamic Caching: Queries arriving to SafePeak matched for existing cached response item in memory. If not found, the commands are passed for execution in the database. If the query is matching an allowed for caching pattern, then the result is stored in memory for future repetitive requests. On arrival of DML commands (inserts, updates, deletes, etc.) or arrival of stored procedures calls that were identified as containing DML commands - the relevant items in cache memory are cleaned and the command is passed to the database server for execution.
- 100% Data Integrity: All features of ACID are supported. The data returned is always correct.