Search Postgresql Archives

Re: Complex database infrastructure - how to?

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

 



Em 30/06/2012 12:38, Jack Christensen escreveu:
On 6/30/2012 9:25 AM, Edson Richter wrote:
I've a plan that will need a complex database infra-structure using PostgreSQL 9.1. I've seen similar setups using MS SQL Server and other databases, but all of them support cross database queries (also easy to implement with materialized views).

- Administrative database: have few tables, used to administer the infrastructure. This database have some tables like "users", "groups", "permissions", etc.
- Application databases: have app specific data.

1) One main Administrative application that will have read/write permissions over the Administrative database. 2) Each application will have to access the application database (for read/write), and the administrative database (for read only - mainly to maintain the record references to the users that created objects, and so on).
3) All applications are written in Java, using JPA for persistence.
4) All databases are running on same server, and all of them have same encoding.

What I've tried so far:
1) Copy tables from Administrative to Application: this approach would work, but I have trouble with the foreign keys. I'll have to disable (or drop) them, then copy data, then activate (or recreate them again). Could lead to problems? 2) dblink: I can't use foreign key to foreign tables. Also, it is very hard to implement with JPA. 3) odbc_fdw: along with unstability, difficult to build/deploy, it is too slow (why? - don't know) 4) JPA spacific multi-database approach: not really working, and can't provide database integrity

My next try will be using triggers in Administrative database to send data to Application databases using dblink.

Is there any ohter way to do that? Please, adivce!

Edson.


Consider using one database with multiple schemas. You can separate your applications into their own schemas, and you can have cross-schema foreign keys.

Sounds interesting.

But how to keep application databases independent from each other?
I mean, if I would like to apply maintenance (backup/restore/vacumm) without interfering with the others?

Also, there is a connection property for JDBC that allow to specify which schema to use, so this approach is really transparent to my application?

Thanks,

Edson.


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux