Re: Relational Model and Search Engines?
Date: 3 May 2004 22:52:29 GMT
Message-ID: <c76ifc$b1pc$3_at_ID-125932.news.uni-berlin.de>
Oops! Leandro Guimarăes Faria Corsetti Dutra <leandro_at_dutra.fastmail.fm> was seen spray-painting on a wall:
> Em Mon, 03 May 2004 20:42:33 +0000, Alfredo Novoa escreveu:
>
>>> My understanding is that they in fact were a big, ugly cache.
>>
>> Main memory DMBS only means that the data reside in memory and not in
>> disks. It is possible to make ugly and beauty MMDBMSs.
>
> So how does it differ from a big cache or a solid-state disk
> system?
Algorithms change somewhat in view of the fact that there is no need to clean up a dirtied cache. Since I/O goes away, many of the assumptions behind B-tree algorithms become false.
The canonical algorithm for Main Memory databases is the T-Tree, attributed to T.J. Lehman and M.J. Carey. A study of index structures for main memory database management systems. In Proceedings of the Conference on Very Large Databases, Morgan Kaufman pubs. (Los Altos CA) 12, Kyoto., pages 294--303, August 1986.
> More specifically, how is it that it can have data in memory
> and still COMMIT?
Why would you imagine that this would present any problem with the notion of storing a transaction log on disk?
> Even more specifically, is it possible to do it decently with
> a relational language or SQL?
Again, why would you imagine that assuming all data can be found in memory would present any problems in implementing a query language?
The 'norm' in a 'disk-based' database system is that updates hit in the following places:
- They are written to the transaction log, which writes them to disk;
- They are written to database pages, which "dirties" them, leading to them being written (perhaps later) to disk.
In a "main memory" system, the approach is not much different:
- They are written to the transaction log, which writes them to disk (*just as with a traditional paging system*);
- They are written to database pages, which are known to be in memory, which do not ever forcibly have to be written to disk.
The essential difference is that you have eliminated all I/O that does not directly relate to transaction logging.
-- If this was helpful, <http://svcs.affero.net/rm.php?r=cbbrowne> rate me http://www3.sympatico.ca/cbbrowne/nonrdbms.html Wiener's Law of Libraries: There are no answers, only cross references.Received on Tue May 04 2004 - 00:52:29 CEST