Get rid of rigid row and column structures when it comes to storing and
retrieving complex data. Release the full power of a consistently
object-oriented software application design. Non-square data management
with Versant's object database technology – rapid development, high
performance and massive scalability.
FastObjects .NET 10.0 fully conforms to the Microsoft.NET 2.0 framework. Tightly integrated with Visual Studio 2005, it offers a developer-friendly, object-oriented alternative to a relational database for .NET persistence.
FastObjects .NET delivers both transparent persistence and state management to the .NET developer. With FastObjects .NET, a developer can stop worrying about data, and instead focus on the problem domain being addressed by the application.
FastObjects .NET works with the .NET Intermediate Language (IL), therefore it supports applications written in C#, Managed C++, J#, VB.NET or any other IL-capable programming language. Similar to ADO.NET, FastObjects .NET works in either a connected or disconnected mode. It does not place any restrictions on your object model, and fully supports the concepts of inheritance, interfaces and .NET Framework collections. And finally, FastObjects .NET is tightly integrated into Visual Studio .NET, thereby allowing automatic updates to your application's database upon each new compilation of your code.
FastObjects .NET is a high performance, transactional database that is configurable to meet your deployment needs. If you require a scalable, multi-user database server, FastObjects .NET offers relevant options such as multi-processor support, encryption, replication, and fail-over/reconnect. If you require a truly embedded database, FastObjects .NET offers features specifically designed for mass deployment such as object/schema versioning and zero maintenance.
Irrespective of your deployment requirements, FastObjects .NET ensures data consistency and integrity through the use of ACID transactions, concurrency controls and administrative functionality. In addition, because FastObjects .NET uses your object model as its database schema, it delivers high performance through easy navigation and a robust query engine.
FastObjects .NET consists of a core database server system that provides the essential database functionality, and a set of client-side application libraries.
With FastObjects .NET, the
database schema and all access code are generated directly from the
object model. This allows for a direct mapping from objects and their
relationships to the database representation, thereby eliminating any
need for schema mapping code.
The FastObjects .NET Server listens
for and maintains client connections over a collection of TCP/IP
sockets. Designed for two-tier and three-tier applications, the Server
manages all of the transactions running against the database by
providing concurrency control through a sophisticated object level
locking. Objects are stored on the FastObjects .NET Server's local file
system for fast, efficient storage. Internal caching is used to improve
the Server's runtime performance.
FastObjects .NET Runtime Architecture
FastObjects .NET is designed to be transparently embedded into an application, and to provide the application with the ability to manage complex data without added deployment difficulties. The end user of the application has no reason to be aware of the presence of the FastObjects .NET database. The FastObjects .NET runtime system simply needs to be linked to the application, thereby creating a complete application without a complex installation process. The FastObjects .NET administration API gives the developer the ability to fully automate administrative procedures normally done by a DBA, such as online database backup.
FastObjects .NET is a persistence framework that offers transparent persistence through post-compilation code enhancement. As such, adding persistence functionality is non-intrusive to the object model. Custom attributes are used to assign attributes to classes. With custom attributes classes can be declared as persistent, and for example indexes can be defined for class fields. With FastObjects, classes do not have to inherit from a specific base class or implement a specific interface to be persistent. FastObjects .NET does not put any restrictions on the object model and supports inheritance, interfaces and .NET Framework collections.
Post-compilation code enhancement also allows FastObjects .NET to handle all state management. Objects are loaded from the database transparently and our internal change tracking ensures that only changed and new objects are written to the database.
FastObjects .NET is designed for large-scale concurrent access to the databases controlled by the database Server. FastObjects .NET offers both optimistic and pessimistic locking strategies, both of which guarantee object consistency when working with multiple users or processes.
For multithreaded access to the database, FastObjects .NET allows the developer to use multiple transactions with different threads, thereby allowing each application thread to use its own transaction. A flexible object level locking strategy ensures that objects are not modified by multiple transactions at the same time, thereby ensuring object consistency.
FastObjects .NET fully supports the object oriented paradigm for interfaces, inheritance, polymorphism and encapsulation for objects and sets of objects. The concept of code reuse is finally delivered as envisioned.
For example, inheritance is one of the most complex and powerful features of object-oriented languages. It is difficult to do an effective object oriented design without inheritance. FastObjects .NET understands a class' inheritance hierarchy, allowing for efficient polymorphic application design that is inclusive of the database. With FastObjects .NET, data models of all levels of complexity are possible. There is no need to "dumb down" an application's design to fit a non-object-oriented database.
FastObjects .NET provides the developer with extreme efficiency in making objects of user-defined classes persistent. With FastObjects .NET, the in-memory representation of an object is transferred as is to a disk representation, in which memory references are converted into internal object identifiers. This mechanism allows developers to store complex object relationships in an easy, simple manner. The complicated and costly object-to-relational mapping problems inherent in working with a relational database are eliminated in their entirety.
For .NET applications, the FastObjects .NET intermediate language code enhancer automatically extracts all needed schema information from the declarations of your classes. Special class/member attribute declarations in the source code of classes indicate if a class is persistence-capable and define its various artifacts of persistence. The FastObjects .NET enhancer processes the .NET assembly files and modifies the intermediate language code to automatically support persistence.
FastObjects .NET intermediate language code enhancer and schema generator
Objects are stored with references so the application can quickly, efficiently retrieve and traverse the object graph. Direct navigation from object to object gives you the fastest possible access to your data. References are automatically translated to database identities when an object is stored. On object loading, the object ID is used to quickly locate the object in the database. FastObjects .NET database performance is further enhanced by an indexing engine that gives the developer full control over the indexes generated for each class in the schema. Indexes have long been used in the relational database industry to speed application response times and organize data presentation. FastObjects .NET uses indexing technology similar to that found in relational database systems, but instead of pointing to a row in a table, FastObjects .NET index entries point to a complete object.
Closely related to the indexing system is the sophisticated query engine found in FastObjects .NET. The query engine automatically takes advantage of the indexes defined for the class, improving your application's performance. To execute queries against the FastObjects .NET database, you use the industry-standard Object Query Language (OQL).
FastObjects .NET fully supports all traditional data integrity features such as transactions, logging, and locking. Transactions ensure atomic execution of an operation, meaning all or nothing of the transaction is written to stable storage. This is achieved via a log file, which means that when a transaction is performed, the whole change set of the transaction is first written to the log file and then to the database file. If the logging fails, nothing is written to the database. If the database write fails due to an extraordinary event such as a system crash, FastObjects .NET repeats the writing to the database file from the log file (i.e., redo log).
In addition, every object written to the FastObjects .NET database is encoded with a checksum to protect against media failures. Should a disk block fail, any objects affected by the failure are caught by their checksum ensuring your application never uses faulty data.
FastObjects .NET gives the developer the choice of pessimistic or optimistic locking, depending on the situation in the application at any given time. Modern multi-user architectures increasingly work with a combination of optimistic and pessimistic locking, resulting in higher performance and optimum concurrency.
FastObjects .NET is designed to be an embedded, self-contained system that is deployed without the need for end user interaction. The application's end user is unaware of the database. FastObjects .NET databases are just files that are packaged and deployed with your .NET application. Once deployed, a FastObjects .NET database will work indefinitely without the external administration since it has integrated intelligence for free-space storage management, index maintenance, schema versioning, on-the-fly object versioning, and much more.
The schema evolution features of FastObjects .NET protect the developer from writing complicated update code when the application evolves. Subsequent application releases greatly benefit because objects in the database are automatically migrated to the new schema. FastObjects .NET benefits the application's life-cycle management from design to release.
For large scale web-based applications, FastObjects .NET provides additional performance through its Read-only Replication feature. FastObjects .NET is able to employ a read-write 'master' server relationship with any number of read-only 'slave' servers to achieve a high performing, scalable architecture. Data on the 'slave' servers is synchronized automatically when transactions are committed on the 'master' server.
In addition, FastObjects .NET offers sophisticated caching on the client-side, thereby dramatically improving performance of read-heavy applications by reducing database server traffic for frequently read objects.
FastObjects .NET also offers an Incremental Backup feature that allows for a more pragmatic or practical approach to the regular backup of data contained in large-scale deployed databases. As database size grows, regular database backup becomes both more critical and more difficult to perform. The FastObjects .NET Incremental Backup feature allows you to store only the database changes that have occurred since the last full or incremental backup. The resulting smaller incremental backup files are then put to a permanent backup media and maintained until the next full backup is desired.
Highly available systems can be designed by using FastObjects .NET Replication features. Replicated databases have their changes written to both primary and secondary database server using a networked replication agent. Replicas may be set-up using a local or remote system thousands of miles away. Replication agents are configured to be either synchronous or asynchronous depending on the application's design needs.
FastObjects .NET will protect physical data from theft or unauthorized access through the optional encryption of the information stored in the database.
FastObjects .NET will protect the communications between your application and the database Server through optional SSL-based encryption.
| Current Version |
|
FastObjects .NET 10.0 |
| Languages |
C#, Managed C++, J#, VB.NET Any IL-capable language |
|
| Memory Footprint | 5.5 MB | |
| Storage |
Networked FastObjects Server Local File System |
|
| Development Platform | Microsoft .NET | |
| Compilers |
Visual Studio 2005 .NET Framework 2.0 |
|
| .NET Environments | .NET Framework 2.0 | |
| Client Deployment OS | Microsoft Windows |
Free Trial Edition of Versant FastObjects .NET 10.0 is available for download in the Versant Developer Center.
OEM Partner Program: Versant offers independent software vendors and
value-added resellers an OEM Jump Start Package for free!
In today's fast paced world you want to be part of a company that is on the leading edge of technology? Join Versant!
Versant Vorkout lets you reclaim unused space in your database while it is in normal operation, increasing free space and improving performance.
Versant Announces Quarterly Net Income of $2.4 Million
Press Release, 2008/05/27
Versant Announces Second Quarter Conference Call
Press Release, 2008/05/19
Versant to Present at B. Riley & Co. 9th Annual Investor Conference
Press Release, 2008/03/18
For broad overview on press releases, please refer to:
Press Release Archive
Training: Versant Object Database Administration
2008/08/19 - 2008/08/21,
Redwood City, California/USA
Versant Object Database Advanced Administration
2008/08/20 - 2008/08/22,
Redwood City, California/USA
GC Games Convention 2008
2008/08/20 - 2008/08/24,
Leipzig, Germany
For broad overview on upcoming events, please refer to:
Versant Event Calendar
Technical Questions:
Message Boards
Purchase Inquiries:
Versant Object Database
FastObjects .NET
General Questions:
Quick Message Form
For postal adresses, phone numbers, e-mail addresses, driving directions etc please refer to:
The Versant Developer Center (VDC) provides all the essential information and valuable resources needed for developers, just like
www.versant.com | Copyright © 2003-2008 Versant Corp. All rights reserved.
For questions about this site please contact webmaster@versant.com
Versant, Vitness, Vorkout, Vildcard, Vhistle, Vhisper, Varehouse, Vedding, reVind and FastObjects are either registered trademarks or trademarks of Versant Corporation in the United States and/or other countries. All other products might be a registered trademark or trademark of their respective company in the United States and/or other countries.
Add-on Modules for the Versant Object Database.
If mission critical deployments are a part of your business or if you need to access data through SQL, Versant provides Enterprise-class Add-on Modules for the Versant Object Database.
The observation of a production system is a cornerstone to the proper establishment of an adequate System & Network Management policy.
Using Versant Vitness for the advanced monitoring of your entire Versant Object Database environment provides you with a fundamental tool for all database administration operations and decisions.
The Vitness add-on module delivers real-time views of performance data and analytical information about the Versant Object Database at the push of a button. Proactive database monitoring prevents potential faults that could be unexpectedly generated by an unobserved system - Versant Vitness alerts administrators before database availability is affected. Can life get any easier?
Versant Vorkout is a Database Reorganizer Tool for applications that delete large numbers of objects. It lets you reclaim unused space in your database while it is in normal operation, increasing available free space and improving database performance. Last but not least Vorkout is tightly integrated and can be used through Versant Vitness.
Over time as objects grow or are deleted, empty holes are created in the tightly packed database resulting in fragmentation of data segments. Thus, performance starts degrading and disk usage is also increased.
Versant has addressed this issue by introducing Vorkout - the enhanced tool provides the user the ability to analyze a database for wasted space and reorganizes the data for reduced fragmentation and restored performance.
Vedding is an add-on software module for the Versant Object Database enabling automatic fail-over and recovery in the case of hardware or software failure. This is commonly known as a Fault Tolerance environment.
Vedding uses synchronous replication between two database instances and supports transparent re-synchronization in the event of a failure. Synchronous database replication mirrors the contents of one database to another in a predictable and orderly manner. This provides either local or geographically remote redundancy, which protects against the unavailability of data.
The Vhistle add-on module for Asynchronous Replication supports both master-slave and peer-to-peer asynchronous replication between multiple Versant Object Database servers. This can be used to replicate data to a distributed recovery site or to replicate data between multiple local object servers for increased performance and reliability.
In many applications, there is a need to replicate data, typically to improve availability, to improve performance by geographically co-locating databases with the applications that access the databases, to isolate decision support systems from online production systems, and to help in recovery from failures using warm-standby systems.
Vhisper provides Warm Standby capabilities to a Versant Object Database. The add-on module is used as an incremental rollforward recovery. It is designed to minimize the downtime in an emergency event.
With Vhisper, an up-to-date copy of the primary database is maintained - this is a Warm Standby database. In case of an emergency, the Vhisper's Warm Standby database can be updated very quickly to the state of the primary database. Instead of starting a full database restore that may take a considerable time with large databases, you just need to apply the last roll forward archive plus the logical.log of the primary database to the Warm Standby database - and you are ready for anything.
Varehouse is an add-on software module that enables the Versant Object Database to use the disk mirroring features of EMC Symmetrix or other enterprise storage systems to take an online backup of very large data volumes without impacting availability (High Availability Backup, HAbackup).
Varehouse, Versant's High Availability Backup solution, is a generic way of achieving continuous online backup of the Versant Object Database. It exploits the capabilities of special storage devices. It allows the user to execute certain operations such as, splitting a mirrored device, after bringing the database to a consistent state.
Vildcard enables you to run a discounted standby server in parallel to your initial Versant Object Database server.
Most likely, Vildcard is used for generic cold standby environments where backups are accomplished manually in certain periods.
reVind is an Add-on module for the Versant Object Database. The Versant/SQL suite of software modules permits you to use conventional Structured Query Language (SQL) semantics to access data that resides in a Versant Object Database.
The resulting application architecture can offer the strengths of both the relational and the object database models, such as the openness and interconnectivity of relational tables along with the expressiveness and performance of object collections.