Re: [HACKERS] COMMIT NOWAIT Performance Option

2007-02-27 Thread Jordan Henderson
I am not sure about some of this.  The Oracle option does not change the 
engine fsync behavior I believe.  All that is changed is whether the client 
side waits for the complete of the fsync or not.  If this is true, the data 
store, logs, etc, are all protected.  The user may still experience a data 
loss if a network, or system failure occurred just after the client issued 
the commit.  This would be something like I send the message and exit.  
However prior to the engine receiving the message, a network component fails 
and the message is never delivered.  This will turn into an aborted 
transaction as far as the engine is concerned.  Of course, the exact details 
are in the protocol between the client and the server.

The commit nowait is async with respect to the response to the user, not the 
underlying engine I think.  Therefore performance gains are purely a user 
perspective, not an engine perspective.  Perhaps some network traffic could 
be pruned, not sending the response.

Jordan Henderson

On Tuesday 27 February 2007, Joshua D. Drake wrote:
 Josh Berkus wrote:
  Simon,
 
  One of the things I love about doing informal online user support in the
  PostgreSQL community, and formal user support for Sun's customers, is the
  almost-ironclad guarentee that if a user has a corrupt database or data
  loss, one of three things is true:
  a) they didn't apply some recommended PG update;
  b) they have a bad disk controller or disk config;
  c) they have bad ram.

 That is pretty spot on.

  It seriously narrows down the problem space to know that PostgreSQL does
  *not* allow data loss if it's physically possible to prevent it.

 But we do don't we? fsync = off, full_page_writes = off?

  Therefore, if we're going to arm a foot-gun as big as COMMIT NOWAIT for
  PostgreSQL, I'd like to see the answers to two questions:

 I agree with this.

  a) Please give some examples of performance gain on applications using
  COMMIT NOWAIT.  The performance gain needs to be substantial (like, 50%
  to 100%) to justify a compromise like this.

 WOAH... that seems excessive. There are a couple of things going on here.

 1. We have a potential increase in performance for certain workloads.
 This is good, but must be proven. IS that proof 50%? Bah.. let's talk
 15-25%.

 2. We have to accept that not everyone wants IRON clad data integrity.
 We have many, many options for dealing with that now, including PITR and
 REPLICATION.

  b) Why this and not global temporary tables or queuing?

 /me would love global temp tables.

 Much of the PostgreSQL Users out there today, will happily loose a 15
 minutes of data if it means their data is served 25% faster.

 Sincerely,

 Joshua D. Drake



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


Re: [HACKERS] What can we learn from MySQL?

2004-04-24 Thread Jordan Henderson
I think that when considering install, it is very
important, if not critical, that we all understand who
is doing the install.  Certainly if it is a person
much like us, meaning people on the
hackers/development list, we can all handle more terse
installs.  Personally, I like the freedom of choices,
and not having a result of hundreds of megs that I
know are not required.  

On the other hand, we are really a minority.  The
masses certainly like simple installs, regardless of
just how many megs are used, needed or not.  If the
masses really cared, then Microsoft would be in
trouble.  But, as we can see in the market place, they
don't.  In fact, most people think more is better. 
Somehow they think 2 CDROMs is better than 1 CDROM.

So, if it takes an extra 200 meg to make a glitsy
install with little videos expounding on how great
Postgresql is, then for that user, it will make all of
the difference.  We need to remember who the audience
is.  We cannot gain mass market share otherwise.

My 2 cents, won't buy coffee,
Jordan Henderson
--- Bruno Wolff III [EMAIL PROTECTED] wrote:
 On Fri, Apr 23, 2004 at 16:36:57 -0400,
   [EMAIL PROTECTED] wrote:
  
  Ease of use is VERY important, but few suggestions
 that address this are
  ever really accepted. Yes, focusing on the
 functionality is the primary
  concern, but how you set it up and deploy it is
 VERY important. You guys
  need to remember, people are coming from a world
 where MySQL, Oracle, and
  MSSQL all have nice setup programs.
 
 nice must be in the eye of the beholder. I have
 used Oracle's installer
 to install a client and was not amused by it need
 hundreds of megabtyes
 to do a client install.
 
 ---(end of
 broadcast)---
 TIP 8: explain analyze is your friend


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [HACKERS] Proposal for a cascaded master-slave replication system

