 So in this module, we will discuss the data layer. How do we go about looking at the data layer, what are the guidelines, what are the components of the data layer, we will look at them in a certain level of detail. And then we will be also talking about something which is called as the blob. Blob is the binary large object, we will talk about it and what are the issues. So if we look at that layered diagram architecture of a web-based database application, we see at the bottom over here is the data layer. This is the layer I will be talking about in this module. And as you can see in more detail that this data layer consists of three parts also. One is the data access components. These components help in accessing the data, where the data at the data source. And we have these helper utilities. These utilities you don't as a programmer, you don't have to write these utilities. These help in the data transformation, the data transfer and reading the data. And if you have to use any external services to hide the idea of synchronizes in your database application. And those services have are exposed to use this service agents to make use of those services. So this is what we will be looking at and with reference to the data layer. Now what are the guidelines for the data layer, still we talk about the blog. Create an overall design for your data layer. And what it should be covering, identify the data source requirements, determine the data's access approach, where your data is how you're going to get the data and how you are going to map the sources to where you need the data. Remember that data is the new oil of this new economy. And how will you connect to the data source? And how you will handle the data source errors? When will this error occurs when you are reading from the data source? Now try to understand we are looking at data sources which are diverse. In this in this case diverse kind of heterogeneous. Therefore we have these issues because we are moving towards a data layer as an employee of an organization. You are looking at diversity in the data. Design the access commerce in enumerate the data sources where you will be getting the data from what methods methodologies and techniques you will be using to get their data and determine the relevant design patterns also. All has these to be covered in the data layer and more and more. Design your data helper components, use libraries, consider custom helper components. Don't spend a lot of time writing the code which you need to debug and which may crash also. Use the work that has already been done, which is established, which is failsafe and consider logging those helper components so that you can look at the different issues, the performance and fine tuning things. So all of this is going to help you. Design your service agents, which service agents with reference to the services expose to you so as to hide the complexities of the database and the data transformations in and the relevant things which I discussed in the previous slide. So what are the design guidelines? Choose the data access technology. Choose it wisely and handle curd exceptions. Curd is create, read, update, delete. Why? Because when you perform these operations and there are certain errors, how do you handle those exceptions? You don't want to leave your system open. Before the users what has been done and what has not been done that I discussed in the previous module also. So you have to consolidate your data structures also. So it's all about data. Why it's all about the data layer details in the notes. And then of course is a blob binary large object. Because in today's applications, we have large other than data, textual data, we have large images also. And those images need to be stored. Those images need to be processed. So single stream of data, it is unlike text because you have the text coming and the text can be divided into parts logically, but it's not the case for image. So it's single stream of data and structure is unknown to the database. You don't have this text as a number as a real as an integer. There's no such structure to it. And the blobs are not directly stored in the database because there's no structure to it. Okay. And it is usually stored as maybe a pointer also as a pointer pointer to the image data. And so what are the guidelines for working with blob avoid using database for storing the image a blob in a database. Don't parse the blob for search because you cannot do this. This is at the domain of image processing. This is a domain of image processing. Okay. What you need to do is maybe you need to have certain columns in which certain information is stored about the blob and you don't perform the search on the blob column but you perform the search on the associated columns to get your relevant blob and no blob in buffer transmission. It affects the performance. So this is about in this module and we will also have this data layer discussed and corresponding layers discussed further. And thank you for your time.