Safepeak Logo

FAQ's

Questions:

  1. Is SafePeak Cache always up to date? How?
  2. Do I need to make code changes to use SafePeak?
  3. Can I benefit from SafePeak with my commercial off-shelf / 3rd party application?
  4. What RDBMS or databases are supported by SafePeak and which versions?
  5. Which operating system (OS) are supported by SafePeak?
  6. What application technologies (.Net, Java, etc) are supported by SafePeak, and can benefit from its database caching abilities?
  7. What are the server configuration and operating system requirements for SafePeak installation?
  8. Can SafePeak be installed on a VM (virtual machine)? What vendors are supported?
  9. Does SafePeak have fail over mechanisms?
  10. Is it possible to change a connection string for the application, without the need to change it again if we later disconnect or move SafePeak?
  11. What are limitations and known issues?
  12. How does SafePeak handle information security?
  13. Can SafePeak cache Stored Procedures?
  14. What happens if SafePeak does not understand the sql of a query or a stored procedure?
  15. What are the configuration steps to get the best results?

 


Answers:

1. Is SafePeak Cache always up to date? How?
Yes. SafePeak caches the results of called queries (both batch commands and stored procedures' calls) while understanding and staying aware of their dependent objects. If a DML command or a stored procedure containing a DML (update/delete/insert) arrives, SafePeak understands what objects will be updated, evict relevant items from the memory cache and send the update to the database server. Both SafePeak cache and the database are at all times up-to-date.

2. Do I need to make code changes to use SafePeak?
No. No code changes are required to the application at any kind.

3. Can I benefit from SafePeak with my commercial off-shelf / 3rd party application?
Yes. SafePeak is completely transparent to the application technology, as long as it works with SQL Server. Practically all SQL Server based applications can benefit of SafePeak performance acceleration caching technology.

4. What are supported databases and which versions?
SQL Server 2000, 2005, 2008, 2008 and 2012 are supported by SafePeak, both 32 bit and 64 bit versions.  

5. Which database operating systems (OS) are supported by SafePeak?
The SafePeak server operating system needs to be: Windows Server 2012 / 2008 R2 or 2008 64 bit.
Connected to SafePeak SQL Server can be on any operating system.

6. What application technologies (.Net, Java, etc) are supported by SafePeak, and can benefit from its database caching abilities?
SafePeak is transparent to the technology the lies beneath the application. For example: .Net, Java (via JDBC), PHP, Ruby, C++, etc - are all supported. All these technologies access the SQL Server using SQL Client / OLEDB / ODBC / JDBC clients which are all supported by SafePeak.

7. What are the server configuration and operating system requirements for SafePeak installation? 
Server hardware configuration requirements are strongly related to the workloads (transactions or batch requests per second) present on the databases that will be connected to SafePeak. Some require 4 Cores + 8 GB RAM, others 16 CPU Cores + 64GB RAM. 
Basic testing can be done on very small machines (even 1 core, 1 GB RAM) - but performance will be affected.
We recommend minimum of 4 Cores + 8 GB RAM for production environement and evaluation testing. 
For each additional SQL Insance (2nd, 3rd etc.) connected to SafePeak you should allocate minimum of additional 2 CPU Cores and 2-8 GB RAM, depending on your needs.
Disk space: 50GB per each connected SQL instance.
SafePeak operating system requirement is either Windows Server 2012 / 2008 R2 / 2008 64bit.

8. Can SafePeak be installed on a VM (virtual machine)? What vendors are supported?

Yes. SafePeak can be installed either on a hardware server or on a virtual server from VMware,  Microsoft Hyper-V and Xen.
Cloud virtual instances, like Amazon Web Services EC2 or GoGrid, are also supported. 

9. Does SafePeak have fail over mechanisms?
Yes. SafePeak is fully redundant to both software possible failures as well as hardware failures (hardware fail over is available only in SafePeak cluster deployment).

10. Is it possible to change a connection string for the application, without the need to change it again if we later disconnect or move SafePeak?
There are several techniques you can apply for this matter. For example:
Create a special DNS Record that will point to SafePeak server IP. Later, if you need to disconnect or move SafePeak, the administrator will update the DNS record so it will point to the database server actual IP or to a new IP of SafePeak.

11. What are SafePeak limitations and known issues?
Memory size: Because of SafePeak 64 bit architecture, SafePeak memory size is limited only to the maximum available memory from the Windows OS. In case no enough memory exists on the machine, SafePeak Cache Module will automatically evict old items from cache.

Cache data type: SafePeak caching is focused on caching only of repetitive Queries-Results. SafePeak does not cache raw data of tables for example. Thus each of the following queries are saved in cached independently:
1) "select * from customers" ;
2) "select * from customers where id=1";

