Multi-Server Load BalancingΒΆ

To spread a database across multiple servers the database must first be appropriately chunked. A is started on each host with its corresponding database chunk. is then used to tie all the servers together to appear like a single shape database service to client applications. Theoretically, there is no need for the client to know whether it is querying one or many servers.

The general work-flow is as follows:

  1. Split up database into 2 servers: database.oeb.gz database_shapedb.oeb.gz 2
  2. Start a shape database server on each host:

    # host1 database_shapedb_1.oeb.gz
    # host2: database_shapedb_2.oeb.gz
  3. Start a proxy server to point to all the hosts. Note, a different port number like 8081 may need to be specified if the proxy server is being started on a host that already has a started on it.:

    # proxy host1:8080 host2:8080 8081
  4. Query the proxy server: proxy:8081 query.sdf overlays.oeb