90 likes | 206 Views
Forum Topics. OMG Roundtable Dec. 11, 2007. Background. Forum is part of the ODBMS.ORG Moderated by Dr. Roberto Zicari Started on 10/16/07 (last post 12/8/07) Great place to discuss and post issues: http://developer.db4o.com/forums. Main Topics Discussed.
E N D
Forum Topics OMG Roundtable Dec. 11, 2007
Background • Forum is part of the ODBMS.ORG • Moderated by Dr. Roberto Zicari • Started on 10/16/07 (last post 12/8/07) • Great place to discuss and post issues: http://developer.db4o.com/forums
Main Topics Discussed • Query Language/ Object Store API • Requirements/scope of the QL/API? • Adoption; other options related issues • How to define semantics? • Required optimizations? How to express their semantics? • Other DB Essential Facilities • Threading, Triggers, Views • Client/Server, ACID, Replication, Synchronization of clients • Object Store Model • Do we need a model? • What are the goals/scope of this effort/model? • Specific requirements for model?
Object Store QL/API Requirements • Easy to adopt • Programming Language integrated (NQ) e.g. Java, Ruby, LINQ • Existing: JDO, JPA, HQL, EJB, current vendors QLs, de-facto • Expressive power • Ability to do: insert, delete, update (or retrieve+modify) • Ability to support collections of different types ( lang. / user defined) • Strong type-checking/ Type safe • Support transactions • Integration with PL control structures, e.g. loops, if_then) • Integration with PL abstractions, e.g. procedures, methods, modules • Expressive of DB abstractions, e.g. triggers, updatable views, Integrity constraints • As expressive as SQL and more i.e. able to express UML diagrams; e.g. associations, collections
Object Store QL/API Requirement (continued) • Expressive power (continues) • DB Schema language that corresponds to UML • Query optimizations (with semantics), e.g. indexing, activation • Bindings to prominent OO PLs • Need to be “complete” (define!) • How to define semantics? • We need to clearly define semantics for the QL/API • One way: based on a model • Any other way? • based on sets of “compliance tests” ? • Reference implementations • Define in Phases? What’s in phase1? • Dr. Subieta says 1-8 of above requirements
Object Store API Optimizations • Requirements • Indexing, • Transparent Persistence (activation/store) • Caching, Pipelining • Handling large collections • Aggregates • sum, avg., there exists, min, max, etc. • Adapt to different storage technologies • Optimize existing PLs • Define Behavior. How?
Other DB Essential Facilities Concurrent Access and Client/Server support • Multi-threading • Client/Server protocol • Concurrency Control • Rollbacks • Integrity (in face of failures) • Replication between databases • Synchronization of clients • Interoperability facilities (translation to/from relational dbs and XML repositories) • Administration (de-fragmentation, meta info, etc.)
Object Store Model • Do we need a model? • Mike Card: it’s one of the major criticism of OODBs • Dr. Subieta: needed to define semantics, consistency • Can we do with “compliance tests” instead? • What are the goals/scope of this effort/model? • Support a strong, consistent QL/API • Define operational semantics for the API • Define expected behavior for optimization, facilities
Summary • What’s the strength of Object Database? How are they used? • What do customers need from them? How is it different than Relational DBs? • Do we need to compare with SQL? Schemas? UML? • Requirements for QL – more? drop some? • Defining semantics – besides a model is there another way? • Programming Language Integrated QL/API or not? • A theoretical model needed or not? What’s its purpose? Different model? Why? • Other optimization areas? How do we define expected behavior? • Additional Facilities? • Do it in 1 phase or more? • How do we increase probability of adoption? • Approaches? • Mechanisms? • What are the inhibitors?