Re: PostgreSQL+Hibernate Performance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yes, we use connection pooling.  As I recall Hibernate ships with c3p0
connection pooling built-in, which is what we use.  We were happy enough
with c3p0 that we ended up moving our other non-hibernate apps over to
it, away from DBCP.

pgpool does connection pooling at a socket level instead of in a local
library level, so really it's a very different thing.  If your app is
the only thing talking to this database, and you don't have a
multi-database configuration, then it will be easier for you to use a
Java-based connection pooling library like c3p0 or DBCP than to use
pgpool.

-- Mark

On Wed, 2008-08-20 at 20:32 +0530, Kranti K K Parisa™ wrote:
> Hi Mark,
> 
> Thank you very much for the information. I will analyse the DB
> structure and create indexes on PG directly.
> Are you using any connection pooling like DBCP? or PG POOL?
> 
> Regards, KP
> 
> 
> On Wed, Aug 20, 2008 at 8:05 PM, Mark Lewis <mark.lewis@xxxxxxxx>
> wrote:
>         
>         On Wed, 2008-08-20 at 17:55 +0530, Kranti K K Parisa™ wrote:
>         > Hi,
>         >
>         > Can anyone suggest the performance tips for PostgreSQL using
>         > Hibernate.
>         >
>         > One of the queries:
>         >
>         > - PostgreSQL has INDEX concept and Hibernate also has Column
>         INDEXes.
>         > Which is better among them? or creating either of them is
>         enough? or
>         > need to create both of them?
>         >
>         > and any more performace aspects ?
>         
>         
>         Hibernate is a library for accessing a database such as
>         PostgreSQL.  It
>         does not offer any add-on capabilities to the storage layer
>         itself.  So
>         when you tell Hibernate that a column should be indexed, all
>         that it
>         does create the associated PostgreSQL index when you ask
>         Hibernate to
>         build the DB tables for you.  This is part of Hibernate's
>         effort to
>         protect you from the implementation details of the underlying
>         database,
>         in order to make supporting multiple databases with the same
>         application
>         code easier.
>         
>         So there is no performance difference between a PG index and a
>         Hibernate
>         column index, because they are the same thing.
>         
>         The most useful Hibernate performance-tuning advice isn't
>         PG-specific at
>         all, there are just things that you need to keep in mind when
>         developing
>         for any database to avoid pathologically bad performance;
>         those tips are
>         really beyond the scope of this mailing list, Google is your
>         friend
>         here.
>         
>         I've been the architect for an enterprise-class application
>         for a few
>         years now using PostgreSQL and Hibernate together in a
>         performance-critical context, and honestly I can't think of
>         one time
>         that I've been bitten by a PG-specific performance issue (a
>         lot of
>         performance issues with Hibernate that affected all databases
>         though;
>         you need to know what you're doing to make Hibernate apps that
>         run fast.
>         If you do run into problems, you can figure out the actual SQL
>         that
>         Hibernate is issuing and do the normal PostgreSQL explain
>         analyze on it;
>         usually caused by a missing index.
>         
>         -- Mark
> 
> 
> 
> -- 
> 
> Best Regards
> Kranti Kiran Kumar Parisa
> M: +91 - 9391 - 438 - 738
> +91 - 9849 - 625 - 625
> 
> 


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux