Archive for the ‘General’ Category

Database Server Scaling Strategies   Leave a comment

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:
Relational data
Fixed schemas
Immediate vs. Eventual Consistency
Data Locking

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

Master-Slave Replication

Tree Replication

Master-Master Replication

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.


Posted January 27, 2018 by Izharuddin Shaikh in General

Tagged with ,

Single sign-on flow   Leave a comment

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

Posted November 13, 2017 by Izharuddin Shaikh in General

Tagged with

Factors for Capacity Planing   Leave a comment

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.

Posted November 5, 2017 by Izharuddin Shaikh in General

Tagged with

Marshaling   Leave a comment

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.

Posted September 10, 2017 by Izharuddin Shaikh in General

Tagged with

RTM: Requirement Traceability Matrix   Leave a comment

Requirement Traceability Matrix or RTM captures all requirements proposed by the client or development team and their traceability in a single document delivered at the conclusion of the life-cycle. In other words, it is a document that maps and traces user requirement with test cases.

The Requirements Traceability Matrix (RTM) is a document that links requirements throughout the validation process. The purpose of the Requirements Traceability Matrix is to ensure that all requirements defined for a system are tested in the test protocols.

Posted September 6, 2017 by Izharuddin Shaikh in General

Tagged with

Regular Expression – II   Leave a comment

//Matches string start with pattern
String strData = “Hello there”;
Regex rg = new Regex(“^Hello”);
bool truefalse = rg.IsMatch(strData);

rg = new Regex(“^Hola”);
truefalse = rg.IsMatch(strData);

//Matches strung end with pattern
strData = “Hello there”;
rg = new Regex(“there$”);
truefalse = rg.IsMatch(strData);

//Matches char from the list
rg = new Regex(“[aeiou]”);
truefalse = rg.IsMatch(strData);

//Not matches char from the list
rg = new Regex(“[^aeiou]”);
truefalse = rg.IsMatch(strData);

//Matching range
strData = “Hello there, you are 8 years old.”;
rg = new Regex(“[0-9]”);
truefalse = rg.IsMatch(strData);

strData = “55”;
rg = new Regex(“[0-9][0-5]”);
truefalse = rg.IsMatch(strData);

//Match string contains A-Z, a-z and 0-9
strData = “Hello”;
rg = new Regex(“[^a-zA-Z0-9]”);
truefalse = rg.IsMatch(strData);

//Match string contains A-Z, a-z, 0-9 with white space, below code return false when string contains chars other than defined.
strData = “hello there 0″;
rg = new Regex(@”[^a-zA-Z0-9\s]”);
truefalse = rg.IsMatch(strData);

//Matches a-z and A-Z
strData = “hello there”;
rg = new Regex(@”[^\w\s]”);
truefalse = rg.IsMatch(strData);

//Matches a-z, A-Z and 0-9
strData = “hello there 0″;
rg = new Regex(@”[^\w\d\s]”);
truefalse = rg.IsMatch(strData);

//Note*: \w represet a-zA-Z, \W other than word characters and \d represent 0-9, \D other than non-decimal
//\s represent whitespace

//To match the number of characters that matches certain pattern.

//True scenario
strData = “12345”;
rg = new Regex(@”\d{5}”);
truefalse = rg.IsMatch(strData);

strData = “12345-6789″;
rg = new Regex(@”\d{5}-\d{4}”);
truefalse = rg.IsMatch(strData);

//False scenario
strData = “12345-678″;
rg = new Regex(@”\d{5}-\d{4}”);
truefalse = rg.IsMatch(strData);

strData = “12345-678A”;
rg = new Regex(@”\d{5}-\d{4}”);
truefalse = rg.IsMatch(strData);

//Minimum and Maximum Occurences
//True scenario
strData = “123”;
rg = new Regex(@”\d{1,3}”);
truefalse = rg.IsMatch(strData);

strData = “12”;
rg = new Regex(@”\d{1,3}”);
truefalse = rg.IsMatch(strData);

//False scenario – string end with numeric
strData = “A124B”;
rg = new Regex(@”\d{1,3}$”);
truefalse = rg.IsMatch(strData);


Posted August 23, 2015 by Izharuddin Shaikh in General

Tagged with

Regular Expression – I   Leave a comment

Regular expression are often used to make sure that a string matches a certain pattern. For example, that a string looks like a zip code, or phone number, or e-mail address.

The simplest regular expression is just a sub-string. For example, the regular expression ther matches the string hello there, because the string contains the regular expression.

If you’re familiar with JavaScript regular expression, then you’ll you already know most of this. .NET regular expression are just a super set of JavaScript regular expression.

Start and End of Line

You can easily match strings that start or end with certain characters. The ^ character matched the start of the string. For example:

^hello Matches hello there, hello Shaikh, hellotopical

To match the end
of the string, use the $ character. For example:

Matches Where, and There

The ^
and $ characters are know as “Atomic Zero Width Assertions”,
in case you were wondering.

Character Classes

Character classes allow you to specify sets of characters or ranges. For example:

Matches Hey, and Hi, but not Zzz

In other words,
the string must contain at least one of the characters in the character class.
You can also exclude characters. For example:

Matches Zzz, but not Hey or Hi.

When the ^
character is the first character in the character class, it means “anything but the following characters”.

Putting this together, we could create a pattern that matches strings that start with a vowel:

[aeiou] Or, strings that don’t start with a vowel: [^aeiou]

With character classes, you can also specify ranges. For example:

Matches 0, 5, 8, or any number between 0 and 9.

Matches any two digit number (04, 13, 87, etc.), but there’s a better way to do this.

Posted August 16, 2015 by Izharuddin Shaikh in General

Tagged with

%d bloggers like this: