140 likes | 376 Views
Objectivity/DB 5.2 New Features http://www.slac.stanford.edu/~abh/RD45/ams52.html. Andrew Hanushevsky Stanford Linear Accelerator Center Produced under contract DE-AC03-76SF00515 between Stanford University and the Department of Energy. Active Schema™ Scalable Collections
E N D
Objectivity/DB 5.2 New Featureshttp://www.slac.stanford.edu/~abh/RD45/ams52.html Andrew Hanushevsky Stanford Linear Accelerator Center Produced under contract DE-AC03-76SF00515 between Stanford University and the Department of Energy
Active Schema™ Scalable Collections Event Notification Framework Hot Failover™ Purge Autonomous Partitions DB Version Checking Tool Support of Java JDK 1.2 Object Accessibility Java/C++ Release 5.2 - Contents • Multi-threaded AMS • Open File System (OFS) • 64-bit File Support • Security Framework
Release 5.2 – Programming Enhancements • Active Schema™ • Schema read & evolution of existing classes • Creation of new classes • Fully supports the ODMG 2.0 standard for Schema Interface • Scalable Collections • Persistent language independent collections scalable to >108 of objects • Patterned on JDK 1.2 specifications • Event Notification Framework • Allows Objectivity/DB components to communicate events • Develop applications that provide trigger like semantics • Applications can be automatically notified of changes to specific objects • Built on Visibroker Event Services
Release 5.2 – Manageability Enhancements • Hot Failover™ • Allows DRO to be used with only 2 machines for hot standby capability • Purge Autonomous Partitions • Remove permanently unavailable APs by purging them • DB Version Checking Tool • Enhanced oofile utility • File Type: Federated DB/ Database/Autonomous Partition • Attributes: identifier, system name, journal info, directory info, server info • Architecture: Platform and OS • Compatibility with Objectivity/DB releases • Which upgrade utility to use
Release 5.2 – Java Related Enhancements • Support of Java JDK 1.2 • Objectivity 5.2 Java binding released on Windows/NT, Solaris 2.6, Solaris 7, Alpha, HP-UX 11.00 • Object Accessibility Java / C++ • Java-compatibility classes enable an Objectivity/C++ application to access objects of classes that were added to a federated-database schema by an Objectivity for Java application
Master/Worker thread model Default of eight worker threads Minimum is 1 and maximum is 32 oostartams –numthreads value It really does multi-thread! Release 5.2 - Multi-threaded AMS
Release 5.2 – Objectivity Open File System (OOFS) • Customizable interface between Objectivity/DB and storage • SLAC-Objectivity designed and developed • SLAC has reference version of the oofs • The oofs/ooss layer now dynamically linked via liboofs.so • Optional software application ooams Database Protocol Layer ams Filesystem Logical Layer oofs liboofs.so Filesystem Physical Layer ooss
All components have been compiled with large file support Solaris: -D_LARGEFILE_SOURCE _D_FILE_OFFSET_BITS=64 Tested with up to 60GB files Works fine Release 5.2 – 64-bit File Support
Release 5.2 – Security Framework • Customizable interface between Objectivity/DB and standard security solutions • Designed and developed by SLAC • SLAC will be providing reference solution • Optional software application libseccl.so security ooams Database Protocol Layer ams liboofs.so Filesystem Layer oofs/ooss libseccl.so Security Layer security
Release 5.2 – Other Internal AMS Enhancements • Rewritten for OO multi-threading environment • Use of mutexes minimized • Ability to run multiple servers per host • Static or dynamic selection • Solaris only • Redundant fsync() bypass • Particularly useful with multiple writers • New AMS options for optimization and fewer restrictions • maxusers (number of users per open fd) • nodread now compatible with journal servers • MSS interfaces made non-specific • Any MSS can be explicitly used
Release 5.2 –External AMS Enhancements • Dynamic file system selection for caching • Allows disk cache to be unlimited in size • Substantially improves performance • More heads, more I/O busses, more everything • On-demand migration and purge • Substantially improves disk cache utilization • Decreases time before a completed database is visible for analysis • Additional auto-recovery options • Automatic retry after lack of human intervention
Release 5.2 –Manageability Enhancements • New disk cache management tool: ooss_Xeq • Single interface for disk cache management and administration • ac – audit cache mv – rename file • an – audit name space pf – pin file • cp – copy file rl – relocate file • cr – create file rm – remove file • New high speed secure copy utility: ooss_fget • Used for high speed disk cache population • Supports 3rd party copy and multiple parallel streams • Uses existing ssh infrastructure for authentication • No new infrastructure needed! • New file pinning functions: ooss_pin • Pin or unpin files in the disk cache • By target date or duration plus optional non-use time
Future Enhancements • Interactive control interface to the AMS • Dynamic configuration • Database hyper-copy utility • Copies only modified pages since the last copy operation • Automatic load balancing • Internal file system balancing • External server balancing • Real-time monitoring • AMS, Lock Server, and application • Ability to see the complete picture • SSTP • The secure storage transfer protocol • The secure high performance server-less FTP replacement
Conclusion • Objectivity/DB 5.2 significantly enhanced • AMS works as expected • SLAC has been using 5.2 since late December 1999 • Should be in full production with 5.2 by end of January • Some components are more CPU hungry • Working with Objectivity to identify hot spots and tame them • Lock server has not improved • Working with Objectivity to enhance lock server • Extensive monitoring tools • Scalable lock server • Static lock server partitioning