Posts

PostgreSQL Write-Ahead-Logging(WAL) Archiving Functionality

Image
 To recover from PostgreSQL Database crashes Postgres provides WAL archiving functionality from which a standby database can be created by replaying the WAL logs in the recovery site.This interm helps in recovering the database to a particular point in time which is termed as PITR(Point-In-Time_Recovery). WAL files contain the transaction logs from which the database operation can be replayed.Whenever a database operation is triggered a WAL record is created first and then the corresponding data is flushed to disk. In case of any crash, the lost data is recreated by replaying the WAL record. To enable WAL recovering below configuration needs to be configured in postgresql.conf file

Database Emergency Exit from unforeseen Disasters

Image
 With the emerging transformation in the field of AI(Artificial Intelligence) and ML(Machine Learning), data plays a very important role because it allows organizations to store large amounts of business data and retrieve them to get insight into products and customers, which will drive the business. The DataBase helps in accomplishing this. Database Management system provides facilities to access and modify these data efficiently and effectively. Database are very important because of following reasons, Databases enable businesses to efficiently and neatly store and handle massive volumes of data. This facilitates the retrieval and access of particular information when needed. Organizations can use databases to evaluate and interpret their data . Through the utilization of tools like pivot tables and SQL queries, organizations can acquire valuable insights into patterns, trends, and other significant data that can assist in making informed decisions. Through the provision of securit

Does Bloom Filter is the efficient Data Structure for large DataBase Lookup?

Image
Happy to see all the software enthusiastic landing to this post to know about Bloom Filter. There are various Data Structures available but what depends is the use case for which a particular Data structure will serve the purpose efficiently.  Recently I was going through the Data structure to quickly lookup the database content and explored many props and conclusions of various data structures according to my requirement. During the process, I heard about "Bloom Filter", an efficient data structure for a database lookup. As the name suggests it is primarily targeted to filter out some set of lists.  Similarly, like other Data Structures Bloom Filter also has some disadvantages. Before diving into this let's understand the logic behind this. The core logic is to get a hash from the input data and set a bit in the bit array while inserting data into the list. When lookup generates the hash key and checks the bit, if it is set, then data is present. for example, if we are s

Introduction to QAT(Quick Assist Technology)

Image
 QAT is the technology provided by intel to offload CPU intense workloads like Compression, Encryption to QAT hardware. QAT is more efficient than a general-purpose CPU in terms of cost and performance. QAT is a Hardware  Accelerator that can be add on to a card like RAM or inside the CPU.QAT gives higher performance when compared to the traditional compression technique. Some of the benefits of using QAT are as follows A higher compression ratio which increases Physical storage available Improved throughput as CPU  workload is offloaded to QAT Hardware Increased performance as the time taken is very less compared to traditional software techniques CPU time can be utilized for performing some other operations                                                   FIG: QAT Hardware Adapter QAT is open-source and can be consumed either through the QAT library or through a development kit provided by intel for using encryption, decryption, compression, or decompression. QAT supports Cipher ope

Disk Access Across the SAN Fabric

Image
 Disk Access / Storage access process occurs when the server is powered on which is connected to SAN fabric. The main components involved at the higher level are Server, SAN Switches, and Storage Array.  Successful completion of the above process will create a link between Server and Storage, which helps in disk access. The steps involved in as follows FLOGI - Fabric LOGIn process : When the server Host Bus Adapter(HBA) power on, it will send its WWNN and WWPN. Using the details shared by the server HBA the switch will assign FCID(Fibre Channel ID) to each HBA and is stored in an internal database. This FCID is used in routing the host request to its storage. This FCID is equivalent to an IP address in the host.  FC NAme Service: Once the FCID is allocated by the initial switch connected to Server in the fabric, will now share this information with all other switches in the same fabric. The database within the switch which stores the FCID to WWN mapping is called the FCNS database. Wit

Brief Introduction to Storage Area Network

Image
 Hmmm looks like you want to know and understand the so-called SAN(Storage Area Network). For a better understanding, I'm going to split each topic into section vice and without wasting any further time let's start the series with a brief introduction. In the olden days, storage was available in the form of tape drives, Harddisk, CD, SSD and so on...... As time passes the demand for storage capacity, speed, performance, availability increased and parallelly there was a relevant advancement in the technology. Currently, NVMe is the most widely used technology for storage access. Storage can be accessed in various ways and below are some of them 1. Local Access DAS   - Direct Attached Storage  2. Remote Access SAN - Storage Area Network where the storage is accessed through storage protocol like SCSI, FCoE, FC, iSCSI, NVMe. NAS  - Network-attached storage where the mode of access at the file level.   The main component involved in the SAN is server, san switches, and Storage. Som

Linux FTRACE setup using Terminal and GUI Application created from Python Framework

Image
Linux  FTRACE setup using Terminal and GUI Application created from Python Framework In our development processs often it requires to know internal call flow of module/sub system that we   are concerened   about for the efficieent program implementation. In this blog we’ll kick start the process using ftrace, which is provided by Linux Kernel. ftrace (abbreviated from Function Tracer) is a  tracing   framework  for the  Linux kernel . ftrace is developed primarily by Steven Rostedt, and it was merged into the  Linux kernel mainline  in kernel version 2.6.27, which was released on October 9, 2008.ftrace provides few files to set the tracing parameter and tracing function. “Ultimate Tracer”( UTracer ) is a utility that I implemented to setup the function graph parameter. Ultimate Tracer is created using python framework and initial version that we are going to discuss further supports only function graph. Similar to “UTracer” GUI version , there a another version a