GridSQL® Project
GridSQL is a robust parallel query product built on a shared-nothing distributed data architecture. GridSQL is fully integrated into Postgres Plus® Advanced Server.
GridSQL is a robust parallel query product built on a shared-nothing distributed data architecture. GridSQL is fully integrated into Postgres Plus® Advanced Server.
Q. What is the difference between GridSQL and Infinite Cache?
A. Both provide horizontal scaling architectures. GridSQL is appropriate for extremely large data warehousing applications and addresses distributing physical data storage and parallel queries across multiple machines. Infinite Cache is targeted at OLTP workloads with lots of random reads and addresses distributing in-memory cache data across multiple machines.
Q. Where on the Business Intelligence stack does GridSQL fit in?
A. GridSQL provides a solution for the heart of a Business Intelligence solution - the database. It is used for scaling out a database with large volumes of data for handling ad hoc querying. GridSQL can work with other third-party BI tools, including free, open source tools provided they can work via standard interfaces such as JDBC and ODBC or the PostgreSQL protocol (libpq).
Q. If I deploy GridSQL, will my existing applications still work?
A. Yes, provided you have connectivity through a supported driver such as ODBC, JDBC or libpq. GridSQL supports standard SQL (Structured Query Language), and if you have existing applications that use another database, replacing it with GridSQL should require little or no modification to existing applications.
Q. Is this a read-only database? Does it only support star schemas?
A. No, it is not read-only; we do support write activity as well, and the supported SQL is extensive. Also, you are not limited to certain schemas or join types as GridSQL can freely join across nodes. Of course, one should put some thought into schema design.
Q. How does GridSQL work?
A. GridSQL parallelizes databases by distributing data among several nodes in a shared-nothing architecture. It leverages and builds upon the proven reliability and robustness of the underlying database, typically EnterpriseDB’s Postgres Plus and Postgres Plus Advanced Server.
Q. Is GridSQL's product open source?
A. Yes, it is written in Java®, and is licensed via the GPL v2, with a special license exception that allows GridSQL to be used by many other open source technologies. If you have other licensing needs, please feel free to contact us.
Q. Must I run an agent on each node?
A. No, it is optional. For the initial installation and configuration, we recommend that you do not use the agents. Once you are more familiar with the software, you should use the agent processes for greater scalability.
Q. What RDBMS does GridSQL use?
A. GridSQL is certified and supported on EnterpriseDB’s Postgres Plus and Postgres Plus Advanced Server RDBMS products, as well as on PostgreSQL, a proven, robust, mature open source database. Each of these products supports table partitioning within the same database instance, to potentially reduce the amount of rows scanned for queries, an important feature when dealing with large volumes of data. Since GridSQL uses JDBC, in theory it also works with other JDBC compliant databases if those products use fairly vanilla SQL.
Q. Can GridSQL use MySQL, Firebird, MaxDB/SAP-DB, etc.?
A. We certify and support GridSQL using Postgres Plus installations. That said, the configuration options for GridSQL are quite flexible, and properly configured, other databases may work, although some functionality may be limited.
Q. If you support PostgreSQL, does that mean I can use all PostgreSQL features?
A. No. GridSQL uses its own parser (and optimizer and planner) that accepts ANSI standard SQL. It also recognizes some other common extensions present in many databases, with an emphasis on PostgreSQL. Although GridSQL also has flexible configuration options that allow you to map SQL commands and define functions, the mapping of some database-specific features may not be supported.
Q. What kind of connectivity do you offer?
A. Since GridSQL supports the PostgreSQL protocol, any EnterpriseDB or PostgreSQL driver will work, such as the ones for JDBC or ODBC. For those familiar with PostgreSQL, you can even use psql or any application using libpq to connect to GridSQL.
Q. Do you support stored procedures?
A. No, not at this time.
Q. I have a database that does 10,000 transactions per second that I need to scale out. Can I use GridSQL?
A. GridSQL is targeted towards Business Intelligence. Thus, it is not an appropriate solution for high-volume OLTP (online transaction processing) applications.
Q. In testing, I noticed a query that previously ran in 100 milliseconds on a single PostgreSQL instance still runs in 100 milliseconds on 4 nodes with GridSQL. Why isn't it faster?
A. There is a certain amount of overhead for parallelization, and an extra hop is introduced which will add some latency. When dealing with queries that are measured in milliseconds, you are not likely to see much benefit. However, when you execute queries that would normally run in the tens of seconds (or minutes, or more) on a single database instance, you will achieve significant performance benefits executing on multiple nodes with GridSQL.
Download Postgres Plus, which includes GridSQL and the Postgres Plus database server, or download GridSQL and the source code separately.