2003-11-12 Thread Jordan Henderson
Jan,

I am wondering if you are familar with the work covered in 'Recovery in 
Parallel Database Systems' by Svein-Olaf Hvasshovd (Vieweg) ? The book is an 
excellent detailed description covering high availablility DB 
implementations.

I think your right on by not thinking smaller!!

Jordan Henderson
On Wednesday 12 November 2003 10:45, Jan Wieck wrote:
 Hans-Jürgen Schönig wrote:
  Jan,
 
  First of all we really appreciate that this is going to be an Open
  Source project.
  There is something I wanted to add from a marketing point of view: I
  have done many public talks in the 2 years or so. There is one question
  people keep asking me: How about the pgreplication project?. In every
  training course, at any conference people keep asking for synchronous
  replication. We have offered this people some async solutions which are
  already out there but nobody seems to be interested in having it (my
  person impression). People keep asking for a sync approach via email but
  nobody seems to care about an async approach. This does not mean that
  async is bad but we can see a strong demand for synchronous replication.
 
  Meanwhile we seem to be in a situation where PostgreSQL is rather
  competing against Oracle than against MySQL. In our case there are more
  people asking for Oracle - Pg migration than for MySQL - Pg. MySQL
  does not seem to be the great enemy because most people know that it is
  an inferior product anyway. What I want to point out is that some people
  want an alternative Oracle's Real Application Cluster. They want load
  balancing and hot failover. Even data centers asking for replication did
  not want to have an async approach in the past.

 Hans-Jürgen,

 we are well aware of the high demand for multi-master replication
 addressing load balancing and clustering. We have that need ourself as
 well and I plan to work on a follow-up project as soon as Slony-I is
 released. But as of now, we see a higher priority for a reliable master
 slave system that includes the cascading and backup features described
 in my concept. There are a couple of different similar product out
 there, I know. But show me one of them where you can failover without
 becoming the single point of failure? We've just recently seen ... or
 better where not able to see anything any more how failures tend to
 ripple through systems - half of the US East Coast was dark. So where is
 the replication system where a slave becomes the master, and not a
 standalone server. Show me one that has a clear concept of failback, one
 that has hot-join as a primary design goal. These are the features that
 I expect if something is labeled Enterprise Level.

 As far as my ideas for multi-master go, it will be a synchronous
 solution using group communication. My idea is group commit instead of
 2-Phase ... and an early stage test hack has replicated some update 3
 weeks ago. The big challange will be to integrate the two systems so
 that a node can start as an asynchronous Slony-I slave, catch up ... and
 switch over to synchronous multimaster without stopping the cluster. I
 have no clue yet how to do that, but I refuse to think smaller.


 Jan


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


Re: [HACKERS] O_DIRECT in freebsd

2003-10-30 Thread Jordan Henderson
My experience with DB2 showed that properly setup DMS tablespaces provided a 
significant performance benefit.  I have also seen that the average DBA does 
not generally understand the data or access patterns in the database.  Given 
that, they don't correctly setup table spaces in general, filesystem or raw.  
Likewise, where it is possible to tie a tablespace to a memory buffer pool, 
the average DBA does not setup it up to a performance advantage either.  
However, are we talking about well tuned setups by someone who does 
understand the data and the general access patterns?  For a DBA like that, 
they should be able to take advantage of these features and get significantly 
better results.  I would not say it requires considerable tuning, but an 
understanding of data, storage and access patterns.  Additionally, these 
features did not cause our group considerable administrative overhead.

Jordan Henderson

On Thursday 30 October 2003 12:55, Sailesh Krishnamurthy wrote:
 DB2 supports cooked and raw file systems - SMS (System Manged Space)
 and DMS (Database Managed Space) tablespaces.

 The DB2 experience is that DMS tends to outperform SMS but requires
 considerable tuning and administrative overhead to see these wins.


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

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: [HACKERS] O_DIRECT in freebsd

2003-10-30 Thread Jordan Henderson
Personally, I think it is useful to have features.  I quite understand the 
difficulties in maintaining some features however.  Also having worked on 
internals for commercial DB engines, I have specifically how code/data paths 
can be shortened.  I would not make the choice for someone to be forced into 
using a product in a specific manner.  Instead, I would let them decide 
whether to choose a simple setup or, if they are up to it, something with 
better performance.  I would not prune the options out.  In doing so, we 
limit what a knowledgeable person can do a priori.

