Backing Datastore

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
nohspamjose
Posts: 5
Joined: Wed May 02, 2018 12:58 pm

Backing Datastore

Post by nohspamjose » Wed Jul 10, 2019 10:06 pm

I am curious to know how CAD programs and FreeCAD in particular stores data?
Is it a relational DB, an object store, NoSQL, a structured file format or something else?
The reason I'm asking is that I've been exploring Graph Databases recently and there are some really useful features. They contain vertices (nodes or objects) and edges (links or relationships). I was just speculating whether CAD objects could benefit from this model. The architecture can manage mind boggling numbers of vertices and edges (into the billions), with little impact on the inherently speedy performance.

I was thinking the directed graph relationship model is a superset of hierarchical graphs and can deliver really sophisticated and fast query responses, so slicing and dicing the CAD model to show subsets or perspectives for any number of interesting dimensions, such as: functional, organisational, business, owner, manager, drafter, version, attribute, metadata, etc.

Just a thought. Is this something that's been explored already and if so, what were the conclusions?

One graph DB implementation is https://janusgraph.org/

Cheers,

Greg

chrisb
Posts: 28938
Joined: Tue Mar 17, 2015 9:14 am

Re: Backing Datastore

Post by chrisb » Wed Jul 10, 2019 11:05 pm

FreeCAD files are zip containers. Inside you find XML files.
A Sketcher Lecture with in-depth information is available in English, auf deutsch, en français, en español.

Jee-Bee
Posts: 2145
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Backing Datastore

Post by Jee-Bee » Thu Jul 11, 2019 5:26 am

and .brep files

Post Reply