Re: [REPOST] Data Modeler/Core Data
Re: [REPOST] Data Modeler/Core Data
- Subject: Re: [REPOST] Data Modeler/Core Data
- From: Matthew Firlik <email@hidden>
- Date: Fri, 10 Feb 2006 11:28:49 -0800
On Feb 10, 2006, at 5:01 AM, Cem Karan wrote:
I've been fiddling with the Data Modeler in XCode 2.2.1, and I've
run into these problems and wanted to get other's comments on them.
1) When I specify an Integer 64 as an attribute, and try to set its
max/min/default values to anything outside what an Integer 32 can
hold, the modeler automatically clamps down to the range [-2**32,
2**32). This is a bug, and I need to file it (or so I think).
Comments?
That would be a bug: please file it.
2) I have yet to find a way to group parts of the graph together;
that is, my graph is getting VERY crowded, and it would be nice to
abstract a subset of the model in a group, just so I can see the
forest and the trees at the same time.
3) Is it possible to create limits within the model based on other
items within the model? E.g., I have two attributes, minNumItems
and maxNumItems. I want to be able to specify that maxNumItems >=
minNumItems within the model. I know that I can write code that
will do this, I was just wondering if it is possible to do within
the modeler.
Please file bug (feature) requests for these items: they are good
workflow enhancement requests.
4) The only way I've been able to think of for specifying
enumerations is to have an abstract entity that all of the concrete
entities declare as their parent; entities that need to use the
enumeration specify that they expect an entity of the abstract
type. Is this the best way of doing things in the modeler?
You are describing an inheritance hierarchy, not an enumeration.
However, you can also ways enumerate a class hierarchy to obtain the
list of all values, if you need to present them as options. (There
is unfortunately no method to access a complete superentity
hierarchy, but from the top you can ask for all subentities].
5) What is the upper limit to the number of elements that an
element can own? I.e., when I specify a 'to-many' relationship, at
what point will CoreData break when I add one more element? What
is the upper limit on the size of the store? I'm being
deliberately vague in that I don't want to find that the SQL store
can handle huge amounts of data, but that the binary or XML
versions can't.
There is no quantitative limitation in Core Data: the capacity to
handle large numbers of related items (via a relationship) is limited
by the Objective-C runtime (with is currently 32-bit). To over-
simplify, to Core Data a relationship is a set of objects maintained
in an associated collection class. You can have a to-many
relationship to millions of records, but obviously you'll spend time
and memory (limited by your processor and RAM) to access the contents
as the collection increases.
The experience *does* change with the different store types, though:
the atomically-written stores (XML and binary) will load their entire
dataset into memory on startup, whereas the SQLite store will bring
in only those objects explicitly requested by the developer. One of
the goals of Core Data is not just access to information, but
allowing the developer to specifically limit their working set for
optimum efficiency.
6) I noticed that CoreData can handle multiple threads (although I
haven't explored that aspect yet). Can it be distributed? That
is, if I create a cluster of machines, do I end up with a
bottleneck because the only way to distribute the data is via
NSProxy, or does CoreData have a truly intelligent way of
replicating data such that the whole cluster looks like it has one
large backing store? If it does have this ability, what about
security? That is, do I have to figure out how to setup a VPN, use
digital certificates, etc., or is there something in CoreData that
will take care of it for me?
The threading model for Core Data is currently focused around a
single process space.
- matthew
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden