473,729 Members | 2,178 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

what's "share-nothing archtecture"?

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:)~
Nov 12 '05 #1
24 7663
"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.
Nov 12 '05 #2
Hardy wrote:
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:)~

did you try google? It amazes me how people don't use google.

http://www.google.com

Put in the word "shared-nothing"

http://db.cs.berkeley.edu/papers/hpts85-nothing.pdf

Nov 12 '05 #3
Mark A wrote:
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.


I was going to ignore this until I got to this paragraph. Oracle is
not 'incapable of true shared-nothing' ... it is designed with an
entirely different architecture and has no interest in trying shared
nothing.

Well actually Oracle was shared-nothing through version 5 or 6 but
rejected it because of the very issues we have beaten to death multiple
times so I'll no belabor the point again.

Suffice it to say that Oracle, like DB2 on mainframes, is a
shared-everything architecture by intent and no-one I am aware of with
experience with shared-everything has indicated any desire to return
to the bad old days.

--
Daniel Morgan
http://www.outreach.washington.edu/e...ad/oad_crs.asp
http://www.outreach.washington.edu/e...oa/aoa_crs.asp
da******@x.wash ington.edu
(replace 'x' with a 'u' to reply)

Nov 12 '05 #4
"Daniel Morgan" <da******@x.was hington.edu> wrote in message
news:1089044573 .775113@yasure. ..

I was going to ignore this until I got to this paragraph. Oracle is
not 'incapable of true shared-nothing' ... it is designed with an
entirely different architecture and has no interest in trying shared
nothing.

Well actually Oracle was shared-nothing through version 5 or 6 but
rejected it because of the very issues we have beaten to death multiple
times so I'll no belabor the point again.

Suffice it to say that Oracle, like DB2 on mainframes, is a
shared-everything architecture by intent and no-one I am aware of with
experience with shared-everything has indicated any desire to return
to the bad old days.

--
Daniel Morgan


Well, aside from the fact that you quoted me incorrectly, I will say that
apparently Oracle could not make share-nothing work based on the existing
product they already had.

Share-nothing works best for large scalable data warehouses. Share
everything works best for 24x7 applications where failover and zero downtime
is extremely important. But even with share-nothing, most systems can be
brought back up in a few minutes, and their failover capabilities are
steadily improving. But in the end, one has chose which is more
important--scalability or failover.

I did say that Oracle's lack of share nothing did help it with failover
capabilities, but I think that DB2 is quickly catching up even with their
share-nothing architecture.
Nov 12 '05 #5
Mark A wrote:
"Daniel Morgan" <da******@x.was hington.edu> wrote in message
news:1089044573 .775113@yasure. ..
I was going to ignore this until I got to this paragraph. Oracle is
not 'incapable of true shared-nothing' ... it is designed with an
entirely different architecture and has no interest in trying shared
nothing.

Well actually Oracle was shared-nothing through version 5 or 6 but
rejected it because of the very issues we have beaten to death multiple
times so I'll no belabor the point again.

Suffice it to say that Oracle, like DB2 on mainframes, is a
shared-everything architecture by intent and no-one I am aware of with
experience with shared-everything has indicated any desire to return
to the bad old days.

--
Daniel Morgan

Well, aside from the fact that you quoted me incorrectly, I will say that
apparently Oracle could not make share-nothing work based on the existing
product they already had.


An incorrect assumption. I didn't work in an environment where there was
a desire to have multiversion read consistency ... the ability to have
reads not block writes and writes not block reads. And it has far too
much overhead, in human hours, when adding or removing nodes. And it
decreases mean time between failure.

Don't try to invent reasons ... the reasons have been known and
published for more than a decade.
I did say that Oracle's lack of share nothing did help it with failover
capabilities, but I think that DB2 is quickly catching up even with their
share-nothing architecture.


We shall see. So far what I have seen still involves a parent or master
node that, if lost, causes a loss of service.

I have nothing against shared-nothing when implemented appropriately. My
problem was with what I interpreted as your statement that Oracle
couldn't implement it. Oracle did. Then threw it away.
--
Daniel Morgan
http://www.outreach.washington.edu/e...ad/oad_crs.asp
http://www.outreach.washington.edu/e...oa/aoa_crs.asp
da******@x.wash ington.edu
(replace 'x' with a 'u' to reply)

Nov 12 '05 #6
Daniel Morgan wrote:
Mark A wrote:
"Daniel Morgan" <da******@x.was hington.edu> wrote in message
news:1089044573 .775113@yasure. ..
I was going to ignore this until I got to this paragraph. Oracle is
not 'incapable of true shared-nothing' ... it is designed with an
entirely different architecture and has no interest in trying shared
nothing.

Well actually Oracle was shared-nothing through version 5 or 6 but
rejected it because of the very issues we have beaten to death multiple
times so I'll no belabor the point again.

I'd love to hear the reasons.
Suffice it to say that Oracle, like DB2 on mainframes, is a
shared-everything architecture by intent and no-one I am aware of with
experience with shared-everything has indicated any desire to return
to the bad old days.

Oracle is shared-everything? I thought it was just shared-disk.
--
Daniel Morgan
Well, aside from the fact that you quoted me incorrectly, I will say that
apparently Oracle could not make share-nothing work based on the existing
product they already had.


Not surprising.

An incorrect assumption. I didn't work in an environment where there was
a desire to have multiversion read consistency ... the ability to have
reads not block writes and writes not block reads. And it has far too
much overhead, in human hours, when adding or removing nodes. And it
decreases mean time between failure.

So it has nothing to do with the Oracle distributed lock manager?

Don't try to invent reasons ... the reasons have been known and
published for more than a decade.
And they are???
I did say that Oracle's lack of share nothing did help it with failover
capabilities, but I think that DB2 is quickly catching up even with their
share-nothing architecture.

We shall see. So far what I have seen still involves a parent or master
node that, if lost, causes a loss of service.


Have you used anything but Oracle?
I have nothing against shared-nothing when implemented appropriately. My
problem was with what I interpreted as your statement that Oracle
couldn't implement it. Oracle did. Then threw it away.


Hee-hee! :o)

I guess Oracle figured there was no need to scale beyond what, 8 servers
in a cluster?
Nov 12 '05 #7
Data Goob wrote:
Oracle is shared-everything? I thought it was just shared-disk.
Then you thought 'wrong'.
Don't try to invent reasons ... the reasons have been known and
published for more than a decade.

And they are???


http://otn.oracle.com. Surely you don't need to be spoon fed.
Have you used anything but Oracle?
DB2, Informix, Sybase, Ingres, Teradata, COBOL, and Fortran on
punchcards.
I guess Oracle figured there was no need to scale beyond what, 8 servers
in a cluster?


10g scales to 128. The only place I can remember having an 8 node
limitation is on Solaris with Veritas. And the limitation is Veritas
not Oracle. Oracle scales to more nodes when Veritas is not used.

--
Daniel Morgan
http://www.outreach.washington.edu/e...ad/oad_crs.asp
http://www.outreach.washington.edu/e...oa/aoa_crs.asp
da******@x.wash ington.edu
(replace 'x' with a 'u' to reply)

Nov 12 '05 #8
Come on Daniel ... he means in reality. Don't quote theoreticals. How
many referenceable 128-node implementations of shared-everything,
shared-disk or whatever you want to call it ... does Oracle have?

Larry Edelstein

Daniel Morgan wrote:
Data Goob wrote:
Oracle is shared-everything? I thought it was just shared-disk.

Then you thought 'wrong'.
Don't try to invent reasons ... the reasons have been known and
published for more than a decade.

And they are???

http://otn.oracle.com. Surely you don't need to be spoon fed.
Have you used anything but Oracle?

DB2, Informix, Sybase, Ingres, Teradata, COBOL, and Fortran on
punchcards.
I guess Oracle figured there was no need to scale beyond what, 8
servers in a cluster?

10g scales to 128. The only place I can remember having an 8 node
limitation is on Solaris with Veritas. And the limitation is Veritas
not Oracle. Oracle scales to more nodes when Veritas is not used.


Nov 12 '05 #9
Daniel Morgan wrote:
Data Goob wrote:
Oracle is shared-everything? I thought it was just shared-disk.

Then you thought 'wrong'.


OK on Sun Starfire UE 10000 it's shared-everything, but is that on
all platforms? I think not--or would be very surprised if Oracle
on a typical 4-cpu or 8-cpu system could even work as shared-
everything. And my knowledge of Starfire is from a few years ago,
with Oracle 7 and 8. Intel is different hardware, and it is
questionable if Intel CPUs are even capable of the high-bandwidth
required to make SE work at the same levels as the Starfire--it's
not going to even approximate SE without the wheels coming off.
But I could be wrong...maybe it could work today. But big iron
systems are still very expensive, and a lot of shops can instead
cluster lower-end hardware and still get remarkable performance--to
wit the Opteron 2-cpu systems that DB2 can be clustered on with
shared-nothing.
Don't try to invent reasons ... the reasons have been known and
published for more than a decade.

