On Wed, 2006-07-05 at 23:04 +0200, Dave Schoorl wrote: > Thanks for the insights. > > I actually already planned for database replication. The slave database > will be used by mmbase and contains all the tables of the master > database, which is controlled by the other application on an internal > network, and much more. It is not necessary that data changes in the > master database (mainly row insertions) be visible immediately in the > mmbase (slave) database. A timeout on the cache (assuming this is > supported) would be sufficient.
I could be a bit to pragmatic here, but maybe you could introduce a couple of builders which use a direct JDBC setup to retrieve data from the (read-only?) mysql database. Mind you, I think it would be a painfull operation... and I would probably not have selected MMBase for this type of job (as other mentioned in this thread) > I am now thinking that I best create the necessary fields (otype, number > and owner) in the mmbase (slave) database -- not in the master database > -- and add a trigger that will fill the otype, number and owner fields > automatically on an insert. But I then still have the challenge with > regards to the VARCHAR primary keys. Because I think in the replication > process, adding a trigger in the slave database to retrieve the node > number of the record that the VARCHAR foreign key points to and place it > in a new foreign key column to point to the same record in the > referenced table for use by mmbase will be hard (if not impossible), > impracticable and too complex. To me this would almost be the most complex solution thinkable to solve your problem.... > What would it take me to add support to mmbase for node identification > on the basis of (multiple fields) VARCHAR primary keys instead of a node > number? Would that be a feasible option? -- please enlighten me when my > mmbase internals ignorance makes you wanna pull your hair out. > Thanks once more for your patience and help, > > Dave > > > > Michiel Meeuwissen wrote: > > Dave Schoorl wrote: > > > >> I have just created my first two builders A and B, both existing > >> database tables have a single field VARCHAR primary key. When I run > >> mmbase, it says that the fields otype, number and owner are not present > >> in the database table and therefore treated as virtual. > >> > > > > That is very bad. It will not work with those fields virtual. > > > > > >> I now try to > >> model that A contains a field that is a foreign key to B. I guess I have > >> to use the NODE-type for that. However, since the relationship is over a > >> VARCHAR-field, I have no idea how to accomplish that. > >> > > > > NODE-type fields are always supposing that records are identified with > > the number feld. > > > > > >> of A's builder file, describing the relationship, but as is, this is > >> (obviously) not working out. What do I have to do to make this work? > >> > > > > It may be possible to trick MMBase in believing that there are actual > > mmbase tables by creating views, combining the existing data with > > stub-mmbase tables with at least those field s otype,number,owner, which > > must somehow also be filled if this other application is creating > > data. It should also be filled for data which is already existing, which > > would require some careful thinking as well. > > > > If this other application will actively update the data, you will have > > interesting problems any way, because mmbase must be notified that it > > should invalidate caches if something changes in its database. > > > > I think this all will be quite hard to do. Probably you'd be better of > > with some data-synchronization job or so. > > > > > > > > Michiel > > > > > > > _______________________________________________ > Developers mailing list > [email protected] > http://lists.mmbase.org/mailman/listinfo/developers _______________________________________________ Developers mailing list [email protected] http://lists.mmbase.org/mailman/listinfo/developers
