> > We do both. The entire CFC is serialized into a Blob (a byte array); > as you may know from the GAE documentation, Blobs are not indexed and > you can't search on them. Then, all of the simple variables (number, > boolean, string, and date) in the CFC "this" and "variables" scope are > stored as properties that you can search on. The translation map is > very simple: >
That is a very non-obvious and intelligent way to do it. Very nice. The bottom line is that I think it's going to take some custom code to > migrate the BlogCFC data (for example) from a relational database to > the GAE datastore. I expect there may be an opportunity for some > consulting services in that area, and I expect to position New Atlanta > to be able to provide those services. > I definitely see that as the systems are fundamentally different. Once someone does figure out their new model, though, they will have to *upload* the data through openbd, rather than some independent import tool, because they will need the serialized cfc's. Something along the lines of looping through a csv and populating a cfc then GoogleWriting() it. This tightly couples the datastore with OpenBD, which could make it awkward if, perhaps, you have a huge app that also uses, for example, straight java or groovy, ontop of OpenBD. Maybe the raw data should be stored in clean, separate *tables* and OpenBD creates its own indexes with serialzed cfc's that references them? But then if other apps are referencing the same data how can you be sure the serialized cfc is in synch. Complicated. There are some ORM aspects to this solution, which makes OpenBD life easier, but I am concerned that perhaps this is not the proper layer to do it in. Just some thoughts. GAE provides an API to memcache and I expect we'll use that to > implement a query caching layer, adding support for the CACHEDWITHIN > attribute to CFQUERY, for example. All the caching features currently > available in BD (and CFML in general) should be available on OpenBD/ > GAE. > That would be excellent. Did you ever figure out how the application scope works? Is that saved in memcached? [Relationships are] on the TODO list. Modelling relationships is going to be very interesting too. Non-trivial. What ideas do you have? Thanks a lot for excellent answers to my numerous questions! Baz --~--~---------~--~----~------------~-------~--~----~ Open BlueDragon Public Mailing List http://groups.google.com/group/openbd?hl=en official site @ http://www.openbluedragon.org/ !! save a network - trim replies before posting !! -~----------~----~----~----~------~----~------~--~---
