350 likes | 507 Views
RD45 workshop. Romuald Knap IT/DB/ODB Romuald.Knap@cern.ch. Supported Architectures. Information based on: Installation & platform notes for Unix Installation & platform notes for Windows release file “note_CPP.txt” Objectivity Technical Overview 5.2
E N D
RD45 workshop Romuald Knap IT/DB/ODB Romuald.Knap@cern.ch Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Supported Architectures • Information based on: • Installation & platform notes for Unix • Installation & platform notes for Windows • release file “note_CPP.txt” • Objectivity Technical Overview 5.2 • Solaris 7 with C++ 5.0 now available. Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
OBJECTIVITY/DB Vendor Hardware Operating System C++ Compiler Digital Equipment AXP (Alpha) DEC UNIX 4.0 DEC C++ 6.0, 6.1 Hewlett Packard HP9000 700 HP/UX 10.20 HP aCC A.01.12 IBM RS/6000 AIX 4.2 IBM xlC 3.1.4 Microsoft Intel Windows NT 4.0 VC++ 5.0 SP2, 6.0 SP2 Windows 95 VC++ 5.0 SP2, 6.0 SP2 Silicon Graphics Iris/Indigo IRIX 6.5/6.4 C++ 7.2 Sun Microsystems SPARCStation Solaris 2.6, 7 C++ 4.2 Redhat Intel Linux 5.1, 5.2 egcs-2.91.66 (egcs 1.1.1) Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
LHC++ 1999 Platform Operating System C++ Compiler DEC Digital UNIX 4.0 DEC C++ 6.1 HP HP/UX 10.20 HP aCC A.01.12 IBM AIX 4.2 IBM xlC 3.1.4 NT NT 4.0 VC++ 5.0 SGI IRIX 6.5 C++ 7.2.1 Sun Solaris 2.6 C++ 4.2 Linux RedHat 5.1 egcs-2.91.66 egcs-1.1.1 or 1.1.2 On-going discussions concerning RH 6.1 support Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Objectivity 5.2 status • Full packed version for each platform in: • / afs/cern.ch/sw/lhcxx/export/$sys/Objectivity/5.2 • Full unpacked version for each platform: • /afs/cern.ch/sw/lhcxx/specific/$sys/Objectivity/5.2 • Solaris 7 • / afs/cern.ch/sw/lhcxx/specific/sol7/Objectivity/5.2 • “sol7” points to descriptive Solaris-7 Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Objectivity 5.2 tests • Platforms used for tests: • RSPLUS, HPPLUS, DXPLUS, SUNASD1, SHIFT5, LXPLUS • Added links to libraries • Run tests supported with Objectivity • DEC, Sun run without reporting any errors • Minor (ignored) issues on other platforms • CERN-developed interoperability test • Updated documentation on Objectivity page: • http://wwwinfo.cern.ch/asd/lhc++/Objectivity/index.html ( new IT/DB web pages coming - old ones will not be deleted! ) Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
PERSISTENT COLLECTIONS Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Persistent Collections Definitions • A persistent collection - an aggregate which contains references to persistent objects. • The elements of a collection are references to persistent objects or key-value pairs (strings or persistent objects) • Variable number of elements (can be large) • New collections classes - collections containing persistent objects Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Persistent Collections Documentation • Objectivity 5.2 Supplement • Chapter 4 - Persistent Collections • Part 3 - Persistent Collections Classes • Installation and Platform Notes for Unix 5.2 • linking information • upgrading schema • Installation and Platform Notes for Windows 5.2 • linking information • upgrading schema Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Linking & other information • Files to be included • include ooCollections.h • link with Objectivity/DB shared library: • -loo_co - on linux86 • -loo_co.x.xx Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Upgrading schema • In general the schema format by current Objectivity/DB release is compatible with the schema format of prior Objectivity/DB release. • To store persistent collections in a federation database created with prior to Release 5.2 - you must upgrade its schema • Perform this upgrade before you create or access persistent collections from your application Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Upgrading schema • for each federated database that is to store persistent collection: • ooschemaupgrade installDir/etc/collectionSchema.dmp bootFilePath • bootfFilePath - path to the boot file or value of environment variable OO_FD_BOOT • Upgrading 5.1.x to 5.2 on the web: • http://wwwinfo.cern.ch/asd/lhc++/Objectivity/objy-52.html Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Persistent Collections Classification • Classified whether the order of elements is relevant: • unordered collection - an unspecified order • order collection - a particular order • sorted - sorted according to some criteria • not sorted - the operation that adds the elements determine their order Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Persistent Collections Classification • Other classification of collections: • scalable - can increase in size with minimal performance degradation • nonscalable - can not • Collections in Objectivity/DB • nonscalable unordered - using a standard hashing mechanism - old ones • scalable ordered - use B-tree data structure • scalable unordered - use an extendible hashing mechanism Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Persistent Classes Persistent capable collection classes: • ooTreeList - List • Scalable ordered collection of objects that can contain duplicates and null elements. • ooHashSet - Set • Scalable unordered collection of objects with no duplicates and no null elements. • ooTreeSet - Sorted set • Scalable sorted collection of objects with no duplicates and no null elements. Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Persistent Classes • ooMap - Name map • Nonscalable unordered collection of key-value pairs in which the key is a string and the value is a persistent object or null. Maintains referential integrity. • ooHashMap - Object map • Scalable unordered collection of key-value pairs in which the key is a persistent object and the value is a persistent object or null. Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Persistent Classes • ooTreeMap - Sorted object map • Scalable sorted collection of key-value pairs in which the key is a persistent object and the value is a persistent object or null. Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Persistent Classes comparison Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Active Schema Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Features • New option for all platforms with Objy 5.2: • DEC, HP, IBM, Sun, SGI, Linux • Windows NT, Windows 95 • Integrated into the normal installation tar files Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Documentation • Objectivity/C++ Active Schema Release 5.2: • http://wwwinfo.cern.ch/asd/lhc++/Objectivity/V5.2/ActiveSchema.pdf • Platform Notes 5.2 (linking): • Installation & platform notes for Unix • Installation & platform notes for Windows Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Active Schema • Provides a programming interface for accessing the schema of Objectivity/DB federated database. • You can use active schema for developing database tools such as class and object browsers Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Possibilities • An Active Schema application can: • obtain descriptions of the classes in the schema • access and modify persistent objects • modifying the schema by adding new classes and changing description of existing ones • add persistent object to federation • convert persistent object to be consisted with the evolved schema descriptions of their classes Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Dynamic schema modification • Can add or evolve classes in the middle of a process • can use results dynamically - without restarting the process • it is necessary to commit transaction at the schema alteration time • user build a set of proposed classes than activate then Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Dynamic schema modification • The set of proposals can be rejected if it lacks referential integrity • evolution of Objectivity internal classes is disallowed • The AS interface can not be used to delete classes Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Example d_Module &mod = (d_Module &)schemaModule; // cast away constness Proposed_Class &newC1 = mod.propose_new_class("newC1"); // Add a proposal for a public signed integer membe // named "propINT32" newC1.add_basic_attribute(oocLast, d_PUBLIC, "propINT32", 1, ooINT32); Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Objectivity/DB tests Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Contents • Version interoperability test • Upgrading 5.1.x to 5.2 • Interoperability test for Linux platform • Persistent collections tests Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Version interoperability test • Checks in some extent interoperability between 5.1 and 5.1.2 • http://wwwinfo.cern.ch/asd/lhc++/Objectivity/objy-interoper.html • Platforms: IBM, DEC, HP, Sun, SGI, Linux • Areas of test: • running lockserver, ams • creating federations , creating databases • creating containers with objects • reading objects Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Version interoperability test 1. Changing: reading of objects; creating containers & objects. LS 2 2 2 1 1 1 AMS 2 2 2 1 1 1 FD 2 2 2 1 1 1 DB 2 2 2 1 1 1 WR 1 1 2 1 2 2 RE 2 1 1 2 1 2 Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Version interoperability test 1. Changing: reading of objects; creating containers & objects; creating databases. LS 2 2 2 2 1 1 1 1 AMS 2 2 2 2 1 1 1 1 FD 2 2 2 2 1 1 1 1 DB 1 1 1 1 2 2 2 2 WR 1 1 2 2 1 1 2 2 RE 1 2 1 2 2 1 2 1 Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Version interoperability test • The other areas of the test: • Changing: reading of objects; creating containers & objects; creating databases; creating federation with 5.1.0 • Changing: reading of objects; creating containers & objects; creating databases; creating federation with 5.1.2 Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Upgrading 5.1 to 5.2 • http://wwwinfo.cern.ch/asd/lhc++/Objectivity/objy-52.html • In general, federations and databases are compatible - but don’t mix 5.1.x clients with 5.2 servers and vive versa • special care using persistent collections • refer to Installations Notes 5.2 Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Interoperability test for Linux • http://wwwinfo.cern.ch/asd/lhc++/Objectivity/objytest1.html • Possibility of testing several hosts • a federation on a server host, database on a client host • writing from a server to a client; reading from a client • testing algorithm:1-2, 2-3 … n-1 Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000
Persistent collections • http://wwwinfo.cern.ch/asd/lhc++/Objectivity/objyPC.html • Test program rather like an example • testing basic functionality of ooTreeList class • reading objects using iterators and without • 1 000 000 - 10 minutes - over 60 hours Romuald Knap IT-DB-ODB RD45 workshop 31st Jan - 4th Feb 2000