On Tue, Dec 26, 2006 at 03:29:12PM -0500, Natthapol wongsaroj wrote:
Hi,
With some help and supports from people in this mailing list I was able
to set up and run Ingres2006 successfully -- many thanks!!
Currently, I have been trying to set up Ingres2006 to be able to
perform parallel query across multiple machine but I am not successful
yet. I would like to be able to create a table by horizontally
partitioning across different physical locations (I have a cluster of
x86 64-bit linux machines). The application I am running is heavily
query-intensive -- a data mining application (I am not concerned about
high availability and the speed of updating database) and we would
like to benefit from querying multiple machines in parallel in addition
to parallel querying using multiple CPUs on the same machine and
assembling the results from those machines.
I have the following questions:
1. Is it possible at all to use Ingres2006 to do the task described
above? I have been reading the SQL guide and found the example of
partitioning a table across different locations but I am not quite sure
whether if the table is partitioned across different machines, when I
use SQL statement, the results will be automatically assembled
correctly?
The Ingres 2006 partitioning option cannot define cross-machine tables.
But you _can_ define (essentially identical) tables on multiple machines
that are _logically_ partitions of one table. Your application code will
have to know which machine contains which logical partition, and store
the data accordingly. So the partitioning can be done, but will require
a little work on your part, but it should be no big deal to send the
data to the right machine based on key values. If these values change it
gets more complicated, as you would have to move rows to a different
machine. But I get the sense that the data is queried much more often
than it is stored or modified.
2. I understand that I have to install and configure Ingres Net with
Distributed Option. I have been reading the Distributed Option user
guide but it seems like the guide describes mostly about distributed
database where different tables are located across different machines,
it doesn't mention much about partitioning. I would like to make sure
that configuring Ingres Net with Distributed Option will enable the
task described above. Once I configure Ingres Net with distributed
option properly, I should be able to create a distributed database that
have tables partitioned across several physical locations, right? I
understand that I do not need the cluster solution or high availability
configuration (and I understand that the cluster solution is not fully
supported yet?)
The Distributed Option (also known as Ingres Star, so look for this also
in online discussions, for example in comp.databases.ingres on
groups.google.com) allows you to create a central catalog that knows
about the distributed tables (what you are calling partitions). And it
knows how to break up the query to execute on the various machines, and
then assemble the results. The distributed query optimizer knows about
such things as network communication cost, and takes that into account
when optimizing the query. Without knowing a lot more about your
specific need, I cannot say whether or not this is going to meet your
need, but it is in general the architecture you're looking for - a
database that is spread across machines with a catalog that encompasses
all the machines, an optimizer that understands this topography, and a
query consolidator.
3. Last but not least, I just noticed earlier today that Ingress 2006
Community Edition for Linux X86 64-bit machine is not available anymore
but it is still available as the Certified Edition. What 's happened?
There should be somewhere on the web site to make queries about this.
I'm on holiday so am not going to check, but I hope there is. ;) Of
course 64-bit Linux machines are fully supported. If the binaries you
need are temporarily unavailable as a new release comes you, you do
have the option of rebuilding from source. It is not quite the push of
a single button, but it can actually be done rather easily, given the
fact that Ingres is a very large and sophisticated product. And you can
find support for such a product build effort on this list.
Any suggestions would be highly appreciated.
Regards,
Natthapol
Good luck!
MikeT
--
Michael Touloumtzis
Software Architect
Ingres Corporation
_______________________________________________
Users mailing list
Users@lists.ingres.com
http://lists.ingres.com/mailman/listinfo/users