Re: [GENERAL] performace review

2006-10-23 Thread Wes Sheldahl
On 10/22/06, Tom Lane [EMAIL PROTECTED] wrote:
Joshua D. Drake [EMAIL PROTECTED] writes: Ron Johnson wrote: That implies malice.The people at OpenCRX apparently really believe what they wrote.
 I believe they probably do believe it and it was probably driven by a complete lack of understanding of PostgreSQL. It doesn't have to be malicious for it to be FUD though.The psychological reason seems clear enough: if they can dismiss
postgres as not being worthy of their time, it saves them a lot ofwork in supporting another database.By this point I'd imagine thattheir code is sufficiently mysql-centric that trying to have realsupport for other databases would be a huge undertaking; ergo, there
will be great resistance to the idea that they should take postgresseriously.It's a bit of a self-fulfilling prophecy, too, becauseonce the code is sufficiently tuned for mysql you can indeed show thatany other database sucks running it ...
regards, tom lane---(end of broadcast)---TIP 5: don't forget to increase your free space map settingsI think you're right, except that they don't recommend MySQL for production either; they seem happiest with MS SQL Server and Oracle, which seems a little odd for an open source project. If they haven't figured out how to get their app to work well with either MySQL or PostgreSQL, it seems a little disingenuous to claim they support them on the site's front page. Oh well. (shrug)
-- Wes Sheldahl[EMAIL PROTECTED]


Re: [GENERAL] performace review

2006-10-22 Thread Thomas Hallgren

Joshua D. Drake wrote:

Tomi NA wrote:

I was just reading http://www.opencrx.org/faq.htm where RDBMS engines
are one of the questions and see pgsql bashed sentence after sentence.
Can anyone offer any insight as to weather it's fact or FUD?


It is 100% FUD.


What would be the incentive for OpenCRX spreading FUD about PostgreSQL? Does 
anyone know?

Kind Regards,
Thomas Hallgren


---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


Re: [GENERAL] performace review

2006-10-22 Thread Ron Johnson
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/22/06 06:45, Thomas Hallgren wrote:
 Joshua D. Drake wrote:
 Tomi NA wrote:
 I was just reading http://www.opencrx.org/faq.htm where RDBMS engines
 are one of the questions and see pgsql bashed sentence after sentence.
 Can anyone offer any insight as to weather it's fact or FUD?

 It is 100% FUD.

 What would be the incentive for OpenCRX spreading FUD about PostgreSQL?
 Does anyone know?

That implies malice.  The people at OpenCRX apparently really
believe what they wrote.

- --
Ron Johnson, Jr.
Jefferson LA  USA

Is common sense really valid?
For example, it is common sense to white-power racists that
whites are superior to blacks, and that those with brown skins
are mud people.
However, that common sense is obviously wrong.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFFO2SAS9HxQb37XmcRAswRAKDhpBH1arYnlxhiD/zs6URa1Us7cQCglERQ
O1QslqhBBqqCh8JVwmHJ3wQ=
=4e54
-END PGP SIGNATURE-

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: [GENERAL] performace review

2006-10-22 Thread Joshua D. Drake

Ron Johnson wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/22/06 06:45, Thomas Hallgren wrote:

Joshua D. Drake wrote:

Tomi NA wrote:

I was just reading http://www.opencrx.org/faq.htm where RDBMS engines
are one of the questions and see pgsql bashed sentence after sentence.
Can anyone offer any insight as to weather it's fact or FUD?

It is 100% FUD.


What would be the incentive for OpenCRX spreading FUD about PostgreSQL?
Does anyone know?


That implies malice.  The people at OpenCRX apparently really
believe what they wrote.


I believe they probably do believe it and it was probably driven by a 
complete lack of understanding of PostgreSQL.


It doesn't have to be malicious for it to be FUD though.

Sincerely,

Joshua D. Drake

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


Re: [GENERAL] performace review

2006-10-22 Thread Tom Lane
Joshua D. Drake [EMAIL PROTECTED] writes:
 Ron Johnson wrote:
 That implies malice.  The people at OpenCRX apparently really
 believe what they wrote.

 I believe they probably do believe it and it was probably driven by a 
 complete lack of understanding of PostgreSQL.

 It doesn't have to be malicious for it to be FUD though.

The psychological reason seems clear enough: if they can dismiss
postgres as not being worthy of their time, it saves them a lot of
work in supporting another database.  By this point I'd imagine that
their code is sufficiently mysql-centric that trying to have real
support for other databases would be a huge undertaking; ergo, there
will be great resistance to the idea that they should take postgres
seriously.  It's a bit of a self-fulfilling prophecy, too, because
once the code is sufficiently tuned for mysql you can indeed show that
any other database sucks running it ...

