OO and OR List a few required features of an OODB. List a few novel features of Postgres. Consider a simple OODB with pointers on it as follows: page A has 10 pointers on it, 7 of them to objects on Page A itself, 2 to objects on page B, and one to an object on page C. page B has 5 pointers on it, all of them to objects on page A. page C has 22 pointers, each to a different page, pages D through Y. Make reasonable assumptions and compare the costs of the following strategies for swizzling. a. Never swizzle b. Swizzle pointer on first dereference c. On page load, swizzle all pointers that are in-memory references. d. On page load, swizzle all pointers, recursively. If you have a large BLOB in an object-relational database, name one benefit and one drawback of breaking up the tuple structure and storing the BLOB separately. Consider a B-tree that returns (pointers to) tuples each of which is 20 pages in size. Explain how the benefits of clustered vs unclustered access will change in this situation, compared to the standard situation where a typical tuple is only 100 bytes and dozens of tuples fit on a page.