Обсуждение: Simple database, multiple instances?

Поиск
Список
Период
Сортировка

Simple database, multiple instances?

От
Mario Splivalo
Дата:
I have simple database schema, containing just three tables:

samples, drones, drones_history.

Now, those tables hold data for the drones for a simulation. Each
simulation dataset will grow to around 10 GB in around 6 months.

Since the data is not related in any way I was thinking in separating
each simulation into it's own database. That way it would be much easier
for me to, at later date, move some of the databases to other servers
(when dataset grows beyond the original server storage capacity limit).

But. At this time I have around 600 simulations, that would mean
creating 600 databases, and in future there could very well be around
5000 simulations. Is postgres going to have 'issues' with that large
number of databases?

Or do I model my system in a way that each database holds around 100
simulations?

    Mario

Re: Simple database, multiple instances?

От
Dimitri Fontaine
Дата:
Mario Splivalo <mario.splivalo@megafon.hr> writes:
> I have simple database schema, containing just three tables:
>
> samples, drones, drones_history.
>
> Now, those tables hold data for the drones for a simulation. Each simulation
> dataset will grow to around 10 GB in around 6 months.
>
> Since the data is not related in any way I was thinking in separating each
> simulation into it's own database. That way it would be much easier for me
> to, at later date, move some of the databases to other servers (when dataset
> grows beyond the original server storage capacity limit).

Do you intend to run queries across multiple simulations at once? If
yes, you want to avoid multi databases. Other than that, I'd go with a
naming convention like samples_<simulation id> and maybe some
inheritance to ease querying multiple simulations.

Regards,
--
Dimitri Fontaine
http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support

Re: Simple database, multiple instances?

От
Mario Splivalo
Дата:
On 11/30/2010 12:45 PM, Dimitri Fontaine wrote:
> Mario Splivalo<mario.splivalo@megafon.hr>  writes:
>> I have simple database schema, containing just three tables:
>>
>> samples, drones, drones_history.
>>
>> Now, those tables hold data for the drones for a simulation. Each simulation
>> dataset will grow to around 10 GB in around 6 months.
>>
>> Since the data is not related in any way I was thinking in separating each
>> simulation into it's own database. That way it would be much easier for me
>> to, at later date, move some of the databases to other servers (when dataset
>> grows beyond the original server storage capacity limit).
>
> Do you intend to run queries across multiple simulations at once? If
> yes, you want to avoid multi databases. Other than that, I'd go with a
> naming convention like samples_<simulation id>  and maybe some
> inheritance to ease querying multiple simulations.

Nope, those 'realms' are completely separated, I'll just have hundreds
of them. But each of them is in it's separate 'universe', they're not
aware of each other in any way (i might be creating some statistics, but
that is going to be really rarely).

    Mario

Re: Simple database, multiple instances?

От
Maciek Sakrejda
Дата:
I saw a presentation from Heroku where they discussed using a similar
paradigm, and they ran into trouble once they hit a couple thousand
databases. If memory serves, this was on an older version of
PostgreSQL and may not be relevant with 9.0 (or even 8.4?), but you
may want to try to track down one of their developers (maybe through
their mailing lists or forums?) and check.
---
Maciek Sakrejda | System Architect | Truviso

1065 E. Hillsdale Blvd., Suite 215
Foster City, CA 94404
(650) 242-3500 Main
www.truviso.com

Re: Simple database, multiple instances?

От
"Pierre C"
Дата:
> Having that many instances is not practical at all, so I'll have as many
> databases as I have 'realms'. I'll use pg_dump | nc  and nc | psql to
> move databases....
>
>     Mario

Then you can use schemas, too, it'll be easier.