regards, tom lane

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] performace review

2006-10-09 Thread Merlin Moncure

On 10/7/06, Tomi NA [EMAIL PROTECTED] wrote:

I was just reading http://www.opencrx.org/faq.htm where RDBMS engines
are one of the questions and see pgsql bashed sentence after sentence.
Can anyone offer any insight as to weather it's fact or FUD?


FUD

postgresql in particular is an enormous fud magnet.  on the surface,
these guys are a first class example of what I consider to be the dark
(as in evil) side of data management.  o-r mapping run amok!  and they
immediatly try to upsell you on the 'clustering' version.

merlin

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


[GENERAL] performace review

2006-10-07 Thread Tomi NA

I was just reading http://www.opencrx.org/faq.htm where RDBMS engines
are one of the questions and see pgsql bashed sentence after sentence.
Can anyone offer any insight as to weather it's fact or FUD?

t.n.a.

---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


Re: [GENERAL] performace review

2006-10-07 Thread Alexander Staubo

On Oct 7, 2006, at 20:06 , Tomi NA wrote:


I was just reading http://www.opencrx.org/faq.htm where RDBMS engines
are one of the questions and see pgsql bashed sentence after sentence.
Can anyone offer any insight as to weather it's fact or FUD?


As with any use of a database, it is useless and/or impossible to  
evaluate blanket statements about performance without also evaluating  
the application's use of the database. One person's slow join may be  
another person's fast join.


Also, note how that the FAQ says that the default distribution of  
openCRX includes some indexes, implying that the schema must be  
adapted to one's database to achieve adequate performance. The FAQ   
does not mention whether the cited scaling limits include any  
attempts at tuning PostgreSQL.


I don't see PostgreSQL being bashed sentence after sentence,  
however -- the two known limitations listed for PostgreSQL are  
slow (even for small datasets) and jokes [sic] on 3-table-joins  
-- and among the open-source databases mentioned, PostgreSQL is  
described as scaling the highest.


With a running OpenCRX installation you could turn on PostgreSQL's  
query logging to identify slow queries or bad query patterns. I'm  
sure both the open-source communities would appreciate the feedback.


Alexander.


---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


Re: [GENERAL] performace review

2006-10-07 Thread Jonathan Vanasco


On Oct 7, 2006, at 3:31 PM, Alexander Staubo wrote:

I don't see PostgreSQL being bashed sentence after sentence,  
however -- the two known limitations listed for PostgreSQL are  
slow (even for small datasets) and jokes [sic] on 3-table-joins  
-- and among the open-source databases mentioned, PostgreSQL is  
described as scaling the highest.


did you notice this line
---

*** Please note that we do not recommend PostgreSQL for production  
use. While PostgreSQL may be fine for many settings this DBMS simply  
does not deliver the performance required for openCRX (PostgreSQL  
takes minutes/hours to calculate 3-table-joins even for small data  
sets).


---

that sounds to me like someone never vacuumed and analyzed their db.


---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] performace review

2006-10-07 Thread Richard Broersma Jr
 did you notice this line
 ---
 
 *** Please note that we do not recommend PostgreSQL for production  
 use. While PostgreSQL may be fine for many settings this DBMS simply  
 does not deliver the performance required for openCRX (PostgreSQL  
 takes minutes/hours to calculate 3-table-joins even for small data  
 sets).
 
 ---
 
 that sounds to me like someone never vacuumed and analyzed their db.

If you look at the db comparison chart,  I think the only row that they got 
right for every RDMS
listed was FREE vs Commericial.  They suggest that postgresql and mysql can 
only handle 20
concurrent users and this low value doesn't seems realistic to me at all.

Regards,

Richard Broersma Jr.

---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] performace review

2006-10-07 Thread Brandon Aiken
Title: [GENERAL] performace review



It wouldn't surprise me if their bashing were correct, but I doubt that it's PostgreSQL's fault.

I download the db source (inside opencrx-1.9.1-core.postgresql-8.zip) and executed their three schema files, dbcreate-indexes.sql, dbcreate-views.sql, dbcreate-tables.sql. Each of the 118 tables has a three-field composite primary key of 'PRIMARY KEY (object_rid, object_oid, object_idx)'. object_rid and object_oid are both VARCHAR(200). There are *no* foreign key constraints. Each table has between 15 and 50 fields, with 25 looking about average.

Gee, why to table joins take so long? Maybe because a blind monkey created the schema? Normalized databases do tend to perform better, so I hear.

Brandon Aiken


From: [EMAIL PROTECTED] on behalf of Tomi NASent: Sat 10/7/2006 2:06 PMTo: PgSQL GeneralSubject: [GENERAL] performace review

I was just reading http://www.opencrx.org/faq.htm where RDBMS enginesare one of the questions and see pgsql bashed sentence after sentence.Can anyone offer any insight as to weather it's fact or FUD?t.n.a.---(end of broadcast)---TIP 2: Don't 'kill -9' the postmaster

Re: [GENERAL] performace review

2006-10-07 Thread Alexander Staubo

On Oct 7, 2006, at 23:44 , Brandon Aiken wrote:

I download the db source (inside opencrx-1.9.1- 
core.postgresql-8.zip) and executed their three schema files,  
dbcreate-indexes.sql, dbcreate-views.sql, dbcreate-tables.sql.   
Each of the 118 tables has a three-field composite primary key of  
'PRIMARY KEY (object_rid, object_oid, object_idx)'.  object_rid and  
object_oid are both VARCHAR(200).  There are *no* foreign key  
constraints.  Each table has between 15 and 50 fields, with 25  
looking about average.


To be fair, there are a bunch of indexes, but the number of indexes  
seems low compared to the number of fields.


Gee, why to table joins take so long?  Maybe because a blind monkey  
created the schema?  Normalized databases do tend to perform  
better, so I hear.


*De*normalization is the traditional hack to speed up queries,  
because it reduces the need for joins.


Alexander.



---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


Re: [GENERAL] performace review

2006-10-07 Thread Joshua D. Drake
Tomi NA wrote:
 I was just reading http://www.opencrx.org/faq.htm where RDBMS engines
 are one of the questions and see pgsql bashed sentence after sentence.
 Can anyone offer any insight as to weather it's fact or FUD?

It is 100% FUD.

Joshua D. Drake


 
 t.n.a.
 
 ---(end of broadcast)---
 TIP 2: Don't 'kill -9' the postmaster
 


-- 

   === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
   Providing the most comprehensive  PostgreSQL solutions since 1997
 http://www.commandprompt.com/



---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] performace review

2006-10-07 Thread Brandon Aiken
Title: Re: [GENERAL] performace review



Denormalization should reduce the number of joins and reduce the overall number of tables, yes? And the idea is to fully normalize and then back off because of physical limitations in the database you're using *with full knowledge and understanding that you're sacrificing the relational model to do it*. They obviously did not do that. They just built a denormalized database.

Look atone of the views:

CREATE OR REPLACE VIEW kernel_view_027 AS (( SELECT 0 AS object_rid, act.object_oid, act.object_idx, act0."p$$assigned_to__rid" AS "p$$object_parent__rid", act0."p$$assigned_to__oid" AS "p$$object_parent__oid", act.created_at, act.modified_at, act.created_by, act.modified_by, act.object__class, act.access_level_browse, act.access_level_update, act.access_level_delete, act."owner", act.name, act.description, act.percent_complete, act.priority, act.due_by, act.scheduled_start, act.scheduled_end, act.actual_start, act.actual_end, act.misc1, act.misc2, act.misc3, act.activity_state, act.activity_number, act.severity, act.assigned_to, act."p$$assigned_to__rid", act."p$$assigned_to__oid", ( SELECT acc.full_name FROM kernel_account acc WHERE acc.object_rid::text = act."p$$assigned_to__rid"::text AND acc.object_oid::text = act."p$$assigned_to__oid"::text AND acc.object_idx = 0) AS "p$$assigned_to_title" FROM kernel_activity act LEFT JOIN kernel_activity act0 ON act0.object_idx = 0 AND act.object_rid::text = act0.object_rid::text AND act.object_oid::text = act0.object_oid::textUNION SELECT 0 AS object_rid, act.object_oid, act.object_idx, act0."p$$sender_parent__rid" AS "p$$object_parent__rid", act0."p$$sender_parent__oid" AS "p$$object_parent__oid", act.created_at, act.modified_at, act.created_by, act.modified_by, act.object__class, act.access_level_browse, act.access_level_update, act.access_level_delete, act."owner", act.name, act.description, act.percent_complete, act.priority, act.due_by, act.scheduled_start, act.scheduled_end, act.actual_start, act.actual_end, act.misc1, act.misc2, act.misc3, act.activity_state, act.activity_number, act.severity, act.assigned_to, act."p$$assigned_to__rid", act."p$$assigned_to__oid", ( SELECT acc.full_name FROM kernel_account acc WHERE acc.object_rid::text = act."p$$assigned_to__rid"::text AND acc.object_oid::text = act."p$$assigned_to__oid"::text AND acc.object_idx = 0) AS "p$$assigned_to_title" FROM kernel_activity act LEFT JOIN kernel_activity act0 ON act0.object_idx = 0 AND act.object_rid::text = act0.object_rid::text AND act.object_oid::text = act0.object_oid::text)UNION SELECT 0 AS object_rid, act.object_oid, act.object_idx, p0."p$$party__rid" AS "p$$object_parent__rid", p0."p$$party__oid" AS "p$$object_parent__oid", act.created_at, act.modified_at, act.created_by, act.modified_by, act.object__class, act.access_level_browse, act.access_level_update, act.access_level_delete, act."owner", act.name, act.description, act.percent_complete, act.priority, act.due_by, act.scheduled_start, act.scheduled_end, act.actual_start, act.actual_end, act.misc1, act.misc2, act.misc3, act.activity_state, act.activity_number, act.severity, act.assigned_to, act."p$$assigned_to__rid", act."p$$assigned_to__oid", ( SELECT acc.full_name FROM kernel_account acc WHERE acc.object_rid::text = act."p$$assigned_to__rid"::text AND acc.object_oid::text = act."p$$assigned_to__oid"::text AND acc.object_idx = 0) AS "p$$assigned_to_title" FROM kernel_activity act JOIN kernel_activityparty p0 ON p0.object_idx = 0 AND p0."p$$object_parent__rid"::text = act.object_rid::text AND p0."p$$object_parent__oid"::text = act.object_oid::text)UNION SELECT 0 AS object_rid, act.object_oid, act.object_idx, p0."p$$party_parent__rid" AS "p$$object_parent__rid", p0."p$$party_parent__oid" AS "p$$object_parent__oid", act.created_at, act.modified_at, act.created_by, act.modified_by, act.object__class, act.access_level_browse, act.access_level_update, act.access_level_delete, act."owner", act.name, act.description, act.percent_complete, act.priority, act.due_by, act.scheduled_start, act.scheduled_end, act.actual_start, act.actual_end, act.misc1, act.misc2, act.misc3, act.activity_state, act.activity_number, act.severity, act.assigned_to, act."p$$assigned_to__rid", act."p$$assigned_to__oid", ( SELECT acc.full_name FROM kernel_account acc WHERE acc.object_rid::text = act."p$$assigned_to__rid"::text AND acc.object_oid::text = act."p$$assigned_to__oid"::text AND acc.object_idx = 0) AS "p$$assigned_to_title" FROM kernel_activity act JOIN kernel_activityparty p0 ON p0.object_idx = 0 

