Paradigma Labs Benchmarking Valentina Report Server: 4-12 Million Reports a Day on a MacMini/i7

Just how many reports can you generate in a day with Valentina Server?  Paradigma Labs ran a simple benchmark test of Valentina Server working as Report Server.

Although you can utilize Valentina Server as a powerful Valentina DB based database server, you can also utilize it as a server solution for generating business reports – as html, PDF documents or images – with grids, barcodes, charts, graphs, labels and other visual elements that make up any business report. Using Valentina Server as your Report Server does not limit you to Valentina DB as a data source – you can freely use it with MySQL (including Maria DB) and PostgreSQL.

We tested generation of both big (900+ pages) and small (1-page) PDF based reports, using the current Valentina Server 5.4.2 as well as a version of Valentina Server currently in beta that maximizes multiple cores of your CPU.

The results were more than impressive.

4-12 million 1-page reports generated in a day on MacMini/i7

Read details on  Valentina WIKI.

Valentina Studio 5.4 Released; Valentina Server and ADKs Updated

Paradigma Software announces the release of Valentina Studio 5.4, the powerful cross platform database management and enterprise reports design solution for Linux, Mac OS X and Windows. This new release includes over 50 new features, fixes and improvements in both the free Valentina Studio and the not-free Valentina Studio Pro. Continue reading Valentina Studio 5.4 Released; Valentina Server and ADKs Updated

New Index Optimization Makes v5.4 up to x3 times faster of v5.3

Description of Bench

Prepare Steps:

  • We have table T1 and field f1 of ULONG type: CREATE TABLE T1(f1 ULONG).
  • We insert N records with values [1 .. N].

Benches:

  • FORWARD – do N searches of values 1, 2, 3, … N
  • REVERSE – do N searches of values N, N-1, … 1
  • 2 Direction – do N searches of random values 1, N, 2, N-1, 3, N-2, … N/2

Each search returns 1 found record.

 

Bench Hardware

MacBook Pro 2.2 GHz Intel Core i7 (Early 2011),
RAM 8GB 1333 MHz,
HDD 500GB 7200 rpm, about 45-50 Mb/sec.

 

Bench using v5.3

=========================================================
Count = 10 000 000 Opt1 = 1 Opt2 = 0
=========================================================

ADD inCount Records = 5 450 ms = 5.45 sec
Build Index f1 = 1 877 ms

Count searches FORWARD = 30 310 ms
Count searches REVERSE   = 28 821 ms
Count searches 2 directions = 85 018 ms

 

Bench using v5.4

=========================================================
Count = 10 000 000 Opt1 = 0 Opt2 = 0
No optimizations. We see pure speed of BinarySearch.
=========================================================

ADD inCount Records = 4 543 ms
Build Index f1 = 1 922 ms

Count searches FORWARD = 124220 ms
Count searches REVERSE = 128918 ms
Count searches 2 directions = 134173 ms

 

=========================================================
Count = 10000000 Opt1 = 1 Opt2 = 0

Enabled Opt1, i.e. Optimisation using the current page.
We see that forward and reverse sequental searches becomes x6 times better.
Random search also becomes better almost x2 times. NOT CLEAR WHY.
TODO: find explain why using debug/profile. Set breakpoint and see when it works.
=========================================================

ADD inCount Records = 4 458 ms
Build Index f1 = 1 823 ms

Count searches FORWARD = 19 849 ms
Count searches REVERSE = 20 848 ms
Count searches 2 directions = 74 005 ms

 

=========================================================
Count = 10000000 Opt1 = 0 Opt2 = 1

This combination have no many sense. Just for interest.
We see that times for all 3 benches becomes good,
but forward and reverse are not so fast as with Opt1.
=========================================================

ADD inCount Records = 4508 ms
Build Index f1 = 1715 ms

Count searches FORWARD = 23 951 ms
Count searches REVERSE = 24 875 ms
Count searches 2 directions = 28 200 ms

 

