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

  • 3 or 4 days

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.