VistaDB Database Engine
VistaDB: Easy-to-Deploy, SQL-Compatible, Pure .NET
The VistaDB Engine is a small, fully managed assembly you deploy with your applications that delivers a full database in a serverless design. It efficiently processes SQL commands and performs low-level reading and writing of data in VistaDB databases with everything stored as a single file for easy distribution of data.
Deploying VistaDB with your application is simple - just add a reference to the DLL and let it be copied out with your other dependencies. No configuration or elevated privileges are required on the target system. There's no licensing complexity either - Every VistaDB purchase includes unlimited royalty-free distribution.
Full Featured Embedded Data Storage
Before anything else, VistaDB is designed as a safe, secure place to keep your essential application data.
- Multi-User, Multi-Threaded - A single VistaDB database supports simultaneous read & write transactions from multiple processes simultaneously. Multiple connection modes are supported to let VistaDB optimize performance for your scenario.
- FIPS-Compliant AES Encryption - Encrypt both data and code in VistaDB where only your application knows the decryption key. Use this to safeguard data at rest and keep control over valuable data sets.
- Row and Table Locking - Safely update and insert data with locks ensuring that changes are immediately visible to other connections without the delay of eventual consistency models.
- Built-in Diagnostics and Repair - Record runtime performance and tracing information to your own logging system to help support VistaDB in the field along with built-in features for optimizing databases and repairing corruption caused by storage problems or crashes.
Powerful SQL Relational Database
VistaDB is a full fledged Relational Database Management System (RDBMS) including:
- SQL Tables and Types - Data is stored as rows in individual tables using SQL types common with Microsoft SQL Server. This well proven model is widely used and easy to design applications for. For additional details see VistaDB Data Types
- Primary and Foreign Keys - Ensure data integrity by establishing database keys and relationships (foreign keys) between tables. VistaDB will guarantee that any attempt to manipulate the data will conform to the rules you define.
- Indexes - Optimize the performance of common database queries with indexes that pre-calculate the fastest way to look up data for your workload. Unique indexes ensure that additional data constraints are preserved
It's like Microsoft SQL Server, but Small Enough for your Phone
VistaDB is highly compatible with SQL Server data types and supports T-SQL syntax so developers can easily re-use existing code developed for SQL Server with minimal changes. This new level of compatibility lets developers move between SQL Server and VistaDB with ease.
VistaDB includes support for:
- Stored Procedures & User Defined Functions (UDF) - Unique to VistaDB, you can port your stored procedures And User Defined Functions to VistaDB and ensure ongoing compatibility with the same code for both SQL Server and VistaDB.
- Managed CLR Procedures and CLR Triggers - CLR Procedures & CLR Triggers developed for SQL Server can be easily modified and cross-compiled for both VistaDB and SQL Server. CLR Procs are more powerful than traditional stored procedures since your code has access to the entire .NET ecosystem (.NET Framework, .NET Core, .NET 5).
- T-SQL SELECT, INSERT, UPDATE, DELETE - Use the syntax you're familiar with from years of working with Microsoft SQL Server to query and manipulate data in VistaDB.
- Views - VistaDB provides support for updatable Views. You can write SQL statements to create virtual views of data from one or more tables.
- Transactions - VistaDB supports the T-SQL syntax for starting, committing, and aborting transactions.
Built for .NET
To maximize integration with .NET, VistaDB was designed and developed from scratch using C#. The core database engine, the T-SQL compatible query processor, the ADO.NET Data Provider, the Direct Data Access objects and the data management tools are all developed in fully managed and typesafe C#.
Full support for Xamarin (iOS, Android, and Mac)
Because VistaDB is 100% managed code with no native calls bypassing the .NET Runtime it also includes builds for cross-platform .NET development using Xamarin. While the VistaDB tools are designed for Windows exclusively the VistaDB Engine and other libraries are ready for your cross-platform project!
Going Deeper
Additional details about the VistaDB engine can be found in our product documentation: