- My name is Abdul Rahim. I am a Computer Science Engineer from India.
- I love tech, and I love to talk about tech. Below, you fill find some of my blogs and articles.
Widecolumn database systems
Introduction Wide column database systems store data in column families. Below is a small example of a NoSQL database: Characterstics Although, these relations look like tables, but they’re not actually tables. This is because, we cannot make arbitrary selections based on non-primary columns. For example, the following query will fail: Therefore, similar to key-value stores, we can only query by using primary keys. A primary key in a wide column database consists of one or more partition keys and zero or more clustering keys (or sorting keys). ...
Can quantum entanglement help you sync your database replicas?
Introduction To ensure scalability, reliability and fault tolerance, web applications replicate data across multiple database nodes/clusters/availability zones/regions and cloud providers. However, replicating data introduces the challenge of keeping the copies in sync. In this article, we contemplate weather quantum entanglement can enable database replicas to sync instantinously. The ideas behind entanglement stem from quantum mechanics, a subfield of physics which describes the behaviour of sub atomic particles. In this post, we first describe the basics of database replication, then we move on the show the theoritical application of quantum entanglement in database replication. ...
Search completetion systems
Introduction When you type something on a search engine like google. You are continously shown search suggestions, as you type. API As you type in the search box, behind the scenes, google continously sends request to the backend. The requests might look like this: 1 2 3 4 5 GET /autocomplete?q=be { // metadata such as user id etc for personalized suggestion } The backend responds with a list of suggestions, which might look something like: ...
Designing an E commerce platform
Functional requirements search: The search functionality provides users with the ability to list all products that best match their query. We should also be able to tell weather we are able to deliver a product to the users location or not. For example, if a product cannot be shipped to the user, it should be communicated to the user. cart: users should be able to add items into their cart. wishlist: users should be able to add items to their wishlist. checkout + payment view orders: users should be able to track their active orders Non functional requirements Imagine there is a sale on an item with 50% off. And everybody is waiting for 12:00 so they can order. In such situation, we do not want 2 users to order the same product. Hence, the system should be highly consistent. Secondly, the system should have low latency, therefore, they can book as fast as possiblem, when there is a sale. ...
The design of a Search Engine
Introduction First let’s start with a similar problem akin to web search. Imagine you have 100 files in your current directory, and you do something like: 1 grep "Abdul" . The grep program will return you a list of files which contain the given string or pattern. But how do you think does that works under the hood. In a naive approach, the grep program would open each file in the directory, search for the given string/pattern and if any result is obtained, then add this file to the output list. ...