Re: [GENERAL] performace review

2006-10-07 Thread Chris Browne
[EMAIL PROTECTED] (Richard Broersma Jr) writes:
 did you notice this line
 ---
 
 *** Please note that we do not recommend PostgreSQL for production  
 use. While PostgreSQL may be fine for many settings this DBMS simply  
 does not deliver the performance required for openCRX (PostgreSQL  
 takes minutes/hours to calculate 3-table-joins even for small data  
 sets).
 
 ---
 
 that sounds to me like someone never vacuumed and analyzed their db.

 If you look at the db comparison chart, I think the only row that
 they got right for every RDMS listed was FREE vs Commericial.
 They suggest that postgresql and mysql can only handle 20 concurrent
 users and this low value doesn't seems realistic to me at all.

For heavy load, MySQL with myisam has often started really choking at
~10 concurrent users, so that part doesn't seem ludicrously
unrealistic.  (Somewhat off?  Perhaps.  Ludicrously so?  Not.)

It's possible that the last time they tried PostgreSQL was with
version 7.1 or 7.2, and things have really changed since then.

This could also be a situation where adding a few useful indexes might
fix a lot of ills.  Better to try to help fix the problems so as to
help show that the comparisons are way off base rather than to simply
cast stones...
-- 
output = (cbbrowne @ linuxdatabases.info)
http://linuxfinances.info/info/advocacy.html
Epistemology in One Lesson
Reality ruthlessly selects out creatures that embody hypotheses too
inconsistent with reality. Our only choice is whether we participate
by being selected out, or (in Popper's great phrase) by letting our
ideas die in our stead.
-- Mark Miller

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: [GENERAL] performace review

2006-10-07 Thread Jonathan Vanasco


On Oct 7, 2006, at 6:41 PM, Chris Browne wrote:

This could also be a situation where adding a few useful indexes might
fix a lot of ills.  Better to try to help fix the problems so as to
help show that the comparisons are way off base rather than to simply
cast stones...


i'm too tight for cash to afford being wrong right now...

but I'd otherwise bet that the issue was from not vacuum analyzing

i've routinely had 3,9,12, i think even a 14 table join that would  
take forever to run...


until i realized that i added/dropped an index and forgot to run  
analyze.  then they all work within a matter of split seconds. all of  
them.


i've seen not just dramatic, but drastic , changes in performance and  
the planner's output before and after a vacuum analyze of the db.


i'm really confident thats the problem.  unfortunately, they have a  
max_db contact email, and not a postgres.  so i don't know who to  
check with to see if they ran it or not.


---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq