 Hello everyone, welcome to the session on interquery parallelism and intraquery parallelism. These are the parallelism to query parallelism techniques which are used in the parallel database. Let us talk about the learning outcomes of this session. At the end of this session, you will be able to illustrate some concepts of interquery and intraquery parallelism and you can differentiate between the various parallelism techniques. Now starting with the query parallelism, what exactly query parallelism means? You can see the scenario here that a single query is there and the processor is there and it is taking a time for 4 minutes for the complete execution. But if the same query we are giving for the parallel processors where 4 processors are dealing with the same query then if we are completing, completely we are saying that the query has executed parallely in all the processors then the 4 minutes are divided as completely in 1 minute that is divided by 4. So a same query can be executed in a single minute here that is what a query parallelism is. So in parallel database system, usually the query parallelism is used to improve the performance of the system and it is achieved through the query parallelism. The transaction throughput is increased by parallel execution for one queries or more than one queries here based on the query parallelism. Now what are the various forms of the query parallelism? You can see here that there are basically two types of queries parallelism that is interquery parallelism and interquery parallelism. Again the interquery parallelism is divided as interoperation and interoperation parallelism and in this one the interoperation parallelism is again divided as pipeline parallelism and independent parallelism. We are going to see all these one by one in detail now. Let us start with interquery parallelism. What is this interquery parallelism? The parallelism which is among the queries means whatever the number of queries are there in a particular transactions all those queries are parallelized. So every query is executing on a different processor. So we can see here that different queries or transactions are executed in parallel with one or more processors. So the main aim of this interquery parallelism is what? That is to scaling up the transaction processing system. So you can see here the scenario that is query one is executed on processor one and it is providing a result. Similarly query two is executed on processor two and it is providing a result and query n which is providing giving the processor n and that is providing the result in result n. So various queries are executed in parallel. So query one to n all these are executing in parallel by these processors. That is what an interquery parallelism is. Let us talk about interquery parallelism. Now in interquery parallelism parallelism is made in a single query. You can say that within a query say for example a query may be having n number of operations. So those based on that query the parallelism is implemented. So we can say here that execution of a single query is in parallel on a different multiple processors and what is the aim of this one speeding up the long running queries. So whatever a single query is if it is taking more time for the execution so it will improve by multiple processors. You can see the scenario here a single query is there which is now subdivided as subquery 1.1, 1.2, 1.n and every subquery is provided given to a particular processor. So processor one to n these are there. So a single query is divided as n subqueries and those are given to n processors. So all the subresults are collected and finally those are collected as result one. So that is what a interquery parallelism is. Now in interquery parallelism again there are two types. What are those one that is inter-operation parallelism and inter-operation parallelism. Interquery as earlier I told that a single query can be parallelized in various. So the two ways are inter-operation and inter-operation. In inter-operation every individual operation in a query is parallelized. Say for example a query is having a single operation to execute but that single operation is parallelized here. For example we can say that a parallel sort or parallel search means what is there a query is having only one operation that is sort operation. But that sort operation is now divided in various processors. So same operation are working on parallel here. So that we can say as inter-operation parallelism. So a single operation sorting is parallelized. Whereas in inter-operation various operations different operations in a query are executed in parallel. Say you can say that a single query if a single query is having sorting and searching both. So in that case what happens sorting will be taken out at one processor and searching will be taken out at another processor. So in this one what happens more than one operations in a single query are parallelized. Whereas in inter-operation only one operation that is parallelized. So simultaneous sorting and searching techniques both we can execute here parallely. So the operation sorting and searching I have given the example here as sorting and searching there may be n number of operations are there. So every operation is parallelized here on a different processor. Now pause the video and think of this database query execution and let us see that what parallel query execution type this is providing us. You have to guess it. You can pause the video and guess what is the type of the parallel query execution here. You can see here what is the query, how it is divided, what are the techniques and all. So the answer is it is inter-operation parallelism. In this the single operation sorting is parallelized. The same sorting technique is parallelized here. So the single query sort is divided as now the sorting a to g, h to m, n to s and t to z these are parallelized here. So here we can say that a single operation that is sort operation is parallelized on these processors. How many processors are there 1, 2, 3 and 4. So that is what we call it as an inter-operation parallelism. Now more deep upon again the types of inter-operation there are 2 types as earlier I told you. So the first type is what the type is partitioned parallelism. So parallelism due to the data being partitioned. So the degree of the parallelism is increased based on the large number of records. If a table is having more number of records in that one what will happen we will take more, it will take more time to search that table or to get the data from that table. So in that case what we can do is we can parallelize the technique there. So let us see this scenario very good example here I have given you based on the diagram. So single query is there that query is divided as sub-query 1, sub-query 2, sub-query 3 and again that single sub-query you can see here that the operation 1 in that till operation M those are given. And again in that a single operation is having processor 1, processor 2 till processor K. So you can see here that how the parallelism is there. So the first type of parallelism is here which is sub-query and again in sub-query various operations again in that operation a single operation is parallelized here. So that is what exactly inter-operation parallelism is called as. So this is what inter-operation parallelism is. A single operation is parallelized in a various ways. So here the operation we can take as sorting technique or a searching or any selection or any type of thing. So in inter-operation parallelism there are again two types that is pipeline parallelism and independent parallelism. Let us talk about pipeline parallelism. What is pipeline? You can see pipeline means what the data is flowing from one end to another one. So here also output record of one operation is consumed means what one query is executing and that query is still executing but there is intermediate results of those queries those are generated and those are consumed by another query or another operation you can see. So here what we can say for pipeline parallelism output record of one operation a are consumed by the second operation b without completing the first operation a. It means that the first operation is also executing and but it is the second operation whichever is dependent on the first one is not waiting for the completion of that. It is till the first operation is going on whatever the intermediate results it is generating those are used by consumed by another operation. So that is what a pipeline parallelism is. So we can see here that it is like an assembly line where multiple operations are executing in parallel. You can see in a mechanical ways multiple assembly lines are there. So at a time all the assembly lines are working. So one is working on that one it is moving to the next one again it is going to the next. So that is what a pipeline parallelism is doing whereas an independent parallelism it is totally independent where you can see here that multiple operations in a query that do not depend on another are executed in parallel means what those operations are not at all dependent on them. So those are totally worked on worked on the two different processes as those are not dependent on one another ok. So they are working in parallel so it is not providing high degree of the parallelism ok. Why because the we cannot say that those many parallelism or that much parallelism is there when multiple operations totally are independent ok. So for the pipeline parallelism we can see that only useful for small number of processors whereas for independent parallelism the it is not providing high degree of the parallelism. So pipeline parallelism you can see the scenario where as operation one with a different processor operation two with a different processor operation M with the different processor. But the output of operation one is provided to operation two in between ok. So that is what the pipeline parallelism is whereas in independent parallelism you can see that no output is provided. So totally different operation different processor different operation different processor those are not dependent on each other. So every operation is individually working that is what an independent parallelism is. So these are the various techniques of the parallelism query parallelism techniques intra query inter query and all. So these are my references. Thank you.