ENGINEERING & SYSTEMS
Rathish Kumar B
Building software, exploring systems, and understanding tradeoffs
I build and think about software systems - how they behave under real constraints, how they scale, and the tradeoffs that make them hold up over time. Over the past 14+ years, my work has spanned databases, data platforms, cloud architectures, and AI engineering workflows. I write practical notes for engineers and technical leaders who care about understanding systems beyond the surface.
I am open to discussing real-world systems challenges with engineering teams, particularly around data platforms, AI system architecture, and infrastructure cost optimization. If your team is navigating complex technical tradeoffs or looking for an experienced sounding board to review architecture, feel free to reach out on LinkedIn or via the contact form.
Writing
Recent technical notes and systems deep dives.
May 24, 2016 / by Rathish Kumar B
This post is about setting up Master- Slave replication on
MySQL database. Here we assume that, primary master server is up and running
and you need to add another server as a slave to an existing server. The
following step by step guide will help you to set up the replication.
February 21, 2016 / by Rathish Kumar B
Problem:
When multiple client applications
such as web applications, desktop applications and mobile applications written
in different languages like php, python, java, objective c, etc. need to perform
the same database operation (insert), the same operations done by different
client applications and client applications are directly accessing the database
table using same SQL statement.
Solutions:
We are implementing stored procedure; here the client
applications will simply call the defined stored procedures to perform the
database operation (insert). In this post let us see about the syntax of the
stored procedure and will see an example of insert operation using stored
procedure using MySQL.
January 22, 2016 / by Rathish Kumar B
Error Message:
Error Code: 1215. Cannot add foreign key constraint
Example:
Error Code: 1215. Cannot add foreign key constraint
Possible Reason:
Case 1: MySQL storage engine.
January 21, 2016 / by Rathish Kumar B
Error Message:
Error Code: 1062. Duplicate entry ‘%s’ for key %d
Example:
Error Code: 1062. Duplicate entry ‘1’ for key ‘PRIMARY’
Possible Reason:
Case 1: Duplicate value.
The data you are trying to insert is already present in the column primary key. The primary key column is unique and it will not accept the duplicate entry.
January 19, 2016 / by Rathish Kumar B
We have discussed about the conceptual data model, logical data model, normalization and denormalization techniques and we discussed about installing and running up with MySQL community server. What will be next? Once we build the data model and decided the database server, the next process will be start developing the physical database. What is needed to develop physical database? We need a common language to communicate with both the developer and database server. Here, comes the structure query language. So in this post we are going to see about the SQL (Structure Query Language). After reading this post you will be able to answer the following questions:
January 15, 2016 / by Rathish Kumar B
Last week I got an assignment where I need to install MySQL server on client’s machine, after checking the system requirements, I came to know that, the machine contains the 64 bit windows operating system. So I thought to download MySQL community server for windows 64 bit operating system, but I found that the website provides only 32 bit installer for windows, and for 64 bit operating system, the website provides the zip file for download. My client needs to manage the MySQL products by himself; he was expecting software where he can manage all MySQL products at one place, so we need MySQL installer in that machine. So I decided to install MySQL server on windows machine using MySQL installer web community. In this post, let me go through the step by step guide to install MySQL server on windows machine.
January 10, 2016 / by Rathish Kumar B
We have seen
about the normalization and different levels of normalization in previous post.
A normalized database design will store the information in more number smaller
and separate tables. When you need to retrieve particular information from a
normalized database you need to perform join operation, when you have more
number of relationships among tables for particular information, you need to
perform more join operation; it may further reduce the retrieval speed of the
database. Here comes the denormalization, we are violating the normalization
selectively in order to reduce the data retrieval time of a database. But at
the same time over denormalization also leads to redundancy and inconsistent
data, so it is data modeler’s response that, after denormalization the database
should not become inconsistent.
January 04, 2016 / by Rathish Kumar B
A few years back, when I was working as junior database administrator, one of seniors given me a conceptual data model sheet and asked me to read the model and prepare a logical model from the sheet. I studied ER diagram (Entity-Relationship diagram) during my engineering course, so I must have some basic knowledge, but the given conceptual model is little different from what I studied (only the symbols are different). So I was searching in internet with queries, "what is logical data model?" and "how to convert a conceptual data model to a logical data model?". I found some pages related to what I was searching and I understood the concept, after a week somehow I submitted my newly created incorrect logical data model to my senior (it is a simple user management application).
December 28, 2015 / by Rathish Kumar B
Conceptual data model is a map of key concepts and rules binding these key concepts for a specific business, for a particular audience, that used for databases. Key concepts are both basic and critical to your business. Basic means this term is mentioned many times a day in your organisation in conversation among business people, such as CUSTOMER, EMPLOYEE, PRODUCT, etc.Critical means the business would be very different or non-existent without this key concept. For example, without the concept PRODUCT, your business may become non-existent.
December 26, 2015 / by Rathish Kumar B
In data modeling, we use keys for data retrieval and easy navigation. In this post we are going to discuss about the different keys used in data modeling such as candidate keys, composite keys, primary keys, alternate keys, surrogate keys and foreign keys and their important.
December 24, 2015 / by Rathish Kumar B
In real world, entities have relationships with other entities. Relationships define how two entities are associated with each other. The data modeling captures the nature of relationship between two entities. For example, the entity 'Customer' buys the 'Product' and the entity 'Vendor' sells the 'Product'. It captures the rules between these two entities. If two entities are Person and Telephone Number, the relationship may capture the rule "Each Person may have many Telephone Numbers" and "Each Telephone Number must belongs to one Person."
December 21, 2015 / by Rathish Kumar B
In previous post we have seen about the
entities, in this post let us see about the data fields and domains. Data field is nothing but a column header or label describing instances of an entity. The data field Customer Name describes name of each Customer. The data field Model Number identifies each model.