Valentina DB ADK lets you bundle or embed the ultra-fast ValentinaDB and DuckDB systems with your application.
Valentina Database ADK for Xojo
Valentina Database ADK For Xojo lets you embed a powerful database system in your Xojo application. With it you get:
- Unlimited, royalty free deployment for all your applications built with Xojo on Windows, Linux and macOS
- Embed both the ultra-fast ValentinaDB database engine and a new OLAP focused database DuckDB
- Free VCLIENT component can communicate with Valentina Server
- Easily move your project up to Valentina Server or build powerful network solutions with both local and server based storage
- 12 months of free updates are included with your license
- Available for all major operating systems and development environments
Why Choose ValentinaDB?
Deliver a solution that dramatically enhances the value to your application. ValentinaDB can do it. After you port to ValentinaDB, you can step by step, optimize the Valentina way. The more you optimize using the higher level native Valentina API, your code becomes easier to read and easier to maintain. ValentinaDB also delivers blazing speed in working with millions of records. What can take you hours with other local database solutions, ValentinaDB can deliver in minutes, if not seconds! Imagine building custom apps that can deliver complex data scenarios during the course of a meeting, rather than having to resort to "Sorry, I'll have to send you that later today."
- The Database Model You Want.: Advanced object-relational data model, stick with SQL, or mix them; disk based, and temporary fast in-memory databases; encryption and more
- Ultra-fast query execution: ValentinaDB is designed for high performance, especially with complex queries, which can lead to significantly faster results compared to traditional database platforms
- Advanced Cache System: ValentinaDB utilizes an advanced cache system to further enhance performance
- Always Getting Faster Indexing: Indexes on string/varchar and other fields are iteratively faster with over two decades of improvements
- Valentina Abstraction Links: Allows for efficient handling of hierarchical data and improved recursive queries
- Special Binary Data Handling: Valentina provides three types for binary data: FixedBinary, VarBinary, and BLOBs. BLOBs can be compressed to save significant space
- Fast Pointer Types: ObjectPtr types, stemming from the network model, offer faster join performance and use less disk space than traditional foreign key links
- Built-in Unique IDs: Every Valentina table includes a RecID field for automatic unique identification within table scope, and OID field for database-wide unique IDs (aligned with the ODMG standard). These fields use zero disk space
- Key-Value Objects Options: Valentina DB allows the creation and storage of Key-Value data stores within the database, integrated into the model
- Built in diagnostics. Supports warning and database tuning logging so you can optimize performance
Why Choose DuckDB?
DuckDB is an in-process SQL OLAP database management system. Simple, feature-rich, and open source. The DuckDB engine is built right into Valentina Database ADK for Xojo. With DuckDB, you get:
- Analytical Queries (OLAP): DuckDB is built for Online Analytical Processing (OLAP)
- Rich SQL Support: DuckDB supports a comprehensive SQL dialect, including various features like window functions and joins
- Columnar Storage: Its columnar architecture optimizes for analytical tasks through better compression and vectorized operations
- Vectorized Execution: DuckDB processes data in batches to improve query performance
- Data Format Compatibility: DuckDB can interact with popular file formats like CSV, Parquet, and JSON
- Extensibility: Users can extend DuckDB with new features like data types and functions
How Valentina ADKs Work
![]() |
Valentina ADKs are a bundle of components that include shared libraries, the Valentina Client and a Local Runtime. The Valentina Client portion is licensed as a part of Valentina ADKs products (ValentinaDB ADK for Xojo, Valentina Reports ADK for Xojo) and Valentina Server. The Local Runtime component is a part of the Valentina ADK products for working with local storage. |
Improvements Since Omegabundle 2024
- 14.5 [DuckDB ]DuckDB now supported as a native file format for Valentina Database ADK for Xojo
- 14.5 [ValentinaDB] UTC SQL-functions have optional second param - TimeZone (String)
- 14.6 [Imp][DuckDB] DuckDB library version 1.1.2
- 14.7.1 [New] Non-SQL Stored Procedures (i.e. Python/JavaScript) now can return a Cursor
- 15 [New][SQL] Commands to back up and restore DuckDB
- 15 [New][SQL] Commands to work with PREPARED STATEMENTS in SQL Stored Procedures
- 15.0.1 [New][SQL] SQL function 'LIST_SORT ( String )'
- 15.1 [Imp] MAIL command of Valentina DB [Server] should Support CC/BCC
- 15.1 [Imp][DuckDB] Added the ability to create a database with the newest storage format
- 15.1 [Imp][DuckDB] Added StorageVersion and BlockSize properties to I_DuckDBDatabase interface. These properties are applied in the Create method for a new database file
- 15.1.1 [Imp][DuckDB] DuckDB library version 1.2.1
- 15.1.2 [Imp][DuckDB] Create a DuckDB database with the default storage version if it is not specified
- 15.1.2 [Imp][DuckDB] Use Parquet V2 for DuckDB backup
- 15.3.2 [Imp] [ValentinaDB] Improved speed of VarChar Diagnose. The bigger DB, the more speedup
- 15.3.5 [Imp] [ValentinaDB] Throw ERR_METHOD_NOT_FOUND instead of ERR_METHOD_BAD_NAME in case of absent SQL Function
- 15.4 [New] Add “AppName” property to the VClientInfo class. You can use this with Valentina Server to identify the application name in the server logs
- 15.4 [New] [ValentinaDB] Added standard SQL aggregate functions: VAR_POP(), VAR_SAMP(), COVAR_POP(), COVAR_SAMP()
Deployment
Deploy your Xojo applications on Windows (X86 & ARM), MacOS and Linux (X86 & ARM).