Architecting for Performance with Versant C++
Objectives
Upon completion of this course a student will be able to transparently create, retrieve, update, and delete C++ objects from a Versant database. They will be able to use their understanding of the Versant architecture and API to develop performant, scalable applications.
Target Audience
- C++ developers who want to add persistence to their application.
- C++ developers already using Versant who want to learn how to improve concurrency/performance.
Lifecycle Stage
This class can be taken at any time, but is best taken early in the development phase.
Desired Prerequisites
- Understanding of basic operating system commands for NT and/or Unix.
- Experience developing applications with C++ and corresponding object oriented concepts, such as inheritance, polymorphism, encapsulation, aggregation and association.
Helpful Prerequisites
- Experience developing applications against a database.
- General understanding of client/server application design and development.
Course Length
Course Topics
- Installation: file layout, environment settings, global configuration
- Database concepts: Versant architecture, sessions and transactions, locking, Versant tools
- Persistence: enhancement, class schemas, Versant classes and methods
- Maximizing concurrency: optimistic and pessimistic locking models, collections, first-class and second-class objects, distributed databases
- Performance tuning: statistics collection, object model design, navigation and queries, multi-threaded applications
- Planning: schema evolution, Versant Fault-Tolerant Server (FTS)
Format
Instructor-led with hands-on labs that reinforce key concepts.
Versant instructors use their real-world experience to reinforce the prepared materials.