Jordan Henderson

On Thursday 30 October 2003 19:59, Sailesh Krishnamurthy wrote:
  Jordan == Jordan Henderson [EMAIL PROTECTED] writes:

 Jordan significantly better results.  I would not say it requires
 Jordan considerable tuning, but an understanding of data, storage
 Jordan and access patterns.  Additionally, these features did not
 Jordan cause our group considerable administrative overhead.

 I won't dispute the specifics. I have only worked on the DB2 engine -
 never written an app for it nor administered it. You're right - the
 bottomline is that you can get a significant performance advantage
 provided you care enough to understand what's going on.

 Anyway, I merely responded to provide a data point. Will PostgreSQL
 users/administrators care for additional knobs or is there a
 preference for keep it simple, stupid ?


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


Re: [HACKERS] 2-phase commit

2003-10-13 Thread Jordan Henderson
On Monday 13 October 2003 20:11, Rod Taylor wrote:
  I think another way it could be handled is with nested transactions.
  Just have the promise phase be an inner transaction commit but have an
  outer transaction bracket that one for the actual commit.

 Not really. In the event of a crash, most 2PC systems will expect the
 participant to come back in the same state it crashed in.


Yes, this is correct.  There are certain phases of the protocol in which the 
transaction state must be re-instated from the log file after a crash of the 
DB server.  The re-instatement must occur prior to any connections being 
accepted by the server.  Additionally, the coordinator must be fully 
recoverable as well.  The coordinator may, depending on the phase of the 
commit/abort, contact child servers after it crashes.  The requirement is 
that during log replay, the transaction structures might have to be fully 
reconstructed and remain in-place after log replay has completed, until the 
disposition of the (sub)transaction is settled by the coordinator.  All 
dependent on the phase of course.

 Our nested-transaction implementation (like our standard transaction
 implementation) aborts all transactions on crash.

Jordan Henderson


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


Re: [HACKERS] request for sql3 compliance for the update command

2003-03-08 Thread Jordan Henderson
Dave, Justin,

I have several Informix clients who will be moving to a Postgresql/Aubit4gl
solution at some point.  The Informix line is, for them, a dead end.  One
way or another the backend will become Postgresql.  Because of the number of
SQL statements, I would encourage support where possible and reasonable.

Jordan

- Original Message -
From: Dave Cramer [EMAIL PROTECTED]
To: Justin Clift [EMAIL PROTECTED]
Cc: Tom Lane [EMAIL PROTECTED]; Peter Eisentraut [EMAIL PROTECTED];
Pgsql Hackers [EMAIL PROTECTED]
Sent: Wednesday, February 19, 2003 10:18 PM
Subject: Re: [HACKERS] request for sql3 compliance for the update command


 Justin,

 This is certainly the case here. I think IBM is deprecating informix,
 and many informix users are being forced to make a change, and they are
 seriously considering postgres as an alternative.

 It behooves us to look at aubit http://aubit4gl.sourceforge.net/ before
 making this decision as well.


 I believe the aubit project has the potential to move postgres forward
 considerably as well.

 Dave

 On Wed, 2003-02-19 at 21:08, Justin Clift wrote:
  Tom Lane wrote:
   Dave Cramer [EMAIL PROTECTED] writes:
  
  Ok, if a patch were submitted to the parser to allow the syntax in
  question would it be considered?
  
  
   I would vote against it ... but that's only one vote.
 
  As a thought, will it add significant maintenance penalties or be
  detrimental?
 
  There seem to be quite a lot of Informix people moving to PostgreSQL
  these days, moreso than Oracle shops.  Might have been brought on by
  IBM's purchase of Informix.
 
  Wondering if this one change be a significant improvement in regards to
  making it easier to migrate, or just a minor thing?
 
  Regards and best wishes,
 
  Justin Clift
 
 
   regards, tom lane
 --
 Dave Cramer [EMAIL PROTECTED]
 Cramer Consulting


 ---(end of broadcast)---
 TIP 3: if posting/reading through Usenet, please send an appropriate
 subscribe-nomail command to [EMAIL PROTECTED] so that your
 message can get through to the mailing list cleanly


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly