Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: partitioned? distributed? parallel? replicated?
Brant Cooper wrote in message <36B79640.63F16855_at_tumbleweed.com>...
>I have an application which sits between an http service and an Oracle
>server. I would like to "partition" the Oracle server in such a way
>that two (or more) Oracle servers contain the same database, but
>different data, segmented by some data value (e.g. account name, or
>region).
If you have two or more instances for the same database (Oracle Parallel Server), each of these instances have -full- access to -all- the data in the database. You can not limit one instance to only a part of the database. All schemas are accesible on all instances.
But you can limit the -usage- of the data on an instance. This is called application partitioning. You break the application up into pieces so that each piece runs again a different database instance.
You can also partition data using horizontal and vertical partitioning. I hope I explain these terms correctly. Anyone who wants to correct this, please jump in.
Oracle supports vertical partitioning. You split the data of a tables across parititions (i.e. physical files/devices) according to some criteria (a date being the most common one). Simplistically, instead of having to access 10GB of diskspace to find the rows you want, Oracle knows which specific 1GB file/device to scan to find the rows you want want.
Another method to partition data is called horizontal paritioning. It is usually done where you have rows made up of a very large number of columns. You thus partition the table by grouping like columns together. One row thus spans multiple "partitions". The closest Oracle comes to this I think is with the table cluster option that allows you to fast joins between a set of tables.
Finally you mentioned replication. I know in theory how it works but have never used it in practice so can not comment how well that will work with what you have in mind.
>about, is it possible to make this segmentation transparen to my
>application, i.e. can Oracle manage the segmentation (perhaps via a
>"gateway-type" process perhaps running on the application server?
It depends on what exactly you have in mind. If you want to run several "dedicated applications" as oppose to a single "all-purpose application", each of the "dedicated" ones will need to know what schema to use and what TNS alias to use to connect to what instance.
Another question of course is why. What is the business or technical requirements behind the decision to partition the data and/or application? Are the complexities and costs the that goes with Oracle Parallel Server and the associated justified? If it is for example a performance issue, can this not be better solved by a hardware upgrade or using a better and more scalable hardware platform? Maybe the application can no longer handle the volume and it is the bottleneck. A change in the database server architecture may thus only be a temporary fix as the application design/architecture needs changing.
Hopes my rambling helps a bit to further (not?) confuse you. :-)
regards,
Billy
Received on Thu Feb 04 1999 - 00:56:39 CST
![]() |
![]() |