"Hardy" <yh********@hot mail.com> wrote in message
news:cc******** ***@mail.cn99.c om...
I'm pretty new in this field. when reading some 70x material, I met with
this term but cannot catch its accurate meaning. who can help me? thanks
in advance:)~
Share-nothing architecture refers to parallel processing where a table is
divided into multiple partitions so that the database can work
simultaneously on each partition in parallel. For best results and the most
scalability, each partition would not share hardware resources with other
nodes. These hardware resources include memory, disk drives, disk
controllers, processors, etc. Hence the term, share-nothing.
In a true share-nothing architecture, each database partition is on a
separate computer (physical node) with a high-speed interconnect between
them. This architecture was invented by Teradata, which used multiple Intel
386 PC's and a proprietary operating system in the early 1980's.
Today, with the advent of SMP (Symmetrical Multi-Processing) machines, a
single computer can have multiple CPU's, multiple disks and controllers, and
OS which can effective share memory and other resources among multiple
processes running on a single computer at the same time. However
share-nothing still provides the ability to have linear scalability to very
large databases, whereas the scalability of SMP is not quite linear and
reaches a saturation point at some level.
Most parallel implementations with DB2 are a hybrid of share-nothing and
SMP, where there are multiple physical nodes, but each one is SMP machine.
So in this case, you might have 6 nodes (computers) each with 4 CPU's, and a
total of 24 database partitions (4 per node). True share-nothing would be
one database partition per physical node.
Share-nothing is also used to distinguish DB2 and Teradata from other
parallel implementations such as Oracle, which is not capable of true
share-nothing, even if you had one partition per node, because of the way
the Oracle parallel database works internally. Even though Oracle is not
capable of true share-nothing, it works well for moderate sized parallel
processing of data warehouses, but not quite as good as DB2 and Teradata.
Oracle multiple node implementations , because they are not true
share-nothing, actually enhances its ability to implement failover
capability, expressly because of its lack of a true share-nothing
architecture.