Zoho CloudSQL - A Detailed ReviewBy Angsuman Chakraborty, Gaea News Network
Thursday, December 4, 2008
Its been long since we have heard about anything ground breaking concerning SQL (Structured Query Language). Though being an oldie in this generation, the fact is, by far SQL is one of the easiest and most efficient ways to query and interact with structured data. That’s why it remains one of the most heavily used languages for business applications. So when I did a little research on CloudSQL, I had no reason but to be happy with the features they offer.
What is Zoho CloudSQL
Zoho CloudSQL is a technology that allows developers to interact with business data stored across Zoho Services using the familiar SQL language. In addition, JDBC and ODBC database drivers make writing code a snap – just use the language construct and syntax you would use with a local database instance. Using the latest Web technology no longer requires throwing away years of coding and learning.
So to point them down as featured in their release,
- It’s the first technology that allows customers to interact with their data on the cloud, from another cloud application or from an on-premises one through real SQL.
- It supports multiple SQL dialects. We support all the major (and even some not so major) ones: ANSI, Oracle, SQL Server, IBM DB2, MySQL, PostgreSQL and Informix.
- With their JDBC/ODBC drivers, developers can access data in the cloud just as easily as if it were stored in a local database.
How Does Zoho CloudSQL Work?
This is perhaps the most important question to ask. What exactly is this CloudSQL and how is it different from the old SQL we use.
As you can see in the picture, developers can use Zoho CloudSQL to extend and interact with data stored in Zoho services. Zoho CloudSQL can be used through the following connectivity options:
- JDBC/ODBC Driver: Connect to the Zoho services for SQL querying, in the same way as they access a traditional, on-premise database server through JDBC or ODBC drivers.
- HTTP Web API: Connect to the Zoho services for SQL querying through the use of HTTP based Web APIs, sending their requests as SQL statements.
The main purpose of the SQL Interpreter component is to translate the SQL statements that are executed by the third party application into a neutral dialect that can be understood by the individual Zoho Services. Sounds greek? Well listen to Raju Vesegna who says,
You can think of CloudSQL as a linking mechanism for things like QuickBooks or any application that wants to talk to and from Zoho data
The federation layer understands the SQL Model passed by the SQL interpreter and handles the following two important functions:
- Service specific Query delegation: From the SQL model it will identify the Zoho services to which the query has to be delegated, and delegate the queries to the corresponding Zoho Service for execution.
- Result Aggregation: Once the query is executed across the Zoho Services, it will aggregate the results and send it back to the application as a unified result.
As each Zoho Service collects and mines information about various business entities, the exact correlation of what is a database or table or columns in the context of a Zoho Service. Entity mapper does that only.
Its the end point of the layers. Zoho Service like Zoho CRM, Zoho Creator, Zoho Reports etc., make up the last layer in the Zoho CloudSQL architecture
External Web Services
Zoho CloudSQL enables developers to query the data in the Zoho services using the standard SQL language. By extending the middleware layer of Zoho CloudSQL, this technology can also be used to query any other web services across the web.
I still didn’t figure out how despite being so confident on services, Zoho didn’t go for a wider distribution and a better promotion. After all introducing anything new is way more than making some SQL queries and a Web API. What remains to be seen is the acceptability of CloudSQL concept by different organizations around the world. But one thing is for sure, it has every potential to offer us with a richer experience.