IssueRaiser

> The biggest problem with a procedural/explicit query is a dynamic system.

> The biggest problem with a procedural/explicit query is a dynamic system. Without a query planner, you don't have the luxury of a system rewriting your queries. When Table A ~ Table B, but then Table B >> Table A, your queries are going to be radically suboptimal. This was exactly my thinking. Worse yet, a good query optimizer will rewrite your queries as your data changes . So when tables grow or shrink, indexes are added or removed, and even as the distribution of the data within each table changes, you'll get execution plans that roll with the punches. If you've explicitly codified your execution plan, you don't get any of these advantages. Any changes, and you've got to re-write all your queries. So many of these NoSQL databases leave me shaking my head. Maybe I just don't get it, but I feel like once you understand how RA, DRC, TRC, and SQL are equivalent, you'll never want to write relational algebra again. Cost models aren't perfect but they're pretty good. System R-esque systems can evaluate like, A LOT of join orderings. You don't wanna just throw that power out on the whim that the developer might know better.

Posted by RMarcus on Jun 18, 2015, 11:33 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.6,000 issues0 comments

pricing (Other)

> The biggest problem with a procedural/explicit query is a dynamic system.

RMarcusJun 18, 2015, 11:33 PM

> The biggest problem with a procedural/explicit query is a dynamic system. Without a query planner, you don't have the luxury of a system rewriting your queries. When Table A ~ Table B, but then Table B >> Table A, your queries are going to be radically suboptimal. This was exactly my thinking. Worse yet, a good query optimizer will rewrite your queries as your data changes . So when tables grow or shrink, indexes are added or removed, and even as the distribution of the data within each table changes, you'll get execution plans that roll with the punches. If you've explicitly codified your execution plan, you don't get any of these advantages. Any changes, and you've got to re-write all your queries. So many of these NoSQL databases leave me shaking my head. Maybe I just don't get it, but I feel like once you understand how RA, DRC, TRC, and SQL are equivalent, you'll never want to write relational algebra again. Cost models aren't perfect but they're pretty good. System R-esque systems can evaluate like, A LOT of join orderings. You don't wanna just throw that power out on the whim that the developer might know better.

Comments (0)

No comments yet. Start the discussion.

Comment on this issue