Power your journey to AI with IBM Cloud Pak for Data DataStage
Cloud Pak for Data System - community.ibm.com
Transcript of Cloud Pak for Data System - community.ibm.com
Cloud Pak for Data SystemIBM Performance Server for PostgreSQL
Netezza/PureData for Analytics to PerformanceServer Migration
Olaf Depper ([email protected])Bob Baskett ([email protected])World Wide DTE – Hybrid Data Management
IBM Community Webcast, Jan. 22, 2019
Legal Disclaimer
© IBM Corporation 2020. All Rights Reserved.The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual th roughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amou nt of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
Agenda
Performance Server OverviewWhat's new
IBM Cloud Pak for Data
IBM Performance Server for PostgreSQL
Architecture
What stays the same
Migration Path(s)
Migration Demo
Best Practices
Questions
A faster, more secure way to move your core business applications to any cloudthrough enterprise-ready containerized software solutions
Cloud Paks – Middleware anywhere
Complete yet simpleApplication, data and AI services,fully modular and easy to consume
IBM certifiedFull software stack support, and ongoing security, compliance and version compatibility
Run anywhereOn-premises, on private and public clouds,and in pre-integrated systems
IBM containerized softwarePackaged with Open Source components,
pre-integrated with the common operational services,and secure by design
Container platformand operational services
Logging, monitoring, security,identity access management
▪ A Hyper Converged System combines storage, compute, networking and software into a single system to reduce complexity & increase scalability
▪ Red Hat OpenShift Container Management Platform and Kubernetes for highly reliable, rapidly deployed micro-services
▪ The Platform for Data & AI - quickly assembled with pre-tested building blocks
▪ Built-in governance. Simplify & unify how you collect, manage, govern & analyze data
▪ New capabilities available through library of add-on modules.
Introducing Cloud Pak for Data System
+
▪ A Hyper Converged System combines storage, compute, networking and software into a single system to reduce complexity & increase scalability
▪ Red Hat OpenShift Container Management Platform and Kubernetes for highly reliable, rapidly deployed micro-services
▪ The Platform for Data & AI - quickly assembled with pre-tested building blocks
▪ Built-in governance. Simplify & unify how you collect, manage, govern & analyze data
▪ New capabilities available through library of add-on modules.
Unified Console,Magneto Private Cloud Management, Call Home
Cloud Pak For Data
Open Shift Catalog /Customer
Applications
IBM Performance Server for PostgreSQL
OpenShift (Kubernetes) Container Management
Highly available Hyperconverged Modular Building BlocksCompute/Storage with Hardware Acceleration,
Networking, Management, Power
RHEL OS + KVM VIRTUALIZATION
Bare-Metal non-containerized applications
IBM & ISV Add-Ons Custom App Deployments
VM-Based, containerized, noncontainerized apps
Hyper Converged System Architecture
IBM Performance Server for PostgreSQL
Cloud in-a-boxavailable in Cloud Pak for Data System to take advantage of hyper converged modularity
Blazing-fastbuilt over open source and optimized for High Performance Analytics with built-in hardware acceleration
Simpleload and go, minimal administration and tuning
Scalable & elasticmulti-tenant, start small, grow as you need on storage and compute
AvailabilityRed Hat Open Shift (Kubernetes)-container managed, highly available
Support & usageproduction ready and fully supported by IBM, unlimited use as with Db2 Warehouse
fully (100%) compatible with Netezza/Pure Data System for Analytics line of appliance offerings, all nz* utilities compatible, Synergy with data integration & BI tools, “fork-lift” existing Netezza systems, ‘nz_migrate’ and go!
Base + 1 Base + 2 Base + 4 Base + 6 Base + 8
Performance Server Blades
4 8 16 24 32
Cores 64 128 256 384 512
Memory 0.76 TB 1.5 TB 3 TB 4.5 TB 6 TB
Available User Space1
17 TB 34 TB 68 TB 102 TB 136 TB
1Assume up to 4x compression to calculate user data (pre-load uncompressed user data). Example a Base+2 (Mako full rack equivalent) user data capacity = 4 x 34TB = 136 TB
Cloud Pak for Data System Base 2x 2U enclosure + Performance Server Nodes
Hyper Converged System, rack mountable, 4TB NVMe self encrypting drives
25Gbps NIC Mellanox RDMA capable dual port card with FPGA Accelerator
IBM Performance Server
IBM Performance Server System Architecture
Fabric Switch
Mgmt. Switch
Base Enclosures
Redundant Fabric Switch
Expansion Enclosures with NVMe self encrypting Flash drives
Control Plane CP4D Compute
Control Plane
Per node - 192 GB RAM, dual socket total 16 cores
~½ compute is for control plane
OpenShift 3.11 with Helm
CP4D Compute CP4D Compute
CP4D Compute CP4D Compute
25 Gbps NIC Mellanox RDMA capable dual port cardWith FPGA Accelerator
4 x 1 or 4 TB NVMe drives
↓ (IBM Performance Server) Expansion unit ↓
Performance Server Performance Server
Performance Server Performance Server
Performance Server Performance Server
Performance Server Performance Server
25 Gbps NIC Mellanox RDMA capable dual port card With FPGA Accelerator
Cloud Pak
for Data
Base Unit
(Starter
Bundle)
(IBM
Performance
Server)
Expansion
Units
Control Plane
Performance Server Blades
140 cores 128 Cores / VPCs
Memory 896 GB 1.5 TB
Storage - RAW 148 TB (traditional HDD) 128 TB (NVMe)
Available User Space48 TB2 34 TB1
Performance 1X 3X+ (5-8x Twin Fin)
Footprint Full rack ~ 1/5 of a rack >50% reduction
Full
rac
k M
ako
Ap
pli
ance
1TPC-DS 10, 20 and 30 TB tests and App nexus, Catalina show ~3x query performance improvement over a full rack Mako
3x faster2
@ 1/5th foot print
IBM Performance Server Vs Full Rack N3001 Mako Appliance
Fabric Switch
Mgmt. Switch
Base Enclosures
Redundant Fabric Switch
Performance Server Expansion Enclosures with NVMe self encrypting Flash drives
Hyp
er
Co
nve
rge
d S
yste
m
2Multiply by 4 (assumes 4x compression) to calculate user data capacity
Cloud Pak
for Data
Base Unit
Performance
Server
Expansion
Units
CompatibleCompatible
Native Netezza Compatibility❑ Simple
• Load and Go, Minimal administration and Tuning
❑ Compatible
• 100% Netezza compatibility
• ”Fork-lift” existing Netezza/IBM PureData® System for Analytics (PDA) systems
• Simply use familiar ‘nz_migrate’ and go!
• Existing UDFs / UDXs work (requires re-compile)
• Bi-directional D/R Replication, Backup/Restore with older Netezza/PDA
❑ Smart with built-in FPGA Performance Accelerator
• Data Stream processing
• Machine Learning
• In-place Advanced Analytics & Geo Spatial
❑ Familiar interface and tools
Database Engine Enhancements
IBM Performance Server
❑ Modernization• Containerized for microservice architecture and deployment in kubernetes• UI upgraded to REACT based UI with same look and feel as IBM Cloud Pak for Data • Native Go (Lang) Driver implemented for modern day app connectivity• PostgreSQL compatible
❑ Serviceability• Maintenance prediction engine
❑ Hardware• Upgraded to 64-bit engine to take full advantage of memory• Upgraded to full NVMe (Non-Volatile Memory Express) support with NVMeOF
(NVMe over Fabrics) implementation for fast performance• FPGA (Field-programmable gate array) ready
❑ Differentiation• Multiple databases with Cross-database writes• Security Roles• Global temporary tables• Ability to take advantage of NVMe Drives• Hardware acceleration through FPGA
▪ Brand new GUI interface available for database monitoring and administration
− Web-based console
− Significant improvement over nzAdmin and NZ Performance Portal
▪ Provides ability to:
− View database metrics (utilization, throughput, query performance, active queries, sessions, etc.,)
− Administer database objects, user and privileges
− Run queries via a SQL editor
− Create and edit event / scheduler rules
− Administer and manage backups and restores
IBM Performance Server Console
Embedded IBM Netezza Analytics1
In database Analytics - A core value proposition for in place machine learning
ESRI, Geo Spatial and Revolution
ESRI
“R”
Spatial
Python
1100% native compatibility with Netezza/PDA
PureData for Analytics AMPP Platform
Software
Development
Kit
3rd Party
In-Database
Analytics
Netezza
In-Database
Analytics
User-DefinedExtensions(UDF,UDA,
UDTF,UDAP)
Transformations
Mathematical
Geospatial
Predictive
Statistics
Time Series
Data Mining
Fuzzy Logix
SAS
IBM SPSS
Mathworks
Revolution Analytics
BI Tools
Visualization
Tools
Eclipse
Revolution
Analytics
SAS
IBM SPSS
Apache Hadoop
Cloudera
Tanay GPU
Appliance
by Fuzzy
Logix
IBM
InfoSphere
Streams
LanguageSupport
(Java,MapReduce,
Python, Lua, Perl,
C, C++, Fortran, PMML)
Zementis
Synergy with Data Integration and Reporting & Analysis Tools
SQL
O
DB
C
JD
BC
O
LE-D
B
SQL
O
DB
C
JD
BC
O
LE-D
B
Data In Data Out
Data Integration1 Reporting & Analysis1
▪ IBM
▪ Information Server
▪ InfoSphere Streams
▪ Ab Initio
▪ Hadoop
▪ Informatica
▪ Microsoft
▪ Oracle
▪ SAP
▪ SAS▪ Others using standard
ODBC/JDBC/OLE-DB/SQL
▪ IBM
▪ Cognos
▪ SPSS
▪ Campaign
▪ Hadoop
▪ Information Builders
▪ Microsoft
▪ MicroStrategy
▪ Oracle
▪ SAP
▪ SAS
▪ Tableau▪ Others using standard
ODBC/JDBC/OLE-DB/SQL
1100% native compatibility with Netezza/PDA
Data Virtualization
• High performance / Enterprise Ready
• Hybrid data store with extreme functionality
Service
Node
Cluster
Constellation
Caching
Policy
Data SourceNode
AnalyticsApplication
• Single data fabric for self-service
• DV gateway through Fluid Query
IBM
Performance Server
Back up & Restore
100% CompatibleWith existing Netezza/Pure Data System for Analytics
Lightning fast restore from backup if you should need it
▪ Build on External Table framework
▪ Backup and restore user data using nzbackup and nzrestore
▪ Supported backup types
− Full
− Differential
− Cumulative
▪ Connectors Supported
− File System Connector
− Veritas NetBackup Connector
− IBM Tivoli Storage Manager Connector
− EMC NetWorker
Netezza Tool Compatibility – 100% native Netezza compatibility
nz_abort nz_db_views_rowcount nz_dump_ext_table nz_get_ext_table_namesnz_altered_tables nz_ddl nz_find_acl_issues nz_get_ext_table_objidnz_backup nz_ddl_aggregate nz_find_control_chars_in_data nz_get_ext_table_ownernz_backup_size_estimate nz_ddl_all_grants nz_find_non_integer_strings nz_get_function_namenz_best_practices nz_ddl_comment nz_find_object nz_get_function_namesnz_build_html_help_output nz_ddl_database nz_find_object_orphans nz_get_function_signaturesnz_catalog_diff nz_ddl_diff nz_find_object_owners nz_get_group_namenz_catalog_dump nz_ddl_ext_table nz_find_table_orphans nz_get_group_namesnz_catalog_size nz_ddl_function nz_fix_acl nz_get_group_objidnz_change_owner nz_ddl_grant_group nz_format nz_get_group_ownernz_check_disks nz_ddl_grant_user nz_frag nz_get_group_usersnz_check_disk_scan_speeds nz_ddl_group nz_genc nz_get_lastTXidnz_check_spu nz_ddl_history_config nz_genstats nz_get_library_namenz_check_statistics nz_ddl_library nz_get nz_get_library_namesnz_check_views nz_ddl_mview nz_get_acl nz_get_mgmt_table_namenz_cksum nz_ddl_object nz_get_admin nz_get_mgmt_table_namesnz_clone nz_ddl_owner nz_get_aggregate_name nz_get_mgmt_view_namenz_columns nz_ddl_procedure nz_get_aggregate_names nz_get_mgmt_view_namesnz_compiler_check nz_ddl_scheduler_rule nz_get_aggregate_signatures nz_get_modelnz_compiler_stats nz_ddl_schema nz_get_column_attnum nz_get_mview_basenamenz_compressedTableRatio nz_ddl_security nz_get_column_name nz_get_mview_definitionnz_compress_old_files nz_ddl_sequence nz_get_column_names nz_get_mview_matrelidnz_core nz_ddl_synonym nz_get_column_oid nz_get_mview_namenz_coreAnalysis nz_ddl_sysdef nz_get_column_type nz_get_mview_namesnz_csv nz_ddl_table nz_get_database_name nz_get_mview_objidnz_db_group_access_listing nz_ddl_table_redesign nz_get_database_names nz_get_mview_ownernz_db_size nz_ddl_user nz_get_database_objid nz_get_object_namenz_db_tables_rowcount nz_ddl_view nz_get_database_owner nz_get_object_objidnz_db_tables_rowcount_statistic nz_ddl_view+ nz_get_database_table_column_names nz_get_object_ownernz_db_user_access_listing nz_dimension_or_fact nz_get_ext_table_name nz_get_object_type
nz_get_procedure_name nz_get_table_objid nz_manual_vacuum nz_spu_memorynz_get_procedure_names nz_get_table_organization_key nz_migrate nz_spu_swap_spacenz_get_procedure_signatures nz_get_table_owner nz_mm nz_spu_topnz_get_schema_name nz_get_table_pk nz_my_access nz_statenz_get_schema_names nz_get_table_rowcount nz_my_grants nz_statsnz_get_schema_objid nz_get_table_rowcount_statistic nz_online_vacuum nz_storage_statsnz_get_sequence_name nz_get_user_groups nz_pause nz_sysmgmt_view_referencesnz_get_sequence_names nz_get_user_name nz_physical_table_layout nz_sysutil_historynz_get_sequence_objid nz_get_user_names nz_ping nz_sysutil_statsnz_get_sequence_owner nz_get_user_objid nz_plan nz_table_analyzenz_get_stableTXid nz_get_user_owner nz_query_history nz_table_constraintsnz_get_synonym_definition nz_get_view_definition nz_query_stats nz_table_referencesnz_get_synonym_name nz_get_view_name nz_reclaim nz_tablesnz_get_synonym_names nz_get_view_names nz_record_skew nz_temperaturesnz_get_synonym_objid nz_get_view_objid nz_replay nz_testnz_get_synonym_owner nz_get_view_owner nz_repl_health nz_transactionsnz_get_sysmgmt_table_name nz_get_view_rowcount nz_replicate nz_truncatenz_get_sysmgmt_table_names nz_gra_history nz_rerandomize nz_unloadnz_get_sysmgmt_table_objid nz_grep_views nz_responders nz_update_statistic_date_high_valuenz_get_sysmgmt_view_name nz_groom nz_restore nz_update_statistic_min_or_maxnz_get_sysmgmt_view_names nz_health nz_rev nz_update_statistic_null_valuesnz_get_sysmgmt_view_objid nz_help nz_scan_table_extents nz_update_statistic_table_rowcountnz_get_sys_table_name nz_host_memory nz_select_fixed_data nz_update_statistic_unique_valuesnz_get_sys_table_names nz_inconsistent_data_types nz_select_quoted_data nz_usagenz_get_sys_view_name nz_index nz_sense nz_view_plan_filenz_get_sys_view_names nz_invisible nz_set nz_view_referencesnz_get_table_distribution_key nz_load4 nz_show_locks nz_watchnz_get_table_fks nz_load_files nz_show_topology nz_wrappernz_get_table_name nz_lock nz_skew nz_zonemap
nz_get_table_names nz_maintenance_mode nz_sort_order
Netezza Tool Compatibility – 100% native Netezza compatibility
nzstate / nzsql / nzstats
[nz@e1n1 ~]$ nzstateSystem state is 'Online’.
[nz@e1n1 ~]$ nzsqlWelcome to nzsql, the IBM Netezza SQL interactive terminal.
Type: \h for help with SQL commands\? for help on internal slash commands\g or terminate with semicolon to execute query\q to quit
SYSTEM.ADMIN(ADMIN)=> \lList of databasesDATABASE | OWNER
--------------------+-------BAR70DS_10240B | PRODBAR70DS_10240B_ODS | PRODBAR70DS_10240B_STG | PRODDB1 | ADMINSYSTEM | ADMINTPCDS100 | PRODTPCH100 | PRODTPCH1000B | PROD
(8 rows)
[nz@e1n1 ~]$ nzstats
Field Name Value-------------------- ------------------------Name e1n1Description <sys description>Contact <contact name>Location <sys location>IP Addr 9.0.0.16Up Time 51263 secsUp Time Text 14 hrs, 14 mins, 23 secsDate 19-Sep-19, 03:03:40 EDTState 8State Text OnlineModel R8_BMSerial Num <serial #>Num SFIs 0Num SPAs 1Num SPUs 8Num Data Slices 224Num Hardware Issues 0Num Dataslice Issues 0
nzhw / nzsw
[nz@e1n1 ~]$ nzhwDescription HW ID Location Role State Security------------- ----- -------------------- ------ ------ --------Rack 1001 rack1 Active Ok N/ASPA 1002 spa1 Active Ok N/AHost 1003 rack1.host1 None None N/AHost 1004 rack1.host2 None None N/ASPU 1005 spa1.spu1 Active Online N/ASPU 1006 spa1.spu2 Active Online N/ASPU 1007 spa1.spu3 Active Online N/ASPU 1008 spa1.spu4 Active Online N/ASPU 1009 spa1.spu5 Active Online N/ASPU 1010 spa1.spu6 Active Online N/ASPU 1011 spa1.spu7 Active Online N/ASPU 1012 spa1.spu8 Active Online N/ADiskEnclosure 1013 spa1.diskEncl1 Active Ok N/ADisk 1014 spa1.diskEncl1.disk1 Active Ok DisabledDisk 1015 spa1.diskEncl1.disk2 Active Ok DisabledDisk 1016 spa1.diskEncl1.disk3 Active Ok DisabledDisk 1017 spa1.diskEncl1.disk4 Active Ok DisabledDiskEnclosure 1018 spa1.diskEncl2 Active Ok N/ADisk 1019 spa1.diskEncl2.disk1 Active Ok DisabledDisk 1020 spa1.diskEncl2.disk2 Active Ok DisabledDisk 1021 spa1.diskEncl2.disk3 Active Ok DisabledDisk 1022 spa1.diskEncl2.disk4 Active Ok DisabledDiskEnclosure 1023 spa1.diskEncl3 Active Ok N/ADisk 1024 spa1.diskEncl3.disk1 Active Ok DisabledDisk 1025 spa1.diskEncl3.disk2 Active Ok DisabledDisk 1026 spa1.diskEncl3.disk3 Active Ok DisabledDisk 1027 spa1.diskEncl3.disk4 Active Ok Disabled...
[nz@e1n1 ~]$ nzswPARAMETER | VALUE
------------------------+------------------------NPS Version | 11.0.1.0 [Build 0]NPS Uptime | 1 hr, 18 mins, 43 secsCatalog Version | 3.1792INZA Version | Not InstalledSQLEXT Toolkit Version | 11.0.0.0FDT Version | Not InstalledHPF Version | 100.0Model | R8_BMNumber of User DBs | 17Number of Data Slices | 224Replication State | Not ConfiguredQuery history DB | Not ConfiguredZone Maps | table orientedGoD | WLM based GoD enabled
▪Both IBM Netezza / PureData for Analytics and IBM Performance Server use the same database architecture and are 100% compatible
▪A migration from Netezza to Performance Server therefore does not require 3rd party/ external tools
▪The migration can be done by using nz* tools, available on every system
− Either through backup / restore (nzbackup & nzrestore)
− Or using the nz_migrate tool
Migration Overview
▪Choose the migration tool depending on your requirements (size of database, downtime requirements etc.)
▪nz_migrate with the -CreateTargetDatabase true option
−A migration is generally going to be much faster than an nzbackup / nzrestore
− It requires 0 external storage to be provisioned
− It provides a lot more flexibility and options (but more options means a bit more complexity)
−And this only supports a "full" migration of a table ... there is no support for "-differential”
▪nzbackup / nzrestore
− These tools are very simple and easy to use
− They support a "-differential" option if you are unable to do a data cut-over all at once
Migration Tooling
▪nzbackup --noData nz_migrate
− So, rather than using "nz_migrate -CreateTargetDatabase"
− We are using the "nzbackup -noData" option to move over just the DDL
− This is a slightly different way to accomplish much the same thing (they are very similar in nature)
− Then we would use nz_migrate to move over the actual data (and not involve itself with any of the DDL)
▪We could also use a COMBINATION of
− nz_migrate # to move over a "full copy" of the database
− nzbackup # to then perform any subsequent "-differential" backups to resync the databases after the fact
− For details on this feature, refer to the online help text for the "nz_migrate -backupset <backupsetid>" option
Migration Tooling (Cont’d)
▪Preparing your new appliance
▪Preparing for
− Creating OS users, if any
− OS hardening
▪Copy nzevent from old PDA machine
− Command : nzevent show -syntax
▪System Configuration and Database configuration
− /nz/data/config/system.cfg
− /nz/data/postgresql.conf
Pre-Migration Activity
▪Backing up database users, groups and permissions is very easy
− From source machine : nzbackup –globals –dir <>
− On target machine : nzrestore –globals –dir <>
▪Alternate method
− Utilize support tools: nz_ddl_users and nz_ddl_groups
− It generates create users and create groups commands along with grant permissions that can be applied on target machine
− It will also create your resource groups as defined on source machine
Backup database USERS and GROUPS
▪Once all your data is migrated, you can perform the following optional steps to further improve performance on the new environment:
− Run Groom on all database/tables : nz_groom <database> <table>
− Generate stats on all tables / databases : nz_genstats <database> <table>
Post Migration
Migration nz_migrate – all in one shot
• Utilize nz_migrate to migrate data from source system to Performance Server
• nz_migrate -sdb <> -tdb <> -shost <> -thost localhost –threads <> -status 60
• If you want nz_migrate to take care of database objects creation, use the following options:
• -CreateTargetDatabase YES -CreateTargetTable YES
Example syntax:#> /nz/support-IBM_Netezza-11.0.1-191011-0426/bin/nz_migrate \
-shost 192.168.50.129 \-tuser nz \-tpassword netezza \-thost 192.168.0.24 \-sdb TEST\-tdb TEST\-suser nz \-spassword netezza \-cksum fast \-genStats Full \-TruncateTargetTable YES \-CreateTargetDatabase YES \-CreateTargetTable YES \-format ascii \
▪ Use the following procedure if your downtime requirements are high.These are the same steps you would followed in a Netezza environment
− nz_migrate has option “-backupsetid”
− Use nz_migrate to migrate most chunk of data to target using nz_migrate
− While this is happening, one can continue using PDA with their regular operations
− Keep target up-to-date using incremental nzbackup on source followed by restore on target.
− Repeat for each database.
− Steps…
• Phase 1: migrate your global objects (users/ groups / resource groups)
• Phase 2: Migrate your databases / schemas
• Phase 3: Data reorganization for large tables ( > 10 M rows)
• Phase 4: Keeping target up-to-date with incrementals
• Phase 5: Unlocking the database when ready for cutover
Downtime Minimized Migration
Performance Server is a 64-bit environment, therefore we must recompile UDF’s and UDX’s
Use the following procedure to recompile your UDF/UDX.
1. Use the nzudxcompile command to compile source C++ files for UDXs into the object files that run on the Performance Server and the SPUs. The command is in the /nz/kit/bin/adm directory.
> nzudxcompile var_concat.cpp
2. Next, register the UDX within a database by creating the sql below and running the following command.
> nzsql -db test -v name=1 -e -f '/home/nz/udx_files/var_concat.sql'
Recompile UDF/UDX*
CREATE OR REPLACE FUNCTION var_concat(varchar(64000), varchar(64000))
RETURNS varchar(64000) LANGUAGE CPP PARAMETER STYLE NPSGENERIC API VERSION 2
EXTERNAL CLASS NAME 'Cvar_concat'
EXTERNAL HOST OBJECT '/home/nz/udx_files/var_concat.o_x86'
EXTERNAL SPU OBJECT '/home/nz/udx_files/var_concat.o_spu10';
* These are the same steps you would have followed in a Netezza environment
▪ The video shows the following scenario
− Database BDI with 24 tables exists on IBM Netezza
− Database BDI does not exist on Performance Server
− Goal is to migrate BDI to Performance Server, using nz_migrate command
− Steps:
1. Verify that the database does not exist on target
2. Use the following command for the migration:
nz_migrate –sdb bdi –tdb bdi –shost pda –thost ips – CreateTargetDatabase yes
3. Verify that target database BDI was created: nzsql \l
4. Verify that all 24 tables have been created in the target: nzsql –d bdi –c “\d”
5. Verify that all rows have been migrated (using a SELECT COUNT(*) on all tables)
→ Database BDI successfully migrated!
Demo Scenario
• Performance Server (nzrev 11.x) and NPS 7.2.x are software compatible (Performance Server is a fork), but there are subtle operational differences
• Host runs inside a docker container on Performance Server unlike bare metal on a host• Different administration layers (platform commands like ap*)
• No nzadmin – use Cloud Pak/Performance Server web console microservice
• Networking• Customer connection is to the CP4D switch not to a host (similar to IBM Integrated Analytics System) • Uses OpenShift internal networking. Requires DNS wildcard. Cannot find web console without this being set up
• Roles vs. Groups• You can create user groups to organize users with similar privileges and tasks• You can also use roles to assign privileges to a number of users at a time
Key Things to keep in mind
Summary: IBM Performance Server for PostgreSQL
Fully compatible Get 100 percent compatibility with the existing IBM PureData® System for Analytics, including single-command frictionless migration for existing users.
Blazing fast With its open source design, IBM Performance Server for PostgreSQL is optimized for high-performance analytics, with built-in hardware acceleration.
Scalable and elastic Multitenancy architecture helps enable you to grow as you need on storage and compute.
Highly available Built on Red Hat OpenShift, IBM Performance Server for PostgreSQL is Kubernetes-container managed and is deployed through microservices.
Built-in machine learning Drive more value from your data with the ability to run in-database machine-learning models, using tools and advanced algorithms already preferred by data scientists and analytics professionals.
Simple Load and go, with minimal administration and tuning. Automatic discovery by IBM Cloud Pak for Data System can greatly reduce the required setup and expansion time.
Fully supported IBM Performance Server for PostgreSQL is production ready and fully supported by IBM — with unlimited use.
Added value Gain access to services that include IBM Data Virtualization, IBM Watson® Knowledge Catalog and others to propel your journey to AI.
• IBM Demos www.ibm.com/demos• Collection Cloud Pak for Data
• Video: IBM Cloud Pak for Data – Introduction to IBM Performance Server for PostgreSQLhttps://youtu.be/w0XvALy-i1A
• Product Tour: Explore IBM Performance Server for PostgreSQLhttps://www.ibm.com/cloud/garage/dte/producttour/explore-ibm-performance-server-postgresql
• Hands-on lab: IBM Performance Server for PostgreSQL: Getting to know the database environmenthttps://www.ibm.com/cloud/garage/dte/tutorial/ibm-performance-server-postgresql-getting-know-netezza-environment
• IBM Community:https://community.ibm.com/community/user/hybriddatamanagement/communities/community-home?CommunityKey=d9f9d5de-e89f-4a6a-84a0-31df8b81f182
• IBM Knowledge Center for Performance Server: https://www.ibm.com/support/knowledgecenter/en/SS5FPD_1.0.0/com.ibm.ips.doc/postgresql/intro.html
• IBM Product Pages• https://www.ibm.com/products/cloud-pak-for-data/system• https://www.ibm.com/analytics/netezza
Additional resources