modernizing pi sql for the future€¦ · #piworld ©2019 osisoft, llc why sql for the pi system 3...

26
#PIWorld ©2019 OSIsoft, LLC Modernizing PI SQL For The Future Bodo Bachmann Kelsey Duffy 1

Upload: others

Post on 04-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Modernizing PI SQL For The Future

Bodo Bachmann

Kelsey Duffy

1

Page 2: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Your Speakers Today

2

• Bodo Bachmann

• Team Leader, Software Development

[email protected]

•Kelsey Duffy

•Sr Product Support Engineer

[email protected]

Page 3: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Why SQL for the PI System

3

• Allows Real Time Data to mesh with relational, Line of Business (LOB) data

• Compatibility with Applications

• OLEDB, ODBC, and JDBC support

• Maximizes the project resources you already have:

• SQL Database Administrators

• Web Developers

• LOB App Developers

Page 4: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Why SQL for the PI System

4

• Some data will never live in SQL (streams)

• Some data will never live in the PI System (financial costing)

• We’ve optimized how we merge relational structures and their relationships to assets with streaming data in the PI System

Page 5: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Four Generations

5

1o : SQL Subsystem (PI ODBC Client)

2o : PI OLEDB Provider / PI OLEDB Enterprise

3o : PI JDBC, PI ODBC using PI SQL DAS

4o : RTQP Engine (PI SQL Client)

Page 6: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Next Generation Development Goals

• Performance and scalability

• Review data model• Reduce query complexity• What are top use cases (use customer feedback)• Address known issues (e.g. timestep data type, PI time literals)

• Infrastructure to support multiple standards and thin clients

• Works across WAN and different time zones

• Review security and authentication

6

Page 7: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Java Client Application

JDBCClient

PI SQL Client JDBCSQL Queries

JDBCv4.0,v4.1, v4.2

https

7

PI SQL Client Architecture

Client Application

OLE DBConsumer

PI SQL Client OLEDBSQL

Queries

PI Data Archive

PI AF Server

OLE DBAPI

net.tcpor

https

C++ Lib

Middleware

PI Integrator for Business

Analytics

PI SQL DAS (Integrator

Framework)

Middleware

PI SQL DAS(OLE DB)

PI OLEDB

PI OLEDB Enterprise

Middleware

PI SQL DAS (RTQP Engine)

MS SQL Server

AF Server

Client Application

ODBCClient

PI SQL Client ODBCSQL Queries ODBC v3

API

net.tcpor

https

C++ Lib

Page 8: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Architecture

8

Page 9: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

• Deployment

• Working with different internal data sources

• Issue of Data References

• Memory Management / Intermediate Results

• Optimization

• Streaming

• Security

RTQP Engine – A Learned Technology

9

Page 10: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

RTQP Engine: Data Model

• Entity-Relationship Model

• Connection = AF Database

• Master Catalog

• Elements and Event Frames

• Attributes and Data

• Categories and Templates

• Template based Table-Valued Functions (New!)

• Denormalization

• Navigation Columns

• Multiple Value columns

10

Page 11: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Denormalization

Simplified Queries

SELECT eh.Path + eh.Name Element, et.Name TemplateFROM NuGreen.Asset.Element eLEFT OUTER JOIN NuGreen.Asset.ElementTemplate et

ON et.ID = e.ElementTemplateIDINNER JOIN NuGreen.Asset.ElementHierarchy eh

ON eh.ElementID = e.IDWHERE et.Name IN ('Boiler', 'Heater')

SELECT e.PrimaryPath + e.Name, e.TemplateFROM Master.Element.Element eWHERE e.Template IN ('Boiler', 'Heater')

11

Page 12: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Simplified QueriesSELECT eh.Path + eh.Name Element, et.Name Template, ea.Name Attribute, s.Time, s.ValueFROM NuGreen.Asset.Element eLEFT OUTER JOIN NuGreen.Asset.ElementTemplate et ON et.ID = e.ElementTemplateIDINNER JOIN NuGreen.Asset.ElementHierarchy eh ON e.ID = eh.ElementIDINNER JOIN NuGreen.Asset.ElementAttribute ea ON eh.ElementID = ea.ElementIDINNER JOIN NuGreen.Data.Snapshot s ON ea.ID = s.ElementAttributeIDWHERE et.Name IN ('Boiler', 'Heater')

AND eh.Path = N'\NuGreen\Houston\Cracking Process\Equipment\'ORDER BY 1

SELECT e.PrimaryPath + e.Name Element, e.Template, ea.Name Attribute,ea.ValueTimeStamp, ea.Value

FROM Master.Element.Element eINNER JOIN Master.Element.Attribute ea ON e.ID = ea.ElementIDWHERE e.Template IN ('Boiler', 'Heater')

AND e.PrimaryPath = N'\NuGreen\Houston\Cracking Process\Equipment\'ORDER BY 1

Extension

12

Page 13: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

RTQP Engine: Custom Objects

• Views

• Custom Table-Valued Functions

• Function Tables for Table-Valued Functions

• Custom Functions

13

Page 14: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

SQL Clients

14

Page 15: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

• No AF SDK dependency

• ODBC added

• JDBC added

PI SQL Client 2018 R2

15

Page 16: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

• AF Database names can be browsedwhen PI Web API CoreServices are configured

• Time Zone support

• Query Date

Connection and Connection Options

16

Page 17: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

PI SQL Client: OLE DB Provider

• SQL Server integration (SSRS, SSIS, etc.)

• BizTalk

• SAP Crystal Reports

• ADO.NET, ASP.NET

17

Page 18: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

PI SQL Client: ODBC Driver

• Oracle integration

• BI Tools, e.g. Tibco, Spotfire, Power BI

• Crystal Reports

• ADO.NET, ASP.NET

18

Page 19: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

PI SQL Client: JDBC Driver

•Pure Java

•Https only

19

Page 20: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

PI SQL Client: PI SQL Commander

• Browse Data Model and Functions

• Compendium

• Code/keyboard pre-completion (it might also be known as IntelliSense™®©☺)

20

Page 21: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Sample Queries and Performance

21

Page 22: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Future

• Locale property: • e.g. '01-Dec-2019' vs N'01-Dez-2019’

• Data Archive tables (PI tags vs AF attributes)

• INSERT/UPDATE/DELETE event frames

• INSERT/UPDATE/DELETE tags/attribute values

22

https://feedback.osisoft.com/

Page 23: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

DEMOExploring PI SQL Client functionality in PI SQL Commander

Microsoft SQL Server – PI SQL Client Remote Connection

23

Page 24: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC 24

Further Resources

• PI SQL Online Course• https://learning.osisoft.com/series/developer/exposing-pi-data-with-

the-pi-sql-framework#en-language

• Videos, exercises with solution guides, further resources

• Earlier Presentations• https://www.osisoft.com/about-osisoft/presentations/

• PI SQL Data Access Technologies• https://pisquare.osisoft.com/community/developers-club/pi-sql-data-access-

technologies

Page 25: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC

Questions?

Please wait for

the microphone

State your

name & company

Please remember to…

Complete Survey!Navigate to this session in

mobile agenda for survey

DOWNLOAD THE MOBILE APP

25

Page 26: Modernizing PI SQL For The Future€¦ · #PIWorld ©2019 OSIsoft, LLC Why SQL for the PI System 3 •Allows Real Time Data to mesh with relational, Line of Business (LOB) data •Compatibility

#PIWorld ©2019 OSIsoft, LLC 26