• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: [REPOST] Data Modeler/Core Data
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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
References: 
 >[REPOST] Data Modeler/Core Data (From: Cem Karan <email@hidden>)

  • Prev by Date: Re: [REPOST] Data Modeler/Core Data
  • Next by Date: Re: [REPOST] Data Modeler/Core Data
  • Previous by thread: Re: [REPOST] Data Modeler/Core Data
  • Next by thread: Re: [REPOST] Data Modeler/Core Data
  • Index(es):
    • Date
    • Thread