Forum Topics

9
Forum Topics OMG Roundtable Dec. 11, 2007

description

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. - PowerPoint PPT Presentation

Transcript of Forum Topics

Page 1: Forum Topics

Forum Topics

OMG Roundtable Dec. 11, 2007

Page 2: Forum Topics

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

Page 3: Forum Topics

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?

Page 4: Forum Topics

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 power1. Ability to do: insert, delete, update (or retrieve+modify)

2. Ability to support collections of different types ( lang. / user defined)

3. Strong type-checking/ Type safe

4. Support transactions

5. Integration with PL control structures, e.g. loops, if_then)

6. Integration with PL abstractions, e.g. procedures, methods, modules

7. Expressive of DB abstractions, e.g. triggers, updatable views, Integrity constraints

8. As expressive as SQL and more i.e. able to express UML diagrams; e.g. associations, collections

Page 5: Forum Topics

Object Store QL/API Requirement (continued)

• Expressive power (continues)9. DB Schema language that corresponds to UML10. Query optimizations (with semantics), e.g. indexing, activation11. Bindings to prominent OO PLs12. 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

Page 6: Forum Topics

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?

Page 7: Forum Topics

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.)

Page 8: Forum Topics

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

Page 9: Forum Topics

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?