BLOGS

11

warning: file_get_contents(http://www.telize.com/geoip/54.224.203.224) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/www.4d.com/docs/includes/common.inc(1762) : eval()'d code on line 4.

4D Server v11 SQL Scalability test

How many simultaneous, active clients can 4D Server handle? This laboratory scalability test examines the limits of a real application on 4D Server v11 SQL.

 

Since the recent announcements about scalability in 4D v11 SQL Release 3, especially in regards to those helped by improved management of multi-processor operations, many people have had questions about the number of simultaneous clients that can connect to 4D Server.

 

4D v11 SQL in a Real Application

4D v11 SQL performance tests under real-world conditions.

 

Is the whole greater than the sum of its parts?

 

This is the question we had in mind when creating some of the new algorithms in 4D v11 SQL. Although every command has received individual attention, and while we know how to assess their improvements through unit tests, it’s the perception of the user that determines the total improvement in performance.

 

Data Client

4D Client is optimized to reduce network traffic. As of 4D v11 SQL, only modified data is sent across the network.

SQL Server

Query any SQL database via a native ODBC Driver using 4D's integrated SQL server.

SQL Client

Integrate the power of SQL with 4D's application building tools. The SQL Client lets you have the best of both worlds in a client application.

Take advantage of the SQL engine
The native SQL engine in 4D allows developers to implement industry-standard SQL within their 4D applications. Learning the 4D language is no longer a requirement to building an application with 4D.


Manage all of your databases
4D natively supports all SQL 92 standards. This allows you to work with both database records (DDL) as well as the structure (DML).

Query by Formula - Standalone

Speed improvements in Query By Formula under 4D v11 SQL.

In 4D 2004, a formula is calculated for each record sequentially.

4D v11 SQL analises formulas beforehand to optimise queries. The syntactic analyzer can identify parts of the formula that can be optimised to reduce the sequential parts of the query.

Our test case involves the georeferencing (location by degree of latitude and degree of longitude) of customers. We’d like to find the customers who are within 10km of a particular point. Say we have a function, "Distance," that returns the number of kilometres (as the crow flies) between two points.

Query by Formula - Client/Server

The speed of Query By Formula execution on the server side under 4D v11 SQL.

In 4D 2004, a Query by Formula is executed on the client end. This means that every record must pass over the network to have a formula applied, and to determine if it will be part of the selection.

When the logic of the request allows it, 4D v11 SQL will perform queries directly on the server to avoid extraneous loads on the network. Only the selection is returned to the client end, as with a classic query.

Let’s go back to the formula for measuring distance used in the test QUERY BY FORMULA (standalone).

 

Index Explorer

View every index in your application at a glance.

Instantly view all indexes for maximum productivity
This explorer lets you see all your database indexes in one display. This is a useful maintenance tool that will help you increase your database performances and get the best from 4D.

 

Index List

 

Resource Explorer

Manage your image and text resources for localization. Add, and distribute your resources to all your clients - live - without restarting the server.

The resource explorer allows you to manage from any node - client or server - resources whose implementation previously required the application be stopped. Whether they're files from your image library or, for example, XLIFF files for localisation, you can simply manage all of your resources by dragging and dropping them on the resource explorer.

  

Compiled Components

Build code libraries or applications and make them reusable and integrable into other developments by simple drag and drop. Compiling the component makes it faster and lets you protect your source code.