Universal antipatterns.
I published two chapters of the new book of one of our distinguished experts: Dr. Michael Blaha.
Michael is one of the early pioneers in database modeling, together with his colleagues William J. Premerlani and James E. Rumbaugh. His classic textbook “Object-Oriented Modeling and Design” has been translated into many languages.
The new book of Dr. Blah is about Patterns of Data Modelling.
One of the chapter I published describes Universal antipatterns.
An antipattern is a characterization of a common software flaw. The idea is that as you construct models, you should be alert for antipatterns and correct them. When you find an antipattern, you should substitute the correction. Universal antipatterns are antipatterns that you should avoid for all applications. The chapter is available for free download (.pdf) in the Expert Section.
The other chapter is about Models.
Models provide the means for building quality software in a predictable manner. Models let developers think deeply about software and cope with large size and complexity. Although models are beneficial, they can be difficult to construct. That is where patterns come in. Also this chapter is available for free download (.pdf).
If you are in Frankfurt late September for ICOODB Frankfurt you can consider attending Dr. Blah`s tutorial: “”Patterns of Data Modeling”” on September 28, 2010.
RVZ
the OO7J benchmark.
I just published a very interesting resource in ODBMS.ORG, the dissertation of Pieter van Zyl, from the University of Pretoria.
The title of the dissertation is: “Performance investigation into selected object persistence stores” and presents the OO7J benchmark.
OO7J is a Java version of the original OO7 benchmark (written in C++) from Mike Carey, David DeWitt and Jeff Naughton = Univ
Wisconsin-Madison. The original benchmark tested ODBMS performance.
OO7J also includes benchmarking ORM Tools. Currently there are implementations for Hibernate on PostgreSQL and MySQL, db4o and Versant.
You can download the dissertation (187 pages PDF) : LINK
The code is available on Sourceforge: LINK
RVZ
Marten G. Mickos on Innovation.
It has been a while since my last interviews on Innovation….
I asked a few questions to Marten G Mickos, CEO of Eucalyptus, former CEO of MySQL.
1. What is “Innovation” for you?
Marten: Peter Drucker said it best: Innovation is change that creates a new dimension of performance. Whereas invention typically is something technical, an innovation can relate to anything a business does, as long as it creates a new dimension of performance. Google’s business model is an innovation, as is the usability of Apple’s products.
2. What does it take to become a successful innovator?
Marten: Innovators many times start by solving problems they have experienced themselves. In that way they know the problem well and they have a genuine desire to solve it. But sometimes it’s not enough. You also need to look around you and verify that the problem you experienced is sufficiently generic, common and real so that the solving of it truly creates a new dimension of performance.
3. Is there a price to pay to be an innovator? Which one?
Marten: There is a price to pay for everything we do in life, but there is a higher price for not doing things. It’s time consuming to be an innovator, and it takes a lot of passion and determination to keep going until the innovation succeeds (or until you know it didn’t).
Innovation is risky business. We all know about the successes, but we may not always realize how many failures there are for each success. If you want to be an innovator, you must be prepared both for the huge success you are dreaming of and the possible failure that is statistically perhaps even more likely than success.
4. What are the rewards to be an innovator?
Marten: The main reward is the feeling of accomplishment – the knowledge of having contributed to something that makes the world a better place.
Many innovations also provide ample financial reward. But not all do.
For instance, the Finnish telecom executive who came up with the idea for text messaging didn’t make money on it.
5. What are in your opinion the top 3 criteria for successful innovation?
Marten:A new dimension of performance says it all. Examples: Open source software has enabled the world to produce applications and web services in a way never before possible. Google has enabled people to find information in a way never before possible, and they have enabled small and large vendors to reach the most interested customers in an efficient way. Amazon is enabling us to consume books faster and easier than before (with Kindle) and through their cloud offering they enable entrepreneurs to start a company without buying a single computer server. Those are great innovations.
6. Given your previous experience as CEO at MySQL , do you think becoming an innovator can be taught? If yes, how?
Marten: I certainly believe that you can get trained for being an innovator.
But more than it can be taught, it can be learned. What I mean is that it isn’t necessarily in a classroom that you learn about innovation. It is by doing it in practice, and by learning from those who have done it before. Mark Twain said it so well: Don’t let education get in the way of learning.
7. What specific programs do you think foster innovation?
Marten: The ecosystem of startup companies, angel investors and VCs.
Conferences and camps (such as Maker Faire and TED) that focus on wild ideas and big bold plans.
8. What would you recommend to young people who wish to pursue innovation?
Marten: To start immediately, and keep innovating until they hit gold. It may take ten attempts or it may take a thousand attempts. I would also recommend young people to keenly observe some of the greatest innovators in the world, and innovators they have access to.
9. In your opinion how can we create a culture that supports and sustains innovation?
Marten: By allowing people to fail. Michael Jordan said it well: I’ve failed over and over and over again in my life and that is why I succeed.
10. What do you think stops/slows down innovation?
Marten: Complacency and rigidity. Fear of failure. Fear of success. Not thinking big enough. Not allowing naïve dreams.
11. What is in your opinion the influence that a “location” (country/region) plays with respect to the possibility to be a successful innovator?
Marten: We are all influenced by our daily interaction with the world around us. If the interaction is conducive to innovation, we will have more of it. Silicon Valley is such a place. It’s on average probably the most innovative place on the planet, especially in tech. But that doesn’t mean that you couldn’t create bigger innovations elsewhere (Skype comes to mind). In today’s world you can have your daily interaction electronically over long distances and over many time zones, so locations that previously were unfavorable are now OK. Innovators are inherently unconventional. Many times they succeed not thanks to the location, but in spite of it.
12. What would you recommend to make a “location” attractive for innovation?
Marten: Build on what you have. Take whatever innovators there are at the location in question, and help them help others to innovate. Keep feeding this system with whatever it needs, and watch how the level of innovation slowly but surely improves.
New and old Data stores
I would like to mention the keynote panel to be held at ICOODB Frankfurt on September 29, 2010:
“New and old Data stores”
Panelists:
– Ulf Michael (Monty) Widenius, main author of the original version of the open-source MySQL database.
–Michael Keith, architect at Oracle
–Patrick Linskey, Apache OpenJPA project.
–Robert Greene, Chief Strategist Versant
–Leon Guzenda, Chief Technology Officer Objectivity.
– Peter Neubauer, COO NeoTechnology
This promises to be an interesting panel…
RVZ
I`d like to mention an event that should be of interest to the ODBMS.ORG community: the 3rd International Conference on Objects and Databases (ICOODB 2010).
The conference will take place on September 28-30, 2010, at the Goethe University Frankfurt, in Frankfurt am Main, Germany.
The program consists of
2 tutorials: “Object Databases” and “Patterns of Data Modeling”,
1 NoSQL Workshop,
10 research papers,
10 industry presentations,
3 keynotes and 1 keynote panel…
Among the keynote speakers:
Ulf Michael (Monty) Widenius, main author of the original version of the open-source MySQL database,
Ricardo Baeza-Yates, VP, Yahoo! Research, Europe and Latin America,
and several more.
You can have a look at the Program Overview.
If you are interested to attend, please note that the deadline for early registration is August 31, 2010. You can register online.
##
New resources, New Experts.
I did publish a few new resources.
1. A new lecture notes by Beat Signer, Vrije Universiteit Brussel.
Introduction to Databases Object and Object-Relational Databases.
This lecture notes (40 slides) describe the problem of Impedance Mismatch, and then present the basic concepts of Object Databases and Object-Relational Databases.
2. A new subsection for Databases: Journals with the possibility to download free sample copies of journal articles.
Moreover, I would like to welcome several new experts to ODBMS.ORG:
Stephan Kiemle, software engineer at the German Remote Sensing Data Center .
Tom Atwood, one of the principal players in the mid’90’s effort to create object database management systems.
Steve Graves, CEO of McObject.
Martin Hulin, University of Applied Sciences Weingarten.
Gerd Klevesaat certified senior software architect at Siemens AG.
Erik Meijer, programming-language designer at Microsoft.
Nicolas Spyratos, University of Paris South.
Don White, software engineer at Progress Software.
They will all contribute with interesting resources to ODBMS.ORG. The complete (quite impressive!) ist of experts of ODBMS.ORG is available here.
ETH New Lecture Notes
I am glad to inform you that I have published the new set of lecture notes, Object-Oriented Databases (Version 2010), from our experts Michael Grossniklaus and Moira Norrie, ETH Zürich.
The lecture notes are in English and contain 446 slides that are split into 14 lectures of 90 minutes each.
The 2010 version of the lecture notes include updated slides on db4o to reflect the API of the latest version. Extended the discussion of OQL in the lecture about ODMG 3. In-depth presentation of commercial systems (Versant Object Database, ObjectStore and Objectivity/DB) in completely new and dedicated lectures #8, #9 and #10. To increase diversity, Versant is coupled with Java, ObjectStore with C++ and Objectivity/DB with C#. Finally, LINQ has been introduced into the course as part of the Objectivity/DB lecture.
COURSE DESCRIPTION: The course examines the principles and techniques of providing data management in object-oriented programming environments. It is divided into three parts that cover the road from simple object persistence, to object database management systems and to advanced data management. The lecture notes contain 446 slides that are split into 14 lectures of 90 minutes each. At ETH Zurich, the course is accompanied by weekly exercises based on db4o, Versant Object Database, ObjectStore, Objectivity/DB and OMS Avon. Further details are available at http://www.globis.ethz.ch/education/oodb.
TARGET GROUP: Students of Computer Science in the 5th semester or higher.
PREREQUISITES: Database design and implementation, Object-oriented design and programming.
PART 1: BASICS OF OBJECT DATABASES
Lecture #1: Introduction (Course Overview; Evolution/History of Database Management Systems; Requirements of Object-Oriented Data Management Systems)
Lecture #2: Object Persistence (Object-Relational Mappings and Frameworks; Serialisation; Persistent Programming Languages)
Lecture #3: db4o: Part 1 (Basics: Managing databases, Storing and Retrieving Objects; Querying Objects: Query by Example, Native Queries, SODA; Simple and Structured Objects; Object Hierarchies; Activation; Transactions: Concurrent Transactions, Semaphores)
Lecture #4: db4o: Part 2 (Configuration and Tuning: Configuration Interface, Indexes; Distribution and Replication: Client/Server Model, dRS; Schema Evolution: Refactoring, Inheritance Evolution; Callbacks and Translators)
PART 2: ADVANCED CONCEPTS OF OBJECT DATABASES
Lecture #5: Version Models (Temporal Databases; Engineering Databases (CAD and CAM); Software Configuration Systems (CASE))
Lecture #6: Storage and Indexing (Type Hierarchy Indexing; Aggregation Path Indexing; Collection Operations)
Lecture #7: ODMG Standard (Object Model; Object Definition Language (ODL); Object Query Language (OQL); Programming Language Bindings)
Lecture #8: Commercial OODBMS: Versant (Versant Object Database for Java; Java Versant Interface (JVI); Versant Query Language (VQL))
Lecture #9: Commercial OODBMS: ObjectStore (ObjectStore PSE Pro for C++; Virtual Memory Mapped Architecture; Managing Persistent Object Data)
Lecture #10: Commercial OODBMS: Objectivity/DB (Objectivity/DB for .NET; Logical Storage Model: Federated Databases; Language Integrated Queries (LINQ))
PART 3: THE OMS FAMILY OF OBJECT DATABASES
Lecture #11: The OM Data Model (Multiple Inheritance, Instantiation and Classification; Collections and Associations; Cardinality, Classification and Evolution Constraints)
Lecture #12: Object Model Language: OML (Collection Algebra; Language Design; Data Definition, Manipulation and Query Language)
Lecture #13: Design and Implementation: OMS Avon (Architecture; Storage, Model and Interface Layer; Database Modules)
Lecture #14: Course Review (Exam Information; Summary; OODBMS Architectures)
The lecture notes can be freely downloaded at ODBMS.ORG
New Lecture Notes
I have published a new complete set of lecture notes on object databases, from Martin Hulin (Hochschule Ravensburg-Weingarten).
The lecture notes (397 slides) are called: “Modern Database Techniques”, and are available for free download.
The Content and Course Structure:
Learning module 0: Course Information, Welcome: 1 h
Learning module 1: Introduction to Object Oriented Databases: 4 h
Learning module 2: Concepts of Object Oriented Databases: 40 h
Learning module 3: Client Application and Language Binding: 20 h
Learning module 4: Advanced storage concepts, performance tuning: 10 h
Learning module 5: System Management: 20 h
Learning module 6: Security in Databases: 10 h
Learning module 7: Distributed and Mobile Databases: 25 h
Web conference: Exam Preparation: 2 h
Target group: Students of Computer Science in 5th semester or higher.
Prerequisites: Relational Databases, SQL, Object Oriented Programming, UML .
Duration: Student workload: 120 h –150 h. Lecture and supervised exercises: 64 lessons (45 min).
For all exercises, Martin uses the object oriented database management system
Caché from InterSystems.
You can DOWNLOAD (PDF), the lecture notes at ODBMS.ORG.
##
I would like to welcome two new experts at ODBMS:ORG: Gerd Klevesaat and Don White!
Gerd Klevesaat works as a certified senior software architect at Siemens AG. He is responsible for complex JEE enterprise projects to drive customer business processes in the field of industrial logistics. Before joining Siemens AG, Gerd studied industrial engineering in Karlsruhe.
Don White is a software engineer that has been working with database technology for over twenty years and object oriented technology for over 15 years. Don works at Progress Software.
Gerd and Don will contribute to ODBMS.ORG with their expertise.
I would also like to inform you that I published two new lecture notes by one of our expert, Adrian Marriott.
The two new lecture notes are:
1, Persistent OO Patterns.
This Lecture notes was given at ICODB 2009, and presents several Common Persistent Model Patterns for Performance and/or Scalability Optimization, among them “Query Visitor” which received the ODBMS.ORG Best Persistent Model Patterns Awards 2009. Query Visitor represents a query to be performed on the elements of a persistent object structure. Query Visitor allows you to define new result set formats without changing the underlying persistent object model, and avoids polluting the persistent classes with rendering logic.
2. Introduction to ObjectStore.
Also this Lecture notes was given at ICODB 2009, and introduces the main features of the ObjectStore ODBMS.
As always in ODBMS.ORG, you can freely download both lecture notes from the Object Databases – Lecture Notes section.
I would like to recall the call for “Best Object Databases Lecture Notes” Award 2010, for the most complete and up to date lecture notes on Objects and Databases, that have been, or have strong potential to be, instrumental to the teaching of theory and practice in the field of objects and databases.
Any Lecture Notes published in ODBMS.ORG during the years 2004–2010 is eligible for the 2010 award, under the following categories:
1. ODBMS Lecture Notes
The best Best Object Databases Lecture Notes will be selected by an independent panel consisting of selected members of the ODBMS.ORG Experts Board:
Prof. Suad Alagic, University of Southern Maine.
Prof. Dr. Alfonso F. Cárdenas, UCLA.
Leon Guzenda, Objectivity.
John McHugh, Progress Software.
Prof. Renzo Orsini, University of Venice, Italy
Prof. Tore J.M. Risch, University of Uppsala.
Prof. Nicolas Spyratos, University of Paris South.
Prof. Roberto V. Zicari, Goethe University Frankfurt.
The award consists of a plaque presented at the
ICOODB 2010 conference in Frankfurt on September 29, 2010.
Submission PROCEDURE:
By June 4, 2010, please email the .pdf of the Lecture Notes you
wish to submit to the award, to the Editor of ODBMS.ORG, Prof. Roberto V.
Zicari at: editor @ odbms.org.
##

