Table of Contents
Valentina Server Features
This page describes general features for any kind of Valentina Server. At the end of the page you can see some links to the pages with features specific to a Valentina Server edition.
- Linux, Mac OS, Windows
- Any other via REST API.
Few Servers in One - Valentina Server in fact is:
- Valentina Report Server, which can use data from MS SQL, mySQL, Oracle, PostgreSQL, SQLite, Valentina databases and ODBC datasource.
Interfaces - you can access Valentina Server using native libs/plugins in a lots of API/IDE:
- Objective-C (OS X)
- Objective-C (iOS)
- LiveCode (Revolution)
- Ruby on Rails
- Xojo (REALbasic)
- Many others (e.g. Python), using REST API.
Note, that Valentina Server can manage different clients from different platforms (mac/win/lin) and different programming languages and with different connection encodings simultaneously.
Easy to Use
Easy Installation - Valentina Server is distributed with an installer for each OS, making installation as easy as few mouse clicks. After installation you get running Valentina Server instance. [read more...]
Easy Configuration - just change parameters of ini-file of Valentina Server. [read more...]
Auto-IP Configuration (Bonjour) - Valentina Server registers self in the Apple Bonjour Service if it is present 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 be easy task eliminating the need in expensive consultants and database administrators.
Easy Move of Database and Reports – if you have files of some Valentina DB, you can put it under VServer control as easy, as drop it into the “databases” folder and register it. No need to dump DB into SQL dump files and then load them.
Valentina Studio - this advanced application allows you to connect to the Valentina Server and achieve whatever you want 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 Valentina Server using SNMP protocol.
Access Control List - ACL. You can enable/disable IP or groups of IPs to the whole VServer or per each registered database.
32/64 bit Versions - 64 bit versions (starting with 4.5 release) allow to manage RAM bigger of 2 GB.
Speed - while each database vendor mentions 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.
Multi-threaded Design - Valentina Server incorporates the most advanced and effective threading model based on the “pool of threads”. In contrast with “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 Valentina 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 business logic on the server side and reduce network traffic.
Stored Procedures - Valentina Server supports stored procedures according to SQL standard with powerful extensions. This allows you to keep business logic on the server and reduce network traffic. You can use:
- Flow Control statements: IF, CASE.
- Cursor statements: DECLARE, OPEN, FETCH, CLOSE.
- Variables: local-scope, connection-scope and system-scope.
- Mapping fields of single-row-SELECT into variables.
- EXECUTE a query produced by Stored Procedure → meta-programming.
- EXECUTE a query with binding of variables.
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 which 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 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.
Disconnect on Client Idle - Valentina Server can disconnect a client with an 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 the 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 reduces 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.
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 - allows you to 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 to see log messages in the live mode. It is very useful during the development.
Warning Log File - log file that collects information about not fatal errors during the work of engine. [read more...]
Tune Log File - optional log file that collects information about profiling of SQL commands which 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...]