Software Systems Spring 2005 For today, you should have: 1) worked on your project 2) read Raskin Outline: 1) file system interface 2) Raskin 3) C / pthreads debriefing 4) project time? For next time you should: 1) work on your project 2) read Database System Implementation and answer reading questions 3) prepare for a quiz Reading Questions ----------------- Database System Implementation, pp 40-62 There are more page in this reading than usual, but at least on the first pass, you can skip the running Example and just read the main text. On a second pass, you might want to read the examples to test your understanding. There is a little database-specific vocabulary, so here are some definitions that might help. A "relation" is like a dictionary or hash table that maps keys to values. The keys are often unique identifiers of some kind, the values are often records. A "tuple" is a value stored in a relation, also called a record. If you took Software Systems with me, we saw an example of a database with two relations, one for respondents and one for intervals. Each relation mapped a unique identifier to a tuple, or record, that stored all the information about a given respondent or interval. 1) What is the primary performance assumption that underlies the design of database algorithms? 2) What work is done during the first phase of a multiway merge sort? 3) What work is done during the second phase? 4) During the second phase, why aren't the sublists merged pairwise? 5) Page 47 makes it sound like the two phases take the same amount of time, but in practice, which one do you think takes longer? 6) Page 48 makes an argument that two phases is enough to handle the biggest conceivable database. Do you buy it? The bulleted list on page 51 is an outline of the next few sections. Come back to this list at the end to make sure you understand each point. 7) In Section 2.4.2, why is it important that the disks have independent heads? 8) In Section 2.4.3, would it make any sense to have two copies of the same data on the same disk? 9) What is the primary advantage of the elevator algorithm over FIFO? 10) What is the primary drawback of the elevator algorithm?