
<p>Oracle Machine Learning </p><p>& Advanced Analytics </p><p>Data Management Platforms </p><p>Move the Algorithms; Not the Data! </p><p>Charlie Berger, MS Engineering, MBA </p><p>Sr. Director Product Management, </p><p>Machine Learning, AI and Cognitive Analytics <a href="mailto:[email protected]" target="_blank">[email protected] </a></p><p><a href="/goto?url=http://www.twitter.com/CharlieDataMine" target="_blank">www.twitter.com/CharlieDataMine </a></p><p>Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </p><p>Safe Harbor Statement </p><p>The following is intended to outline our general product direction. It is intended for </p><p>information purposes only, and may not be incorporated into any contract. It is not a </p><p>commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or </p><p>functionality described for Oracle’s products remains at the sole discretion of Oracle. </p><p>Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </p><p>2</p><p>Machine Learning, Data Mining, Predictive Analytics </p><p><em>Automatically </em>sift through large amounts of data to find </p><p>hidden patterns, discover new insights and make predictions </p><p>A1 A2 A3 A4 A5 A6 A7 </p><p>• Identify most important factor <em>(Attribute Importance) </em></p><p>• Predict customer behavior <em>(Classification) </em></p><p>• Predict or estimate a value <em>(Regression) </em></p><p>• Find profiles of targeted people or items <em>(Decision Trees) </em></p><p>• Segment a population <em>(Clustering) </em></p><p>• Find fraudulent or “rare events” <em>(Anomaly Detection) </em>• Determine co-occurring items in a “baskets” <em>(Associations) </em></p><p>Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | </p><p>Oracle’s Data Management and Machine Learning </p><p><strong>Market Observations: </strong></p><p>• Machine learning, predictive analytics & “AI” now <em>must-have </em>requirements </p><p>• Separate islands for data management and data science just don’t work </p><p>• Enterprises whose data science teams most rapidly extract insights and </p><p>predictions win </p><p><strong>Conclusions: </strong></p><p>• Must “operationalize” ML insights and predictions throughout enterprise </p><p>• Multilingual Machine Learning: SQL, R, Python, Workflow UI, Notebooks, Embed ML in Appls, </p><p>• Evolving towards combined Data Management + Machine Learning </p><p>environment that can essentially to manage and “think” about data </p><p></p><ul style="display: flex;"><li style="flex:1">Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </li><li style="flex:1">4</li></ul><p></p><p>Oracle’s Data Management and Machine Learning </p><p>Architectural Strategy </p><p>• In-Database proprietary implementations of machine learning algorithms • Leverage strengths of the Database and adds new ML tech </p><p>– Counting, conditional probabilities, sort, rank, partition, group-by, collections, etc. – Parallel execution, bitmap indexes, partitioning, aggregations, recursion w/in parallel infrastructure, IEEE float, frequent itemsets, Automatic Data Preparation (ADP), Text processing, etc. </p><p>• Focus on intelligent ML defaults, simplification & automation to enable applications </p><p>– ADP, xforms, binning, missing values, Prediction_Details, Predictive_Queries, Model_views </p><p>• Machine learning models built via PL/SQL script; scored via SQL functions (1<sup style="top: -0.45em;">st </sup>class DB objects) </p><p>select cust_id </p><p>from customers </p><p>True power evident when scoring </p><p>where region = ‘US’ </p><p>and prediction_probability(churnmod, ‘Y’ using *) > 0.8; </p><p>models using SQL functions, e.g. </p><p>– “Smart scan” ML model scoring “push down”; Supports OLTP and ATPC environments </p><p>• Machine Learning and Advanced Analytics are peer to rest of Oracle Data Mgmt features </p><p>– Security, Back-up, Encryption, Scalability, “Big Data” eco-system, BDA, Big Data SQL, Cloud, Spark, etc. – Best ML & analytical development and deployment platform </p><p></p><ul style="display: flex;"><li style="flex:1">Copyright © 2016 Oracle and/or its affiliates. All rights reserved. </li><li style="flex:1">5</li></ul><p></p><p>Oracle’s Machine Learning & Advanced Analytics </p><p>Fastest Way to Deliver Enterprise-wide Predictive Analytics </p><p><strong>Traditional ML </strong><br><strong>Oracle’s in-DB Machine Learning </strong></p><p><strong>Major Benefits </strong></p><p><strong>Data Import Data Mining </strong></p><p>. Data remains in Database & Hadoop </p><p>. Model building and scoring occur in-database </p><p>. Use R packages with data-parallel invocations </p><p><strong>Model “Scoring” </strong></p><p><strong>Data Prep. & </strong><br><strong>Transformation </strong></p><p><strong>avings </strong></p><p>. Leverage investment in Oracle IT </p><p>. Eliminate data duplication </p><p><strong>Data Mining </strong><br><strong>Model Building </strong></p><p>. Eliminate separate analytical servers </p><p><strong>Data Prep & </strong><br><strong>Transformation </strong></p><p>. Deliver enterprise-wide applications </p><p>. GUI for ML/Predictive Analytics & code gen </p><p>. R interface leverages database as HPC engine </p><p><strong>Model “Scoring” </strong></p><p><strong>Embedded Data Prep Model Building </strong></p><p><strong>Data Extraction </strong></p><p><strong>Data Preparation </strong></p><p><strong>Secs, Mins or Hours </strong><br><strong>Hours, Days or Weeks </strong></p><p>Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </p><p>Oracle’s Machine Learning & Adv. Analytics Algorithms </p><p></p><ul style="display: flex;"><li style="flex:1"><strong>CLASSIFICATION </strong></li><li style="flex:1"><strong>REGRESSION </strong></li><li style="flex:1"><strong>FEATURE EXTRACTION </strong></li></ul><p></p><p></p><ul style="display: flex;"><li style="flex:1">– Naïve Bayes </li><li style="flex:1">– Linear Model </li><li style="flex:1">– Principal Comp Analysis (PCA) </li></ul><p>– Non-negative Matrix Factorization – Singular Value Decomposition (SVD) – Explicit Semantic Analysis (ESA) <br>– Logistic Regression (GLM) – Decision Tree <br>– Generalized Linear Model – Support Vector Machine (SVM) – Stepwise Linear regression </p><p>– Neural Network </p><p>– Random Forest </p><p>– Neural Network </p><p><strong>TEXT MINING SUPPORT </strong></p><p>– Support Vector Machine – Explicit Semantic Analysis <br>– LASSO <br>– Algorithms support text type – Tokenization and theme extraction – Explicit Semantic Analysis (ESA) for </p><p>document similarity </p><p>A1 A2 A3 A4 A5 A6 A7 </p><p><strong>ATTRIBUTE IMPORTANCE </strong><br><strong>CLUSTERING </strong></p><p>– Minimum Description Length </p><p>– Principal Comp Analysis (PCA) </p><p>– Unsupervised Pair-wise KL Div – CUR decomposition for row & AI </p><p>– Hierarchical K-Means </p><p>– Hierarchical O-Cluster – Expectation Maximization (EM) </p><p><strong>STATISTICAL FUNCTIONS </strong></p><p>– Basic statistics: min, max, median, stdev, t-test, F-test, Pearson’s, Chi-Sq, ANOVA, etc. </p><p></p><ul style="display: flex;"><li style="flex:1"><strong>ANOMALY DETECTION </strong></li><li style="flex:1"><strong>ASSOCIATION RULES </strong></li></ul><p></p><p></p><ul style="display: flex;"><li style="flex:1">– One-Class SVM </li><li style="flex:1">– A priori/ market basket </li></ul><p></p><p></p><ul style="display: flex;"><li style="flex:1"><strong>TIME SERIES </strong></li><li style="flex:1"><strong>PREDICTIVE QUERIES </strong></li><li style="flex:1"><strong>R PACKAGES </strong></li></ul><p></p><p>– State of the art forecasting using <br>Exponential Smoothing. </p><ul style="display: flex;"><li style="flex:1">– Predict, cluster, detect, features </li><li style="flex:1">– CRAN R Algorithm Packages </li></ul><p>through Embedded R Execution <br>– Spark MLlib algorithm integration </p><p><strong>SQL ANALYTICS </strong></p><p>– Includes all popular models e.g. Holt-Winters with trends, </p><p>seasons, irregularity, missing data </p><p>– SQL Windows, SQL Patterns, </p><p>SQL Aggregates </p><p><strong>EXPORTABLE ML MODELS </strong></p><p>• OAA (Oracle Data Mining + Oracle R Enterprise) and ORAAH combined </p><p>– REST APIs for deployment </p><p>• OAA includes support for Partitioned Models, Transactional, Unstructured, Geo-spatial, Graph data. etc, </p><p>Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </p><p>Multiple Data Scientist User Roles Supported </p><p>Oracle’s Machine Learning/Advanced Analytics </p><p>Additional relevant data <br>Historical or Current Data to </p><p>be “scored” for predictions and “engineered features” </p><p><strong>Oracle Database 12c </strong></p><p></p><ul style="display: flex;"><li style="flex:1">Historical data </li><li style="flex:1">Assembled </li><li style="flex:1">Predictions & Insights </li></ul><p>historical data </p><p>Sensor data, Text, unstructured data, transactional data, spatial data, etc. </p><p></p><ul style="display: flex;"><li style="flex:1"><strong>DBAs </strong></li><li style="flex:1"><strong>Application Developers </strong></li></ul><p></p><p></p><ul style="display: flex;"><li style="flex:1"><strong>OML Notebook Users </strong></li><li style="flex:1"><strong>R, Python Users, Data Scientists </strong></li><li style="flex:1"><strong>Data Analysts, Citizen Data Scientists </strong></li></ul><p></p><p>Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </p><p>OAA Model Build and Real-time SQL Apply Prediction </p><p>Simple SQL Syntax </p><p><strong>ML Model Build (PL/SQL) </strong></p><p>begin dbms_data_mining.create_model('BUY_INSUR1', 'CLASSIFICATION', <br>'CUST_INSUR_LTV', 'CUST_ID', 'BUY_INSURANCE', CUST_INSUR_LTV_SET'); end; </p><p>/</p><p><strong>Model Apply (SQL query) </strong></p><p>Select prediction_probability(BUY_INSUR1, 'Yes' <br>USING 3500 as bank_funds, 825 as checking_amount, 400 as credit_balance, 22 as age, 'Married' as marital_status, 93 as </p><p>MONEY_MONTLY_OVERDRAWN, 1 as house_ownership) </p><p>from dual; </p><p>Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </p><p>Fraud Prediction Demo </p><p>Automated In-DB Analytical Methodology </p><p>drop table CLAIMS_SET; exec dbms_data_mining.drop_model('CLAIMSMODEL'); </p><p>create table CLAIMS_SET (setting_name varchar2(30), setting_value varchar2(4000)); </p><p>insert into CLAIMS_SET values ('ALGO_NAME','ALGO_SUPPORT_VECTOR_MACHINES'); insert into CLAIMS_SET values ('PREP_AUTO','ON'); commit; </p><p><strong>begin dbms_data_mining.create_model('CLAIMSMODEL', 'CLASSIFICATION', </strong></p><p><strong>'CLAIMS', 'POLICYNUMBER', null, 'CLAIMS_SET'); </strong></p><p><strong>end; /</strong></p><p><strong>Automated Monthly “Application”! </strong><em>Just </em></p><p>-- Top 5 most suspicious fraud policy holder claims select * from (select POLICYNUMBER, round(prob_fraud*100,2) percent_fraud, rank() over (order by prob_fraud desc) rnk from <br>(select POLICYNUMBER, prediction_probability(CLAIMSMODEL, '0' using *) prob_fraud from CLAIMS </p><p><em>add: </em></p><p>Create </p><p>View CLAIMS2_30 As Select * from CLAIMS2 Where mydate > SYSDATE – 30 where PASTNUMBEROFCLAIMS in ('2to4', 'morethan4'))) where rnk <= 5 order by percent_fraud desc; </p><p>Time measure: set timing on; </p><p>Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | </p><p>ML Model Deployment for Real-Time Scoring </p><p>Real-Time Scoring, Predictions and Recommendations </p><p>• On-the-fly, single record apply with new data (e.g. from call center) </p><p><strong>Oracle Cloud </strong></p><p><strong>Select prediction_probability(CLAS_DT_1_15, 'Yes' </strong></p><p><strong>USING 7800 as bank_funds, 125 as checking_amount, 20 as credit_balance, 55 as age, 'Married' as marital_status, 250 as MONEY_MONTLY_OVERDRAWN, 1 as house_ownership) </strong></p><p><strong>from dual; </strong></p><p>Social Media </p><p><strong>Likelihood to respond: </strong></p><p>Call Center <br>Branch </p><p>Office </p><p>Get Advice </p><p>R</p><p>Mobile <br>Web </p><p>Email </p><p>Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | </p><p>Manage and Analyze All Your Data </p><p>Data Scientists, R Users, Citizen Data Scientists </p><p><strong>Architecturally, </strong></p><p><strong>Many Options </strong></p><p><strong>and Flexibility </strong></p><p>SQL / R </p><p><strong>Boil down the Data Lake </strong></p><p><strong>“Engineered Features” </strong></p><p>Big Data SQL / R </p><p>– Derived attributes that reflect domain </p><p>knowledge—key to </p><p>best models e.g.: <br>• Counts </p><p><strong>Object </strong></p><p><strong>Store </strong></p><p>• Totals • Changes </p><p>over time </p><p></p><ul style="display: flex;"><li style="flex:1">Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </li><li style="flex:1">12 </li></ul><p></p><p>OAA Algorithm Performance </p><p></p><ul style="display: flex;"><li style="flex:1"><strong>Algorithm </strong></li><li style="flex:1"><strong>Time (sec.) </strong></li><li style="flex:1"><strong>Number of Attributes </strong></li></ul><p></p><p>SVM SGD Solver GLM Classification SVM IPM Solver </p><p>GLM Regression </p><p>K-Means <br>83s <br>180s 811s </p><p>59s </p><p>900 <br>9000 <br>900 </p><p>900 </p><p></p><ul style="display: flex;"><li style="flex:1">168s </li><li style="flex:1">9000 </li></ul><p></p><p>• In-memory 640 million rows, Airline On-Time dataset • SPARC M8-2 hardware • Courtesy of the SPARC Performance Team </p><p>Copyright © 2018 Oracle and/or its affiliates. All rights reserved. | </p><p>OAA Algorithm Scalability: Rows and Parallelism </p><p>Random Forest </p><p>200 180 </p><p>160 </p><p>140 120 100 </p><p>80 </p><p>60 40 20 <br>0</p><ul style="display: flex;"><li style="flex:1">100 </li><li style="flex:1">150 </li><li style="flex:1">200 </li><li style="flex:1">250 </li><li style="flex:1">300 </li><li style="flex:1">350 </li><li style="flex:1">400 </li><li style="flex:1">450 </li><li style="flex:1">500 </li><li style="flex:1">550 </li></ul><p></p><p>Row Count (M records) </p><p>• X6-2 hardware • Benchmarks from Oracle Labs, Systems <br>Research Group </p><p></p><ul style="display: flex;"><li style="flex:1">Copyright © 2018 Oracle and/or its affiliates. All rights reserved. | </li><li style="flex:1">14 </li></ul><p></p><p>Operationalizing and Embedding Analytics for Action </p><p>How long does it take to put a defined model into operational use? </p><p>?<br>?</p><p><em>Length of time to put a model into production. </em></p><p>?</p><p><em>Based on 141 respondents who </em></p><p><em>stated they are doing this today </em></p><p></p><ul style="display: flex;"><li style="flex:1">Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | </li><li style="flex:1">15 </li></ul><p></p><p>The Core Ingredients of Good Machine Learning </p><p></p><ul style="display: flex;"><li style="flex:1"><strong>Domain Knowledge + Data Machine Learning Algorithms </strong></li><li style="flex:1"><strong>Insights, Predictions </strong></li></ul><p></p><p><strong>Machine Learning Algorithms </strong></p><p>A1 A2 A3 A4 A5 </p><p>A1 A2 A3 A4 A5 A6 A7 </p><p>A6 A7 </p><p>Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | </p><p><strong>Deployment!! </strong></p><p>Most Important Factor in Machine Learning? </p><p><strong>Machine Learning Algorithms </strong></p><p>A <em>“Thinking” </em></p><p>Database </p><p>A1 A2 A3 A4 A5 A6 A7 </p><p>Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | </p><p><strong>Introducing: </strong></p><p><strong>Oracle Machine Learning SQL Notebook </strong></p><p>Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | </p><p>Introducing Oracle Autonomous Data Warehouse Cloud </p><p><strong>Value Proposition </strong></p><p></p><ul style="display: flex;"><li style="flex:1"><strong>Easy </strong></li><li style="flex:1"><strong>Fast </strong></li><li style="flex:1"><strong>Elastic </strong></li></ul><p></p><p>• Provision a data warehouse in as little </p><p></p><ul style="display: flex;"><li style="flex:1">• Up to 14x performance advantage than </li><li style="flex:1">• Only Pay for What you Use with user </li></ul><p></p><p>defined sizing, on-demand scaling & idle shut-off </p><p>as 15-seconds <br>• Automated management of database </p><p>Redshift<sup style="top: -0.4em;">1 </sup><br>• High concurrency supports multi-user </p><p>administration </p><p>• Simple Load and Go with Automated </p><p>access and workloads </p><p>• Based on Exadata for extreme </p><p>• Independent scaling of compute and </p><p>storage </p><p>Tuning </p><p></p><ul style="display: flex;"><li style="flex:1">performance </li><li style="flex:1">• Instant scaling with zero downtime </li></ul><p>• Dedicated cloud-ready migration tools including Redshift </p><p></p><ul style="display: flex;"><li style="flex:1">Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </li><li style="flex:1">19 </li></ul><p></p><p>Confidential – Oracle </p><p>Oracle Autonomous Data Warehouse Cloud Key Features </p><p><strong>Highly Elastic </strong><br><strong>High-Performance Queries </strong></p><p>Independently scale compute and storage, without having to overpay for fixed blocks of resources </p><p><strong>and Concurrent Workloads </strong></p><p>Optimized query performance with </p><p>preconfigured resource profiles for different types of users </p><p><strong>Oracle Machine Learning </strong></p><p><strong>Oracle SQL </strong></p><p><strong>Built-in Web-Based SQL ML Tool </strong></p><p>Apache Zeppelin Oracle Machine Learning </p><p>notebooks ready to run ML from browser <br>Autonomous DW Cloud is compatible with all business analytics tools that support </p><p>Oracle Database </p><p><strong>Database migration utility </strong><br><strong>Self Driving </strong></p><p>Dedicated cloud-ready migration tools </p><p>for easy migration from Amazon <br>Fully automated database for self-tuning patching and upgrading itself while the system is running <br>Redshift, SQL Server and other databases </p><p><strong>Cloud-Based Data Loading </strong></p><p>Fast, scalable data-loading from Oracle Object Store, AWS S3, or on-premises </p><p><strong>Enterprise Grade Security </strong></p><p>Data is encrypted by default in the cloud, as well as in transit and at rest </p><p></p><ul style="display: flex;"><li style="flex:1">Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </li><li style="flex:1">20 </li></ul><p></p><p>Confidential – Oracle </p><p>ADWC + Oracle Machine Learning Notebooks </p><p><strong>Developer </strong><br><strong>Analytics </strong></p><p>Autonomous Data Warehouse Cloud </p><p><strong>Tools </strong></p><p><strong>Data Warehouse Services </strong></p><p>(EDWs, DW, departmental marts and sandboxes) </p><p></p><ul style="display: flex;"><li style="flex:1">Service Management </li><li style="flex:1">Built-in Access Tools </li></ul><p></p><p><strong>Oracle Exadata Cloud Service </strong></p><p><strong>Oracle Analytics Cloud </strong><br><strong>Oracle SQL Developer </strong></p><p><strong>Oracle Database Cloud Service </strong></p><p>Service Console </p><p><strong>Oracle Machine Learning </strong></p><p><strong>Express Cloud Service </strong></p><p><strong>Data </strong><br><strong>Integration </strong><br><strong>Services </strong></p><p><strong>Oracle Data Integration </strong><br><strong>Platform Cloud </strong></p><p>Autonomous Database Cloud </p><p><strong>3</strong><sup style="top: -0.28em;"><strong>rd </strong></sup><strong>Party DI on </strong><br><strong>Oracle Cloud Compute </strong></p><p>Oracle Object Storage Cloud </p><p>Flat Files and Staging </p><p><strong>3</strong><sup style="top: -0.28em;"><strong>rd </strong></sup><strong>Party DI On-premises </strong></p><p></p><ul style="display: flex;"><li style="flex:1">Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </li><li style="flex:1">21 </li></ul><p></p><p>Oracle Machine Learning </p><p>Machine Learning Notebook for Autonomous Data Warehouse Cloud </p><p><strong>Key Features </strong></p><p>• Collaborative UI for data scientists </p><p>– Packaged with Autonomous Data </p><p>Warehouse Cloud (V1) <br>– Easy access to shared notebooks, templates, permissions, scheduler, etc. </p><p>– SQL ML algorithms API (V1) </p><p>– Supports deployment of ML analytics </p><p>Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </p><p>Oracle Machine Learning </p><p>Machine Learning Notebook for Autonomous Data Warehouse Cloud </p><p><strong>Key Features </strong></p><p>• Collaborative UI for data scientists </p><p>– Packaged with Autonomous Data </p><p>Warehouse Cloud (V1) <br>– Easy access to shared notebooks, templates, permissions, scheduler, etc. </p><p>– SQL ML algorithms API (V1) </p><p>– Supports deployment of ML analytics </p><p>Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | </p><p>Oracle’s Machine Learning & Adv. Analytics Algorithms </p><p></p><ul style="display: flex;"><li style="flex:1"><strong>CLASSIFICATION </strong></li><li style="flex:1"><strong>REGRESSION </strong></li><li style="flex:1"><strong>FEATURE EXTRACTION </strong></li></ul><p></p><p></p><ul style="display: flex;"><li style="flex:1">– Naïve Bayes </li><li style="flex:1">– Linear Model </li><li style="flex:1">– Principal Comp Analysis (PCA) </li></ul><p>– Non-negative Matrix Factorization – Singular Value Decomposition (SVD) – Explicit Semantic Analysis (ESA) <br>– Logistic Regression (GLM) – Decision Tree <br>– Generalized Linear Model – Support Vector Machine (SVM) – Stepwise Linear regression </p><p>– Neural Network </p><p>– Random Forest </p><p>– Neural Network </p><p><strong>STATISTICAL FUNCTIONS </strong></p><p>– Basic statistics: min, max, median, stdev, t-test, F-test, Pearson’s, Chi-Sq, ANOVA, etc. <br>– Support Vector Machine – Explicit Semantic Analysis </p><p>A1 A2 A3 A4 A5 A6 A7 </p><p><strong>ATTRIBUTE IMPORTANCE </strong></p><p>– Minimum Description Length </p><p>– Principal Comp Analysis (PCA) </p><p>– Unsupervised Pair-wise KL Div </p><p><strong>CLUSTERING </strong></p><p>– Hierarchical K-Means </p><p>– Hierarchical O-Cluster – Expectation Maximization (EM) </p><p><strong>ASSOCIATION RULES </strong><br><strong>ANOMALY DETECTION </strong></p><p>– A priori/ market basket <br>– One-Class SVM </p>
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages89 Page
-
File Size-