About Big Data (2): SQL and No SQL
Posted by Dylan Wan on April 14, 2012
This is a good article written by Alan Gates, Pig architect at Yahoo!
He compares Pig Latin, a query language for Hive with SQL, the query language for relational database. He gave a good example that helps those who know SQL to understand the differences.
The query language is not difficult to write. The key point is that it lets the programmer to control the execution plan. SQL on the other is a higher level abstraction that hides the execution plan from users. It does not means that we do not really need to be worried about execution plan. We do. It is a key for performance tuning.
A good practice for SQL developers is to get the explain plan and to see how Oracle plans to execute the query and optionally use hint and index to control the execution.
Comparing to this, the approach of directly telling the system what to do may seem easier.
But it means that the database system to handle big data does less things, not smarter.