atomicity

Started by Hugo Coolensabout 24 years ago10 messagesgeneral
Jump to latest
#1Hugo Coolens
hugo.coolens@skynet.be

Is it true that the current version of PostgreSQL does always respect
atomicity of transactions and MySQL does not?

#2Doug McNaught
doug@wireboard.com
In reply to: Hugo Coolens (#1)
Re: atomicity

Hugo Coolens <hugo.coolens@skynet.be> writes:

Is it true that the current version of PostgreSQL does always respect
atomicity of transactions and MySQL does not?

The former is true; the latter I don't know about (MySQL has recently
added "transactions" but I don't know any details about how they
actually work).

-Doug
--
Let us cross over the river, and rest under the shade of the trees.
--T. J. Jackson, 1863

#3Jean-Michel POURE
jm.poure@freesurf.fr
In reply to: Hugo Coolens (#1)
Re: atomicity

Is it true that the current version of PostgreSQL does always respect
atomicity of transactions and MySQL does not?

MySQL only supports transactions on INNODB tables. Therefore if your
transactions includes other tables, we doubt atomicity works. Note this might
change with MySQL 4.1.

PostgreSQL offers the ability to build "intelligent" database with
server-side programming (PLperl, PLpgSQL, ..), triggers, rules, views,
operators... It is a real development tool.

In a complex environment, PostgreSQL can be optimized at ***software level***
(i.e. the way you build the database and program is server-side). MySQL can
only be optimized at ***OS level*** or ***Harware level***.

OS and Hardware level optimization can speed up an application by a factor of
2. Software optimization has no limit other than your imagination.

On the converse, MySQL is just an "dumb" database only running simple SQL
queries. Furthermore, it has very poor ODBC support and will only work in an
Apache environment.

If you are new to PostgreSQL, maybe the best thing to do is play with it
using pgAdmin2 GUI, which can be found at http://pgadmin.postgresql.org.

Best regards,
/Jean-Michel POURE

#4Zak Greant
zak@mysql.com
In reply to: Jean-Michel POURE (#3)
Re: atomicity

Good Day All,

On Wed, 2002-02-27 at 01:28, Jean-Michel POURE wrote:

Is it true that the current version of PostgreSQL does always respect
atomicity of transactions and MySQL does not?

The latest version of MySQL provides the option of supporting
ACID-compliant transactions and row-level locking

MySQL only supports transactions on INNODB tables. Therefore if your
transactions includes other tables, we doubt atomicity works. Note this might
change with MySQL 4.1.

MySQL supports transactions with InnoDB tables and DBD tables. Users
are provided with the choice of two different transactional table
types and two non-transactional table types - one file-based (MyISAM),
one memory-based (HEAP). The MySQL manual details this information.

Users can choose the table type that best suits their needs.

PostgreSQL offers the ability to build "intelligent" database with
server-side programming (PLperl, PLpgSQL, ..), triggers, rules, views,
operators... It is a real development tool.

I agree that PostgreSQL is a good development tool that has features
that MySQL does not yet possess (or that are more convenient to use in
PostgreSQL than MySQL).

I also believe that other databases, including MySQL are 'real'
development tools.

In a complex environment, PostgreSQL can be optimized at ***software level***
(i.e. the way you build the database and program is server-side). MySQL can
only be optimized at ***OS level*** or ***Harware level***.

OS and Hardware level optimization can speed up an application by a factor of
2. Software optimization has no limit other than your imagination.

This is an incorrect characterization of MySQL. Users have great
control over the behavior of queries and the behavior of databases.
These include options like delayed inserts, memory-stored indexes,
packed indexes for faster index reading, hash-based tables stored in
memory, read-efficient read-only databases, database replication, User
Defined Functions, etc.

On the converse, MySQL is just an "dumb" database only running simple SQL

MySQL has a large, well-tested feature set that includes fewer
traditional RDBMS features that PostgreSQL. PostgreSQL and MySQL come
from very different traditions. PostgreSQL is the heir to quite
phenonmenal amounts of academic research work that focused on
developing a complete set of RDBMS features. MySQL evolved from a set
of working development tools - it was developed with attention to
speed, stability and performance at the cost of certain features.

As PostgreSQL works to become a more practical development tool that
requires less maintenance and is more robust, MySQL works towards
having a larger set of features that are as robust as the current set.

queries. Furthermore, it has very poor ODBC support and will only work in an

To be specific, MySQL supports ODBC levels 0-3.51 - which is more than
PostgreSQL supported last time that I checked.

Apache environment.

This is incorrect. In addition to the source, we distribute binaries
for the following platforms:

- Linux
- Windows 95/98/NT/2000/XP
- Solaris
- FreeBSD
- MacOS X
- HP-UX
- AIX
- SGI Irix
- Dec OSF

If you are new to PostgreSQL, maybe the best thing to do is play with it
using pgAdmin2 GUI, which can be found at http://pgadmin.postgresql.org.

I would strongly consider reading Bruce Momjian's excellent book
(See http://www.ca.postgresql.org/docs/awbook.html)

--
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Zak Greant <zak@mysql.com>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Advocate
/_/ /_/\_, /___/\___\_\___/ Calgary, Canada
<___/ www.mysql.com 403.244.7213

#5Jean-Michel POURE
jm.poure@freesurf.fr
In reply to: Zak Greant (#4)
MySQL

Le Mercredi 27 Février 2002 10:40, Zak Greant a écrit :

Good Day All,
Blablabla

Dear Zak,

MySQL is only good at one thing : marketing and propaganda.

Question : is your last mail a template? Was your previous mail generated
automatically? I already received dozens of such emails when trying to
unregister MySQL lists.

This does not work any more with me, sorry...

/JMP

#6Greg Sabino Mullane
greg@turnstep.com
In reply to: Zak Greant (#4)
Re: atomicity

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The latest version of MySQL provides the option of supporting
ACID-compliant transactions and row-level locking

Just to clarify, by "latest version", we are talking about the
MySQL 4.0 alpha release, correct?

Thanks,
Greg Sabino Mullane greg@turnstep.com
PGP Key: 0x14964AC8 200202270853

-----BEGIN PGP SIGNATURE-----
Comment: http://www.turnstep.com/pgp.html

iD8DBQE8fOs1vJuQZxSWSsgRAumQAKCjyT+bvWbcJFiwZRCaon+T4INPZgCfbmIh
dqvKEdKcKfSdaubeLq3gkQk=
=PQxP
-----END PGP SIGNATURE-----

#7Gurudutt
guru@indvalley.com
In reply to: Zak Greant (#4)
Re: atomicity

Hello Zak,

ZG> The latest version of MySQL provides the option of supporting
ZG> ACID-compliant transactions and row-level locking

ZG> MySQL supports transactions with InnoDB tables and DBD tables. Users
ZG> are provided with the choice of two different transactional table
ZG> types and two non-transactional table types - one file-based (MyISAM),
ZG> one memory-based (HEAP). The MySQL manual details this information.

MySQL's ridiculous way of handling transactions prompted us to
look at postgres, infact we incurred some amount of data loss as well.
MySQL was used for financials, and I was in real soup when I lost
the data.

As a matter of fact, MySQL didn't even recommend the use of
transactions in some of the documentation and if I am not wrong they
don't guarantee for the usage of Berkeley DB (from sleepycat) for
production environment. InnoDB is no big deal it is much
slower.

ZG> Users can choose the table type that best suits their needs.

Is this a plus point to use MySQL, i find it intriguing

ZG> I also believe that other databases, including MySQL are 'real'
ZG> development tools.

I still believe MySQL is best for websites and not for time-critical
financial applications. MySQL community support, i should say is
amazing.

ZG> MySQL has a large, well-tested feature set that includes fewer
ZG> traditional RDBMS features that PostgreSQL. PostgreSQL and MySQL come
ZG> from very different traditions. PostgreSQL is the heir to quite
ZG> phenonmenal amounts of academic research work that focused on
ZG> developing a complete set of RDBMS features. MySQL evolved from a set
ZG> of working development tools - it was developed with attention to
ZG> speed, stability and performance at the cost of certain features.

Atleast you acknowledge the fact that postgreSQL has evolved through
much more mature process than MySQL.

--
Best regards,
Gurudutt mailto:guru@indvalley.com

Life is not fair - get used to it.
Bill Gates

#8Jean-Michel POURE
jm.poure@freesurf.fr
In reply to: Hugo Coolens (#1)
Re: MySQL

  I am taking this off-list -- no point in wasting everyone's time with
  this. I don't mind that you got in the parting shot in a public
  forum.:)

Do not hesitate to post this answer to a public forum.

  In the future, I would recommend that you provide hard facts to back
  up your opinions - if you do not, sensible people will discount your
  opinion as being uninformed.

Is MySQL able to run complex queries with 4-level nested LEFT and RIGHT
JOINS, perform complex actions using a database SERVER-SIDE language (Perl,
PLsql or whatever), run TRIGGERS to perform actions, REWRITE complex queries
using RULES, display VIEWS, altogether, come back to me and we will have a
beer.

Also, please note that your level 3 odbc driver does not work well. Do you
provide an enhanced GUI like pgAdmin2? This is not a question of technical
facts, PostgreSQL wins. Not a single serious programmer would trust MySQL for
all databases of a large company (I mean "all").

The problem is that you, at MySQL.com, are feeding the database user
community with:
- pre-written emails,
- pre-compiled marketing information (INNODB, "Transactions"),
- pre-written benchmarks sent to journalists (I noticed these were always the
same benchmarks...).

The main difference between "you" and "us" is that MySQL is a company and we
are a community. We don't whaste time sending marketing information...

Have a look at your homepage. This is not serious :

+ MySQL a winner in server database clash - 27 Feb 2002
In a recent database benchmark test performed by Ziff Davis Media Inc., the
company behind PC Magazine, eWeek and other well-known publications, MySQL
stands out as a winner.
= You sent them a benchmark and they published it. Tell me, how many people
are in charge of Journalists at MySQL (specialists, developpers, students,
how many?). At least the team who wrote this homepage. So, how many?

+ Letter from the CEO - 08 Feb 2002
= HaHaHa

+ Enhanced MySQL ODBC driver released - 31 Jan 2002
= Do you mean it never worked until 31 Jan 2002. I lost so much time with
your odbc crap.

+ U.S. Census Bureau Reaps Awards from MySQL-based Web Sites 14 Jan 2002
= Propaganda. Again, who wrote this article? Is it what you call an article?
Do you send pre-written articles to journalists?

+ Name the Dolphin has Ended - 10 Jan 2002
= Propaganda

+MySQL pushes Yahoo! into InfoWorld 100 list - 30 Nov 2001
= HaHaHa

+Leading European VCs Invest in MySQL AB - 12 Nov 2001
= And you really believe you can survive the PostgreSQL wave?

This is brain-wash my friend. So please brain-wash people on MySQL list, not
here, please.

Regards,
Jean-Michel POURE

#9Jean-Michel POURE
jm.poure@freesurf.fr
In reply to: Hugo Coolens (#1)
Re: MySQL

Le Mercredi 27 Février 2002 17:07, Jean-Michel POURE a écrit :

Is MySQL able to run complex queries with 4-level nested LEFT and RIGHT
JOINS, perform complex actions using a database SERVER-SIDE language (Perl,
PLsql or whatever), run TRIGGERS to perform actions, REWRITE complex
queries using RULES, display VIEWS, altogether, come back to me and we will
have a beer.

Sorry I forgot something: MySQL adds ridiculous transactional support.

#10Jean-Michel POURE
jm.poure@freesurf.fr
In reply to: Gurudutt (#7)
Re: atomicity

ZG> MySQL has a large, well-tested feature set that includes fewer
ZG> traditional RDBMS features that PostgreSQL. PostgreSQL and MySQL come
ZG> from very different traditions. PostgreSQL is the heir to quite
ZG> phenonmenal amounts of academic research work that focused on
ZG> developing a complete set of RDBMS features. MySQL evolved from a set
ZG> of working development tools - it was developed with attention to
ZG> speed, stability and performance at the cost of certain features.

MySQL surely employs a team of communication specialists. This kind of
argument can only be invented by a non-technician, non-programmer, non-RDBMS,
"marketing" someone. All this reminds me of my MBA.

MySQL AG employs a REAL team of FAKE communication specialists
whose goal is to sell a FAKE product to a team of FAKE investors,
who in turn will resell this FAKE company to a team of REAL people
who in turn will loose their REAL money. And cry...

/JMP