Mobile applications are the new era of smart phone usage, and database is often an invisible and invincible powerful technology that acts as the root of every application operation in terms of data processing, storage, and retrieval.
Although databases are quite a low profile in the eyes of the user, it is the backbone of the entire application development process. It helps developers to design most responsive, or less redundant data storage systems that has the capability to keep up with the growing needs for a highly responsive application.
While looking out for a solution to optimize the database utilization in the ETL process, it is worthy to look into these find answers for questions like, who will access this database? how do they access it? And finally what is its used for? Moreover, the rate at which requests are made from clients.
Use proven indexing techniques
Indexing is not a new technique and it very often done is Microsoft Windows platforms as part of a routine in the operating system process. So, how it is different from database indexing and how to find a way to optimize indexing?
For structured queries, it is good practice to have a systematic index checking process before actually doing ETL operation. Some of the factors to be considered while making an analysis on the query can be like, does it has joins or links to external tables, the quantity of data requested, is there any aggregate functions called, usage of filters (Order by statements).
Create an index for external tables which has primary and foreign keys, and built a separate index for each of these keys i.e., primary and foreign keys. Also, using functions such as Insert, Update, and Delete more frequently will re-index the table fields or data that might affect the performance of the ETL process.
Be conscious on cache
When any SQL query is made often most accessed data is stored in the cache for eliminating any kind of redundant tasks for redundant. While working out the most appropriate caching, it is necessary that you keep it low as possible and increment in small amounts to find the sweet spot for your database caching.
Often, it is recommended to have a cache not more than 200MB while it is seen optimal by starting at 10MB and increase gradually. This is useful during the peak requests to the database, and query caching can be reduced when the request rate reaches 50% of the peak requests.
Control the connection pool
To build a robust and less redundant database response, it is important to look into connection time it takes for processing an ETL request. It is always a good practice to keep a lower bound on the connection requests, and it advised to keep the minimum and maximum connections the same to help client interactions smoother.
Similar to caching, it is also advised to keep the connection pool size low as possible and increase it on-demand with proper load testing and based on available CPU power.