From: Jim S. <ja...@ne...> - 2004-09-29 15:48:19
|
Aleksey Karyakin wrote: >>This question has been around longer than Interbase. The great unwritten >>component is traditionally called the mega-database manager. >> >> > >Why unwritten ? I thought there are lots of Mega Database Managers on the >market. Most "big" DBMS have such capability not counting separate products. > > > It just never made it to the top of the list. A client willing to pay for it would have moved it up, but the client has never stepped forward. Even Sean has declined to pay for it. >What's the difference between performing a join (for example) using two >tables in the single database or from the separate database files on the >same Firebird server ? Two tables are just objects loaded in server memory >at some point. > > It's not nearly that simple. The table itself is materialized record by record, never as a single entity. What version of a record is appropriate for a particular transaction, the exact format of the record, whether garbage collection needs to be performed are all driven by relatively complex, interlocked data structures that drive a database engine. The data structures, in turn, are isolated from each other by the V-valve. Extending the engine to allow cross talk across two or more physical databases would required a total resign of the system. And while it well might benefit from a ground up redesign, it probably wouldn't be Firebird compatible when it was finished. For example, if you were going to start over, why keep BLR? But if you don't keep BLR, you've cut yourself off from the entire installed base. A better solution is to layer a solution on existing engines. The MDM would be a provider using the same API as the engine, the remote interface, and the gateway. It would prepare DSQL statements by decomposing it into SQL statements for execution on that target bases, calling back into the Y-valve for access, and coordinating the results. The implementation would be smaller and simpler than the changes required to do the same thing in the engine, and would automatically work for remote databases, engines of different version, and the gateway to Interbase and legacy Firebird. -- Jim Starkey Netfrastructure, Inc. 978 526-1376 |