In-memory Database that Sync with a Central Database

526 Views Asked by At

Scenario: Hundreds of nodes running an HTTP server responding to time-critical requests (requests must be processed and a response must be sent back within milliseconds eg. 50 milliseconds max). Each server will serve about 500 requests per second (making all nodes collectively serving more than 100,000 qps). In order to avoid connecting to a central (remote) database for each request, each node will have an in-memory replica of the database (database should be able to only hold a few hundred megabytes of data).

Question 1: Are there any database technologies that implement this kind of multiple (hundreds of) in-memory replicas that synchronize in realtime (or near-realtime) with a central database?

Question 2: Are there any architectural patterns that address this scenario?

1

There are 1 best solutions below

0
On

Oracle's GoldenGate is a potential solution. I can't speak to the systems you tagged: redis and couchdb. I have heard positive things about redis, but it's purely anecdotal; I don't have any direct, hands-on, experience. My own company's eXtremeDB can also accommodate this type of workload. There are a couple of configurations to choose from, but this isn't an appropriate venue to explore them with you. Please reach out to us if you'd like to get into it.