One of the difficult task for the organization now a days is the maintaining their huge data in efficient way. The main concern for them is to make sure that there is no loss of information and all the time system should be up and running.
There two scaling techniques available which helping them in achieving their goal
1) Horizontal Scaling
2) Vertical Scaling
Horizontal Scaling: This can be achieved by scaling database on multiple server by replicating it.
Vertical Scaling: This can be achieved by adding more hardware.
Companies having huge data and there is huge transactions are facing issues like Increased load of their user base, scalable data storage, high availability.
Factors which help in managing the data store are:
Immediate vs. Eventual Consistency
By keeping above factors in keep mind and what is best suit for your requirement, one of the below mentioned replication approach has to be taken
Ring of Masters
Each of the above having advantages and dis-advantages over one another; so one has to select the best which suit the requirement.
Other things which need to be keep in mind are:
Replication Lag and DB-partitioning-Clustering
Federation / Sharding and how cross joining will be apply
The above information is at very high level, you will have to go in detail to understand each factor and then take the final decision for your requirement.
It is a four steps process:
When browser tries to access other application the interceptor redirects it to SSO server
The browser submits previously authenticated token (cookie) to the SSO server
SSO server validates and forwards browser with access token and other user related information to interceptor
Based on user related attributes the interceptor allows the browser to access the application
We need to consider below-mentioned factors while doing the hardware capacity planning. These factors help to understand what would be the best hardware resources should be available in order to get the best performance.
1) Get the number users expected in a day.
2) Get the peak hour(s) and percentage of a total number of users during that period.
3) Average user visit time.
4) A number of pages visits during average user time.
5) Find out static and dynamic resources on certain pages.
6) Ask for headroom factor.
Based on above input, calculate, the total number of concurrent users in 1 sec, throughout (page rate), throughout (requests).
Once you done with a calculation, consider a server with good configuration and do the testing and find out what out server gives in terms of x number of requests.
Based on the output from that server, increase the number of servers and calculate the output. Once you reach to a level where you find your requirement is filling then finalize the configuration for capacity.
In computer science, marshaling is the process of transforming the memory representation of an object to a data format suitable for storage or transmission, and it is typically used when data must be moved between different parts of a computer program or from one program to another. Marshaling is similar to serialization and is used to communicate to remote objects with an object.
Extent – the basic unit in which space is managed. An extent is eight physically contiguous pages, or 64 KB. This means SQL Server databases have 16 extents per megabyte.
Uniform extents – owned by a single object; all eight pages in the extent can only be used by the owning object.
Mixed extents – shared by up to eight objects. Each of the eight pages in the extent can be owned by a different object.
Allocation Unit – a set of particular types of pages.
Partition – is a unit of data organization.
Heap – a table without a clustered index.
IAM – Index Allocation Map-the page that keeps track of all the pages allocated to a heap. (Can be more than one)
B+ Trees – B-tree stands for â€œbalanced tree,â€ and SQL Server uses a special kind called B+ trees (pronounced â€œb-plus treesâ€) that are not kept strictly balanced in all ways at all times. Unlike a normal tree, B-trees are always inverted, with their root (a single page) at the top and their leaf level at the bottom.
Root Node – The top node of the B+ tree is called the root node.
SGAM – tracks shared extents.
GAM- tracks an allocation event.
Page – The fundamental unit of data storage in SQL Server
DBCC PAGE – allows you to examine the contents of data and index pages.
DBCC IND – lists of all database pages that make up the selected index or partition.
Data Page – stores data,except text, ntext, image, nvarchar(max), varchar(max), varbinary(max), and xml data, when text in row is set to ON.
Log Files – a series of log records.
Extents – a collection of eight physically contiguous pages and are used to efficiently manage the pages.
.mdf – Primary data file.
.ndf – Secondary data file.
Studying and exploring the Architecture modules.