=========================================================
Count = 10000000 Opt1 = 1 Opt2 = 1

ALL optimizations ENABLED.
We see that again forward and reverse have the best times AND
RANDOM search becomes about x3 times better comparing to Opt1=1 only case.
=========================================================

ADD inCount Records = 4 373 ms
Build Index f1 = 1 729 ms

Count searches FORWARD = 20 950 ms
Count searches REVERSE = 19 002 ms
Count searches 2 directions = 24 981 ms

 

[ANN] Valentina 5.1 Released

Have gone month after 5.0 release, and we ship one more release – 5.1.

New Features

This release adds three major features:

  • [VKernel][New] SQL command ‘MAIL’ on Valentina kernel level
  • [VStudio][New] SSH connections in Valentina Studio, works from reports also.
  • [VStudio][New] Data Transfer Wizard.

New FREE Feature in VStudio

We make one more feature to be FREE in Valentina Studio!

You can now create and SAVE diagrams  in Valentina Studio (free) 5.1.  Up to now you could only create them but not save, because this was PRO feature.

Besides, you can do reverse engineering – i.e. add existed database objects to diagram. Note, that Navicat Modeler from the Mac App Store, asks 70$ only for this feature.

Forward-engineering remains as feature of Valentina Studio Pro.

Fixes

Some fixes in ODBC code, to resolve issues in work with ODBC driver of Pervasive database.

Details you can read in Release Notes 5.1

 

[VStudio][Change] Free VStudio 5.1 will be able to save diagrams and do reverse engineering.

In 5.0 Diagrams was a PRO feature, so was available in free version only in the demo mode: you could create and edit diagram, but you was not able save it for future use.

Working on submitting of Valentina Studio into Apple’s App Store, we was asked to remove from free version any such demo-features. We have decide instead remove it completely, open half of its functionality to free edition of VStudio. In 5.1 build of Valentina Studio you will be able

  • create diagrams and save them into your db.
  • add new schema objects (tables, fields, views, links)
  • add existed schema objects of your database (reverse-engineering).

Disabled will be just forward-engineering, i.e. generation of SQL scripts to produce new schema objects and change existed.

Interesting to note, that a competing product in AppStore, asks in-app purchase 70$ for reverse-engineering. Valentina Studio 5.1 will give this for free. Enjoy 🙂

The New VDN 5: Licensing, and Your Questions

On February 14, 2013, Paradigma Software celebrated 15 years of Valentina with the release of Valentina 5 generation of products. With it came a reconfiguration of Valentina Developer Network – one that we believe gives you many more options for satisfying your customers. If you have questions about VDN, please reply to this, and Ill do updates to answer them. Continue reading The New VDN 5: Licensing, and Your Questions

Now we have v4 and v5 WIKIs

Now we have two separate wikis to keep docs of v4 and v5:

Valentina Studio v5 will to v5 section, vstudio v6 will point to v5 section, and so on.
Old url http://www.valentina-db.com/dokuwiki  will point to the docs of the current official release.

[NEW] Youtube channel for Valentina (DB + REPORTS)

We have setup channel on Youtube for Valentina related movies http://www.youtube.com/user/paradigmasoftware

First of all here was moved existed video-tutorials about Valentina reports, and was added some new about Valentina Studio. We going now extend this channel a lots in the nearest time.

Into Valentina WIKI for v5 we have installed also plugin to show movies from youtube. So we will integrate movies into docs about Valentina products.

Join speed improved

After some benches we have discover that loop on small joins (when only one record on the left and few on the right) is not fast enough.

We have two major algorithms internally and we have discover that the first takes only 50 seconds on 10000 loops, while the second takes hundreds of seconds…So problem presents in the second algorithm.

Improved.

Now the second algorithm takes 120 second. And we can add yet choice condition to choose the first for such case of small joins…

I think we will be able to improve the second alg yet to 70-80 sec. And may be with more complex changes it is possible to speed both after that …