2. CONTENTS
•About server load balancing
•Objective
•Why not reational database?
•Introduction
•System design
•Implementation
•Testing
•References
3. What is server Load Balancing?
• Server Load balancing is a technique to distribute loads among
clients.
• In sever load technique we control requests of various clients
among various servers.
• There is a control server which will distribute the load.
4. Objective
To develop a Server Load Balancer for structured data, that will
manage lager amount data.
To provide functionality : upload , download and delete operation
data .
To provide reliability ,scalability, high performance.
Reliability is achieved by replication, scalability is achieved by data sharing and high
performance is achieved as client directly contact with slave server in spite of master server.
5. Why not Relational database?
Lots of data are producing recently, so its practically impossible
to store all data at one location
Problem with RDBMS is the horizontal distribution of load and
data.
Due to this horizontal distribution there exits various relation
between data that is not easily achievable.
To store an application entities in a persistent and consistent way
then an RDBMS is overkill.
6. Introduction
Server load Balancing System is used for managing structured
data.
Designed to scale to a very large size: data across many
commodity servers.
Can work in case of hardware failure of slave server nodes.
It has three main part
1) Master server
2) Slave server
3) Client API
7. Master’s server Task
Synchronization between slave server.
Sending location of data to machine running client API.
Assigning Unique key to each data.
Failure detection.
Master is responsible for load balancing and fault tolerance.
Slave server
Slave servers store data with its unique key.
Slave server sends its status continuously to master server.
Salve server is responsible for uploading ,downloading and deletion of data.
8. Machine running client API
Client API calculate manage all activity that user or upper layer demand.
It accept a unique key and data that is to be stored.
It act as client for master and slave server.
It contact with master server for the location where it can store data.
On receiving location it store data to that location .
9. Data that this system can Handle?
It can handle any kind of data, the system is only concerned about
data and key.
Based on layered architecture .
Upper layer are responsible for giving this layer data into structured
form.
This system has main functionality of providing scalability and
reliability.
11. Implementation
MASTER
SERVER
SLAVE
SERVER
SLAVE
SERV ER
CLIENT STEP 1
MASTER
SERVER
RUNNING ,
WAITING
FOR SLAVE
SERVER AND
CLIENT
STEP 2
SLAVE SERVER
RUNNING , WAITING
FOR CLIENT AND
SENDING DETAILS
TO MASTER
STEP 3
CLIENT RUNIING
STEP 6
CLIENT
CONTACT
WITH SLAVE
SERVER AND
STORE DATA
AT SPECIFIC
KEY.
12. Slave server Insert Handling
UPLOADING
Client will request for space from master server by sending
size and name of image/folder.
Master server create key.
Master Server Stores: size of data, location(IP address),key,
size of image.
It will send a packet containing IP-address and key to client.
Client will contact will slave server on basses of IP address
and get stored with given key.
13. Reading
Client will enter name of image /folder .
Master server by looking in its METADATA get IP-address, PORT
NUMBER and key corresponding to given name of image/folder.
Client will now directly contact from given IP-address and get key element.
Creation of Database
For database we are using simple file structure of C file.
Particular directory is created for each user.
14. Testing
Has three main phases as :-
1) Generation of large amount of data
Our system is independent of data , so for testing we are using text, image, video
and audio for testing.
2) For offline testing we are going to reduce size of each slave server to 10 GB.
3)Hardware constraints
4 Laptop with at least 10GB free space.
Dual core processor (2 GHZ).
LAN wire having minimum 100mbps speed.
Linux operating system.
4)All machine are running on same hosting facility that make round trip time very less.
5) Sequential write is used.
15. Reference’s
Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A.
WallachMike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber
Bigtable: A Distributed Storage System for Structured Data ,2006
Ankur Khetrapal, Vinay Ganesh (Dept. of Computer Science, Purdue
University)
HBase and Hypertable for large scale distributed storage
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung
The Google File System, 2003
White paper of HyperTable,2102