Обсуждение: Postgresql database for distributed transactions

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

Postgresql database for distributed transactions

От
"Hu, William"
Дата:

Hi, I am designing a mobile POS application.  I was hoping I can use the Postgresql database as the central transactional database.

 

The application itself will run on a remote mobile PC.  The retail transaction data is small, it consists of the transaction timestamp, location, amount, item price, item type, etc.

 

There are at least 600 of these types of mobile POS required.  Each of the mobile PCs DOES NOT have a stable and consistent network connection throughout the day.  For example, the network may be available for 5 minutes in the morning, and no connection at all in the afternoon.  However, there are at least 30 minutes of guaranteed stable connection time at midnight every day.

 

Each of the mobile POS when facing the consumer needs to process at most 500 transactions a day.  I was hoping to use the intermittent network connection time to do system download to flag transactions, such as, stolen credit card number, etc.  And, to use the stable midnight network connection time to do uploads of the mobile transactions to the central Postgresql database.  The upload would require at most 600 mobile terminals times 500 transactions at most of 3,000,000 transactions a day in 30 minutes time frame.

 

What specific Postgresql feature can I use to process the upload transactions? should I attempt to write transaction logs or do bulk inserts.  What specific features in Postgresql would help to ensure the data consistency in such a computing environment?  Thanks in advance.

 

William Hu

Trimet.org

 

Re: Postgresql database for distributed transactions

От
John R Pierce
Дата:
  On 08/02/10 3:49 PM, Hu, William wrote:
>
> Each of the mobile POS when facing the consumer needs to process at
> most 500 transactions a day.  I was hoping to use the intermittent
> network connection time to do system download to flag transactions,
> such as, stolen credit card number, etc.  And, to use the stable
> midnight network connection time to do uploads of the mobile
> transactions to the central Postgresql database.  The upload would
> require at most 600 mobile terminals times 500 transactions at most of
> 3,000,000 transactions a day in 30 minutes time frame.
>


fwiw, 600 * 500 is only 300,000, not 3,000,000.  Thats only 10,000
transactions/minute, 166/second, which should be readily achievable with
a reasonable DB server with the appropriate disk system.

I'm not sure how you can ensure data consistency when your POS terminals
are disconnected from each other.