Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1YIMes-0000SU-Bo for pgsql-admin@arkaria.postgresql.org; Mon, 02 Feb 2015 19:27:42 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1YIMer-0007Ze-Qy for pgsql-admin@arkaria.postgresql.org; Mon, 02 Feb 2015 19:27:41 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1YIMeq-0007ZX-Da for pgsql-admin@postgresql.org; Mon, 02 Feb 2015 19:27:40 +0000 Received: from cerberus.pinpointresearch.com ([66.7.238.130] helo=polaris.pinpointresearch.com) by makus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1YIMem-0005nZ-W1 for pgsql-admin@postgresql.org; Mon, 02 Feb 2015 19:27:38 +0000 Received: from [192.168.1.179] (betelgeuse.pinpointresearch.com [192.168.1.179]) by polaris.pinpointresearch.com (Postfix) with ESMTP id B8F4AE012033; Mon, 2 Feb 2015 11:27:35 -0800 (PST) Message-ID: <54CFCFA7.1050301@pinpointresearch.com> Date: Mon, 02 Feb 2015 11:27:35 -0800 From: Steve Crawford User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Naresh Soni , pgsql-admin@postgresql.org Subject: Re: Hi Community References: In-Reply-To: Content-Type: multipart/alternative; boundary="------------050100090506010907020303" X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-admin Precedence: bulk Sender: pgsql-admin-owner@postgresql.org This is a multi-part message in MIME format. --------------050100090506010907020303 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 02/02/2015 03:18 AM, Naresh Soni wrote: > Good Evening Community > > This is my first question on the list, I wanted to ask if postgres can > handle multi millions records? for example there will be 1 million > records per table per day, so 365 millions per year. > > Is yes, then please elaborate. > > Yes. Maybe. But you will need to elaborate. (A plain text file can store millions of records, too. The use pattern is what matters.) For reference, I have a modest database of about 350-million records running on modest hardware of a several-year-old 4-core/24GB RAM/4-drive RAID10 with battery-backup server and get mostly acceptable performance with query peaks well over 1,000 TPS at about 2/3 writes. The people here can give you lots of good advice with purchasing the PostgreSQL Performance book being a good one. PostgreSQL is feature-rich but you will need to design and choose appropriately. To get started a few questions jump out: * You say 1-million/day/table. How many tables (i.e. what is the total record count)? * How long do you want to keep the data (total anticipated database size)? * Can the data be easily partitioned? For example, can you set up child tables by month for query and archive efficiency? * What sort of query mix do you anticipate? What portion of inserts, updates, selects,...? Lots of data-warehouse type queries? * Is the schema fairly simple or are there lots of complex foreign-key constraints? * What sort of performance do you need - fraction-of-a-second transactional response or overnight analytical runs? * What hardware can you throw at it? At one end I've run PostgreSQL on a Raspberry Pi. At the other end, I'm about to migrate a database to a 20-core/128GB machine with Intel SSD storage that can purportedly match the TPS of 2,000 15k drives. (This is certainly not the upper limit of hardware for running PostgreSQL). Each is appropriate for its use-case. In any case, don't let the number of options and features overwhelm you - you don't need to optimize prematurely. Describe your use-case here for some starting suggestions, get familiar with it, and adjust your design and settings as necessary. Welcome to the list. Cheers, Steve --------------050100090506010907020303 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
On 02/02/2015 03:18 AM, Naresh Soni wrote:
Good Evening Community

This is my first question on the list, I wanted to ask if postgres can handle multi millions records? =C2=A0for example t= here will be =C2=A01 million records per table per day, so 365 milli= ons per year.

Is yes, then please elaborate.=C2=A0


Yes. Maybe. But you will need to elaborate. (A plain text file can store millions of records, too. The use pattern is what matters.)

For reference, I have a modest database of about 350-million records running on modest hardware of a several-year-old 4-core/24GB RAM/4-drive RAID10 with battery-backup server and get mostly acceptable performance with query peaks well over 1,000 TPS at about 2/3 writes.

The people here can give you lots of good advice with purchasing the PostgreSQL Performance book being a good one. PostgreSQL is feature-rich but you will need to design and choose appropriately. To get started a few questions jump out:

  • You say 1-million/day/table. How many tables (i.e. what is the total record count)?

  • How long do you want to keep the data (total anticipated database size)?

  • Can the data be easily partitioned? For example, can you set up child tables by month for query and archive efficiency?

  • What sort of query mix do you anticipate? What portion of inserts, updates, selects,...? Lots of data-warehouse type queries?

  • Is the schema fairly simple or are there lots of complex foreign-key constraints?

  • What sort of performance do you need - fraction-of-a-second transactional response or overnight analytical runs?

  • What hardware can you throw at it? At one end I've run PostgreSQL on a Raspberry Pi. At the other end, I'm about to migrate a database to a 20-core/128GB machine with Intel SSD storage that can purportedly match the TPS of 2,000 15k drives. (This is certainly not the upper limit of hardware for running PostgreSQL). Each is appropriate for its use-case.

In any case, don't let the number of options and features overwhelm you - you don't need to optimize prematurely. Describe your use-case here for some starting suggestions, get familiar with it, and adjust your design and settings as necessary.

Welcome to the list.

Cheers,
Steve

--------------050100090506010907020303--