Re: [Pgsql-ayuda] Cantidad de registros en tablas

From: " Víctor R(dot) Ruiz" <rvr(at)infoastro(dot)com>
To: Luis Moran <luis(at)politec(dot)une(dot)edu(dot)py>
Cc: Lista de PGSQL <pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx>
Subject: Re: [Pgsql-ayuda] Cantidad de registros en tablas
Date: 2002-07-05 04:34:46
Message-ID: 200207050534.46521.rvr@infoastro.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola:

El Jue 04 Jul 2002 23:38, Luis Moran tecleó:
> Necesito convencerle al Jefe que adopte el POSTGRESQL y no un
> software comercial como SQLSERVER u ORACLE, pues me parecen muy
> costosos.

Si no tienes problemas con el inglés, aquí tienes un documento que
compara en prestaciones Oracle, PostgreSQL y SQL Server. Es de un
profesor del MIT.

--
http://philip.greenspun.com/internet-application-workbook/basics

Choosing an RDBMS

There are probably three reasonable choices for an RDBMS this
semester: (1) Microsoft SQL Server, (2) Oracle, and (3) PostgreSQL.

For experienced Windows programmers, Microsoft SQL Server is easy to
install and administer. And if you expect to spend the rest of your
professional life in a Microsoft environment you might as well learn
it.

Concurrency is Oracle's strongest suit relative to its commercial
competitors. In Oracle, readers never wait for writers and writers
never wait for readers. Suppose the publisher at a large site starts
a query at 12:00 PM summarizing usage by user. Oracle might have to
spend an hour sifting through 200 GB of tracking data. The disk
drives grind and one CPU is completely used up until 1:30 PM. Further
suppose that User #356712 comes in at 12:30 PM and changes his email
address, thus updating a row in the users table. If the usage
tracking query arrives at this row at 12:45 PM, Oracle will notice
that the row was last modified after the query started. Under the "I"
in ACID, Oracle is required to isolate the publisher from the user's
update. Oracle does this by reaching into the rollback segment and
producing data from user row #356712 as it was at 12:00 PM when the
query started. Here's the scenario in a table:

Time Publisher Public Web Service
12:00 PM Starts a 90-minute query summarizing --
usage for preceding year

12:30 PM usage summary continues to chug away User#356712 updates
email address from
"joe(at)foobar(dot)com" to
"joe(at)yahoo(dot)com"

12:45 PM usage summary arrives at User --
#356712; Oracle reaches into
rollback segment and pulls out
"joe(at)foobar(dot)com" for the report,
since that's what the value was at
12:30 PM
1:30 PM usage summary report completes --

How would this play out in Microsoft SQL Server? When you're
reading, you take read locks on the information that you're about to
read. Nobody can write until you release them. When you're writing,
you take write locks on the information that you're about to update.
Nobody can read or write until you release the locks. In the
preceding example, User #356712 would submit his request for the
address change at 12:30 PM. The thread on the Web server would be
blocked waiting for the read locks to clear. How long would it wait?
A full hour with a spinning Netscape icon. If you're thoughtful you
can program around this locking architecture in SQL Server but most
Internet service operators would rather just install Oracle than
train their programmers to think more carefully about concurrency.

Another good thing about Oracle is that it can run on very large
computers, such as 64-processor Unix machines. Whereas SQL Server is
limited to the largest machines that run Windows 2000, which are
currently 16-processor models. Thus, Internet service operators who
believe that they may end up with thousands of simultaneous users
generally start with Oracle.

The open-source purist's only realistic choice for an RDBMS is
PostgreSQL, available from www.postgresql.org. In some ways,
PostgreSQL has more advanced features than any commercial RDBMS and
it has an Oracle-style multi-version concurrency system. PostgreSQL
is easy to install and administer but is not used by operators of
large services because there is no way to build a fault-tolerant or
truly massive PostgreSQL installation.

--

Saludetes,

--
Víctor R. Ruiz | - Todos estos momentos se perderán, como
http://rvr.blogalia.com/ | lágrimas en la lluvia.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message nombre apellido 2002-07-05 09:29:01 Re: [Pgsql-ayuda] Ejemplo de programa en C para acceder a una BD en Postgresql
Previous Message Luis Moran 2002-07-04 22:38:05 [Pgsql-ayuda] Cantidad de registros en tablas