That part that seemed relevant to your question is compile queries on denormalised views to queries on normalised databases.
On 9 December 2013 22:07, Brian Craft <craft.br...@gmail.com> wrote: > Very interesting paper, thanks. Seem to be more about LINQ to SQL, though: > translating queries in a host language to sql queries against a db. It > doesn't, for example, address indexing in-memory data. > > > On Monday, December 9, 2013 11:23:36 AM UTC-8, Jamie Brandon wrote: > >> Take a look at "A practical theory of language-integrated query" at >> http://homepages.inf.ed.ac.uk/wadler/topics/recent.html . In the FPDays >> talk linked there Wadler demonstrated writing queries which returned >> denormalised views on tables, composing those with queries on the >> denormalised view and compiling the result into efficient sql that acts >> over normalised tables. >> >> >> On 9 December 2013 17:56, Brian Craft <craft...@gmail.com> wrote: >> >>> Slightly OT, but I know many of you have read OOTTP. >>> >>> This paper describes a hypothetical relational modeling infrastructure >>> that allows declaring indexes on and writing queries against denormalized >>> tables as though they were normalized tables. The point of this is to >>> eliminate the complexity that comes from demands of performance: algorithms >>> become more brittle and harder to understand when they must be rewritten >>> for a denormalized data structure, for example. >>> >>> But does this infrastructure exist in the real world? I'm aware of >>> various efforts to provide relational modeling in the application, LINQ, >>> datomic, etc. But I haven't seen much in the way of indexing support, or >>> support for logical/physical schema separation. Is there some obvious way >>> to do these? Indexing in particular is critical. Hierarchical modeling >>> provides very fast look-up. Switching to a relational model without indexes >>> would mean potentially scanning millions of rows for every data access. >>> >>> -- >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clo...@googlegroups.com >>> >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+u...@googlegroups.com >>> >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure+u...@googlegroups.com. >>> >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> -- > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.