Table of Contents
Valentina Server Features
This page describes features general for any kind of Valentina Server. At the end of page you can see links to pages with features specific to Valentina Server editions.
Easy to Use
Easy Installation - Valentina Server is distributed with an installer for Mac OS X and Windows (2000, XP, Vista), making installation as easy as few mouse click. [read more...]
Easy Configuration - with the help of ini-file you can change parameters and configuration of any Valentina Server. [read more...]
Auto-IP Configuration (Bonjour) - Valentina Server registers self in the Bonjour Service if it presents on the computer. After this any VClient can do auto-configuration of IP. [read more...]
Low Cost-of-Ownership - easy to use GUI tools, overall intelligent design of Valentina Server makes its administration to be easy task eliminating the need in expensive consultants and database administrators.
Power
32/64 bit Versions - 64 bit versions (starting with 4.5 release) allow to manage RAM bigger of 2 GB. This opens way to really big dbs, as well as improve performance of VSERVER with many connected users thanks again to utilization of more RAM of computer instead of virtual memory disk swaps.
Speed - while each database vendor mention how fast its product is, Valentina Server provides a really ground-breaking performance, beating most of mature and popular databases servers (MSSQL, Oracle, Access, mySQL, Postgre, FileMaker, 4D, …) in at least a 3-5 times and usually up to 10-100+ times depending on a query, db structure and data. [see Testimonials...] [see Benches...]
Multi-threaded Design - Valentina Server incorporates the most advanced and effective threading model based on the “pool of threads”. In contrast to “thread per connect” model it provides a better performance when a lots of connections present.
Event Scheduler - you can create EVENTS scheduled to be executed once or periodically. An event can be any SQL command, e.g. “BACKUP DATABASE” or stored procedure. [read more...] ]]
Hot backup - you can scheduler backups of database(es) using event Scheduler of Valentina Server. [read more...]
Triggers - Valentina SQL has triggers. This allows you to develop logic and reduce network traffic.
Stored Procedures - Valentina Server supports stored procedures according to SQL standard with some extensions. This allows you to keep business logic on the server and reduce network traffic. [read more...]
Network Protocol
Packet Based Protocol - in contrast to many DBMS products, VServer uses a packet based protocol. This design allows to solve few tasks in the elegant way, such as compression of packets, versioning of packets, auto-generation of sources.
Versioning Of Commands - Valentina protocol signs each command by a version. This allows to have very flexible mechanism that allows to newer/older clients to work with newer/older servers.
Compression of Packets - VServer/VClient are able to do auto-compression of any packet that is greater of some size (1Kb). This significantly increases performance because affects many commonly used operations, e.g. client-side cursors.
Compression of Pictures - although the Valentina protocol includes compression of packets, it can achieve even better results for pictures because each VClient is powered by algorithms to compress/uncompress OS bitmaps (DIB/BMP/PICT) into JPG/TIFF formats.
Connection
Disconnect on Client Idle - Valentina Server can disconnect a client that has idle longer than the timeout specified in the ini-file.
Pool Of Connections - if you have Valentina Server with limited connection number, e.g. 5, then 6th connection will not be refused immediately by vserver, but will wait some time (configured) in the pool of connections. This feature makes VServer more responsive and reduce network traffic.
Secure Connections (SSL) - to enable SSL, just specify in the ini file the SSL port and provide the two keys that Valentina Server will use. [read more...]
Any Encoding of Connection - while not each language/IDE supports UTF16 directly, you will have UTF8 or ANSI strings. With Valentina Server this is not a problem since it can handle a client connection in any encoding.
Any Date Format - each connected client can specify own date time format for work.
Any Language of Errors - each connected client may specify own language for errors returned by Valentina Server.
Easy Administration
Valentina Studio - this advanced application allows you to connect to Valentina Server and achieve whatever you need in an easy to use, visual paradigm: browse/modify schema, browse/modify records, execute SQL queries, administrate users, see server info, change server parameters and more.
SNMP Support - You can monitor a Valentina Server using SNMP protocol.
Development Tools
Interfaces - you can access Valentina Server using any API/IDE that Valentina supports:
- C/C++
- C#
- Objective-C (OS X)
- Objective-C (iOS)
- COM
- Director
- .NET
- ODBC
- PHP
- REALbasic
- Revolution
- Ruby on Rails
Note, that a Valentina Server can manage different clients from different platforms (mac/win/lin) and different programming languages and with different connection encodings simultaneously.
Diagnostic Tools
Client-side Log File - all Valentina ADKs can produce log files during your calls to ADK methods. You can see as detailed output as parameters, return values and error codes.
Server-side Log File - allow you monitor execution of VServer. You can assign in the ini-file VerboseLevel of log file to control how many output will be generated.
Live Mode - you can run Valentina Server from terminal (MAC) or command window (WIN) to be able see log messages in the live mode. Very useful during development.
Warning Log File - log file that collects information about not fatal errors during work of engine. [read more...]
Tune Log File - optional log file that collects information about profiling of SQL commands that allows you to see a bottleneck in your SQL queries and improve them. [read more...]
PRINT expr – you can use this SQL command to perform debugging printing of any expression from e.g. a stored procedure. [read more...]
SQL Cursors
Client-side Cursors - for queries that return small result you can use client-side cursors (read-only) that copy found data into memory of client computer and free server.
Server-side Cursors - allow you to create the result of query on the server side without moving of Megabytes of data via network into the client RAM. Multiple cursors can be opened and used simultaneously by each database client.
Stored Procedures Cursors - these cursors are of kind server-side cursors, but they are managed totally with the help of Valentina SQL inside of a Stored Procedure text, without any relay on API.
See Also
- Valentina Features – Read more about features of Valentina Kernel that present in the Valentina Server.