Exercise: Selecting the Best Product

Document created by kduffy on Sep 25, 2018Last modified by kduffy on Feb 15, 2019
Version 27Show Document
  • View in full screen mode

Objective: The goal of this exercise is to select the best architecture to employ in each of the following scenarios.



Using the following resources:

As well as these additional resources:


Problem Statement:

Describe the optimal architecture and product choices for each scenario listed below. Keep in mind, sometimes there are multiple good answers, but the important thing is to understand the limitations of each option and be able to discuss why one should be selected over the other. If you're unsure of what the scenario means, feel free to either ask for clarification or to skip that question altogether as it probably does not pertain to your scenario.


An ideal answer should include:

  • a query engine
  • description of the product architecture
  • it's limitations
  • alternatives
  • the reason why this was the best choice


Note: This is the longest exercise of the whole course because this is an extremely important topic. Making the correct product selection from the start can set up your project for success, and making the wrong decision can occasionally lead to scenarios where nothing can be done to improve the performance. There are many cases of development effort being spent in one area only to hit a barrier and learn that a different product would have been better, resulting in either duplication of effort by pivoting or staying with the initial decision and deploying a non-optimal solution.


    1. Numerous end users are running non-trivial queries to retrieve shaped/summarized data through the AF server.

    2. Data from an edge device running Linux would like to be recorded into the PI Data Archive.

    3. An existing customer has been using PI OLEDB Provider for years, but will be implementing AF soon.

    4. Client machines are locked down by IT and no software can be installed if it doesn't come with their Windows Operating System or the Microsoft Office suite, but they need to see data in Excel.

    5. A large amount of money and time was spent designing queries for PI OLEDB Enterprise for a third party application, but the processing on the application server is now too high.

    6. A single user needs to sometimes run a few simple queries on their laptop.

    7. There is data in a LIMS system (relational database) that is updating every hour and it's important to get this data into the PI Data Archive. Data availability is very important.

    8. A large relational database exists outside of the PI System, and the data needs to be migrated. This is a one-time operation.

    9. There are a handful of data sources, one of which is the PI System, that need to be aggregated nightly in an ETL (Extract, Transform, Load) with SQL Server Integration Services.

    10. A third party application needs to have a constant stream of data flowing to it from the PI System with new values every 15 minutes for select attributes on numerous elements.

    11. Reports need to be generated for every asset at a plant, either from on a daily frequency or on an adhoc basis.

    12. The AF Server is not being used and data needs to be queried for a few tags.

    13. A third party application is being used that only allows ODBC data sources.

    14. A java application is being used, and therefore a JDBC connection is required.

    15. An application server is running on Linux and must read data from the PI AF Server

    16. A third party application retrieves data from the AF server, but its machine resource usage has already pushed the limit. The AF server is version 2.7, and no machine hardware or software upgrade can be made in the short term to the AF server or application server.

    17. A third party application can only make ODBC 2.0 connections

    18. An application needs to access data from four PI systems around the world. Two are using AF 2.10 and two are using AF 2.8 with no chance of an upgrade. The ping times from the application server to each AF server is over 200ms.

    19. Data on one PI Data Archive needs to be sent to another PI Data Archive.

    20. An application needs to access data from the PI System but the application does not allow OLEDB Data Sources; it only allows connections to SQL Servers.


Have questions? Ask the community

When you are ready, compare your answers with Solution: Selecting the Best Product

1 person found this helpful