Protocol limitations:
* SafePeak caches OLTP/Operational databases. OLAP MDX language and databases are not supported.
* Only TCP-IP is supported (no Named Pipes).
* Http Endpoints are not supported. 
SQL Server 2014 support is still in development-testing mode, with known issues.

Known issues (open support tickets): 
* JTDS driver does not work with SafePeak. Use JDBC driver instead: http://www.microsoft.com/en-us/download/details.aspx?id=21599 
* LINQ TO SQL (Msft ORM) requires SQL Server Named Pipes protocol, which is currently unsupported.
Entity Framework (another Msft ORM) is supported.

* Stored Procedures with parameters of Table Variable Parameters (TVPs using User Defined Table Types) - caching of them is unsupported.
* SharePoint 2013 requires support for Table Variable Parameters, which are currently unsupported.
SharePoint 2010 or 2007 are supported with special license that auto-configures SafePeak for optimal performance. Ask for SharePoint activated license file.

12. How does SafePeak handle information security?

All authentication is done by the database server, both for SQL server authentication, as well as NTLM and Kerberos. When the application opens a connection to the database, SafePeak acts as a proxy and leaves all the decisions to the database.

Once a connection is established, the queries that are stored and returned from cache are checked not only for their query key, but also the schema name. This is done due to the ability of different logins to access the same tables but with different data, because each login can be fitted to a different schema name with similar table names. SafePeak automatically fits the cached result per each query, its parameters (or bind variables) and the schema correlated to the current login connection.

The results are stored only in RAM memory - no physical (disk) copy exists.

Inside the data center, SafePeak's server can be protected by the firewall(s) and methods that are applied to your database.

13. Can SafePeak cache and work with Stored Procedures?
Yes. SafePeak learns the relational logic of your stored procedures and creates an understanding of each relational logic: Which stored procedures perform reads and to which tables (thus the cache should monitor changes in those tables; Which stored procedures perform also writes and to which tables (thus causing eviction of cache on their arrival to SafePeak). 

14. What happens if SafePeak does not understand the sql of a query or a stored procedure?

SafePeak is designed to be safe and ready for a case it may not understand some of very new or very old syntax (althogh we try cover everything). In such cases SafePeak will take a safe approach: deliver safe and correct information, even if performance will be reduced. This logic causes SafePeak not only to send all such queries to the database, but also sometimes evict all or major parts of SafePeak cache - just to make sure all data is correct. 

This happens many times in the initial phase of the installation, when sometimes some of the stored procedures (usually dynamic) code was not 100% understood. In such cases calls of these procedures may trigger a full cache eviction and even quick cache-lock during a re-scan of the database schema just to verify it was not a DDL (dashboard will show  "Cache=Disable(DDL)").

But do not worry, this is what the SafePeak dashboard is for. You can (and need) to configure those exceptions via the SafePeak dashboard utility. The configuration idea is simple: tell safepeak configuration if the procedure (usually specific lines are marked) contains a "read from" or a "write to" a Table/View/Function/Proc. 
This configration is performed in the Dynamic Objects section.

15. What are the configuration steps to get the best results?

1) Install SafePeal; Create SQL Instance (a bridge to your real SQL Instance); Connect your app (point IP to SafePeak). Start working with your app, generating traffic and letting SafePeak learn it.

2) Configure all exceptions:
  (a) Verify no Dynamic Objects cause cache full evictions and locks.
  (b) Activate caching for SQL Patterns that are marked for manual activaction.

The last step is a bit tricky for a first time user, so if you evaluate SafePeak for the first time - utilize the training and assistance support (its free!).

BEGIN FREE TRIAL

Contact Sales

Call: XXX-XXX-XXXX
Request more info
 

Studio Yael
     
Webnology - בניית אתרים