And they are???

http://otn.oracle.com.

....
Surely you don't need to be spoon fed.

Can't argue with that. But I think it's important to note that
Oracle is not the same beast on all platforms, it cannot be exactly
the same on the Starfire as it would be on an Intel system, it
would simply not function the same.
Have you used anything but Oracle?

DB2, Informix, Sybase, Ingres, Teradata, COBOL, and Fortran on
punchcards.
I guess Oracle figured there was no need to scale beyond what, 8
servers in a cluster?

10g scales to 128. The only place I can remember having an 8 node
limitation is on Solaris with Veritas. And the limitation is Veritas
not Oracle. Oracle scales to more nodes when Veritas is not used.


Hmmmm, not what I read. Every time I hear about Oracle it's their
distributed lock manager that degrades over N servers. The more servers
the more complicated it gets.

Nov 12 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
2256
by: Phil Powell | last post by:
class Parent { var $errorArray = array(); function Parent() { return true; } function getErrorArray() { return $this->errorArray; }
0
1442
by: Marco Herrn | last post by:
Hi, I tried to install a package under debian, where in the postinstall phase some python scripts are called. Then I got the error "Sorry invalid mode: U". I looked what this script does and it is the following: python -O /usr/lib/python2.3/compileall.py /usr/share/woody I looked where exactly in compileall.py the error occurs and it is here:
7
1744
by: lpe | last post by:
http://www.pycode.com I was kinda suprised when I could not find any good sites with 3rd party modules (other than the Vaults of Parnassus, where you must host files elsewhere), so I decided to write one myself :) It is brand new and might still be buggy, but hopefully it will be usefull to some people. Feel free to join and upload any of your code. thanks
3
2708
by: Arpi Jakab | last post by:
I have a main project that depends on projects A and B. The main project's additional include directories list is: ...\ProjectA\Dist\Include ...\ProjectB\Dist\Include Each of the include directories contain a file named "cppfile1.h". In my main project I #include "cppfile1.h". I rely on the order of paths in additional include directories list to get file cppfile1.h from ProjectA and
17
2409
by: Peter Oliphant | last post by:
In the 'old days', we could create a pointer to an instance of a variable like so: int i = 58 ; int* i_ptr = &i ; int j = *i_ptr ; // j = 58 Now, in /clr how do we do the same? That is, if I replace '*' with '^' what do I replace '&' with to generate a 'pointer' (is 'x^' called a 'reference' per chance?) to the instance? That is:
1
2519
Coldfire
by: Coldfire | last post by:
Hello I need a HTML script for Emailing the link, with description, of my site to any email address for-example in the case of "Share this Page with Friends". plz help
92
3953
by: ureuffyrtu955 | last post by:
Python is a good programming language, but "Python" is not a good name. First, python also means snake, Monty Python. If we search "python" in google, emule, many results are not programming resource. If we search PHP, all results are programming resource. Second, python also means snake, snake is not a good thing in western culture. Many people dislike any things relevant to snake. We must have high regard for the custom.
3
13252
by: Rahul Babbar | last post by:
Hi, I had the following doubts about the "For Read Only" clause. 1. How does a "for Read only" clause improve the performance? 2. How does a "for Read only" clause compare with "With UR" clause in performance? Which is faster? Can someone clarify on that?
16
9234
by: lawrence k | last post by:
I've never before written a PHP script to run on my home Ubuntu machine (though I've written dozens of PHP cron jobs for my web server), so I thought I'd start off with a very simple test: #!/usr/share/php5 <?php echo "hello"; ?>
24
8220
by: Jeremy J Starcher | last post by:
While reading c.l.j, I've noticed that some people prefer and indeed even recommend the use of "window.alert()" over "alert()". I can't find any technical reason to make this distinction, and seems to have a (tiny) amount overhead since window itself points to the global object, hence, a circular reference. (From everything I am reading, window is just a REFERENCE back to the global object, as opposed to a separate object.)
0
8923
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8763
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9428
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9151
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8155
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6722
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4796
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3238
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2686
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.