David Cuthbert wrote: >baalbek wrote: > > >>CAD systems available today (Autocad, Archicad, Architectural Desktop, >>etc) have one huge flaw: they don't store data to a SQL database, but to >>binary files. >> >> > >There's a reason for this. Most CAD data is not in a form (First Normal >Form) suitable for a relational database. In addition, the sheer number >of objects involved in each operation brings performance to its knees. >Finally, most RDBMS provide (and are optimized for) transactional >semantics -- for a CAD system, this is wasted overhead. > Object database systems (ODBMS) like ZODB are probably a much better fit for CAD data than RDBMS. The hierarchical structure in an object database is a natural fit to the way CAD drawings are created and manipulated, and most CAD systems internally represent drawings as some kind of object tree.
Of course, ZODB *can* serialize its data to an SQL backend, among several other possibilities. One of the more intriguing possibilities would be using a CVS or Subversion based back-end to provide more complete version control help. I disagree that transactions are bad for CAD -- they may have a different semantic role and the needed granularity may be different, but the need to roll data back to an earlier revision is just as present in drawings as it is for code or financial transactions. Cheers, Terry -- Terry Hancock ([EMAIL PROTECTED]) Anansi Spaceworks http://www.AnansiSpaceworks.com -- http://mail.python.org/mailman/listinfo/python-list