Submit Search
Upload
Java Library for High Speed Streaming Data
•
0 likes
•
355 views
Oracle Developers
Follow
A Java library for high-speed streaming data into your database.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 19
Recommended
GoldenGate Monitoring - GOUSER - 4/2014
GoldenGate Monitoring - GOUSER - 4/2014
Bobby Curtis
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
Oracle Autonomous Health Service- For Protecting Your On-Premise Databases- F...
Oracle Autonomous Health Service- For Protecting Your On-Premise Databases- F...
Sandesh Rao
Aioug ha day oct2015 goldengate- High Availability Day 2015
Aioug ha day oct2015 goldengate- High Availability Day 2015
aioughydchapter
Schema Registry & Stream Analytics Manager
Schema Registry & Stream Analytics Manager
Sriharsha Chintalapani
TFA Collector - what can one do with it
TFA Collector - what can one do with it
Sandesh Rao
Dg broker & client connectivity - High Availability Day 2015
Dg broker & client connectivity - High Availability Day 2015
aioughydchapter
Fortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache Knox
Fortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache Knox
DataWorks Summit
Recommended
GoldenGate Monitoring - GOUSER - 4/2014
GoldenGate Monitoring - GOUSER - 4/2014
Bobby Curtis
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
Oracle Autonomous Health Service- For Protecting Your On-Premise Databases- F...
Oracle Autonomous Health Service- For Protecting Your On-Premise Databases- F...
Sandesh Rao
Aioug ha day oct2015 goldengate- High Availability Day 2015
Aioug ha day oct2015 goldengate- High Availability Day 2015
aioughydchapter
Schema Registry & Stream Analytics Manager
Schema Registry & Stream Analytics Manager
Sriharsha Chintalapani
TFA Collector - what can one do with it
TFA Collector - what can one do with it
Sandesh Rao
Dg broker & client connectivity - High Availability Day 2015
Dg broker & client connectivity - High Availability Day 2015
aioughydchapter
Fortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache Knox
Fortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache Knox
DataWorks Summit
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
Marco Gralike
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
Bobby Curtis
New Generation Oracle RAC Performance
New Generation Oracle RAC Performance
Anil Nair
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best Practices
Bobby Curtis
Using Machine Learning to Debug complex Oracle RAC Issues
Using Machine Learning to Debug complex Oracle RAC Issues
Anil Nair
TFA, ORAchk and EXAchk 20.2 - What's new
TFA, ORAchk and EXAchk 20.2 - What's new
Sandesh Rao
Oracle GoldenGate Microservices Overview ( with Demo )
Oracle GoldenGate Microservices Overview ( with Demo )
Mari Kupatadze
What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1
Satishbabu Gunukula
Hit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate Microservices
Bobby Curtis
Hive ACID Apache BigData 2016
Hive ACID Apache BigData 2016
alanfgates
The Oracle Autonomous Database
The Oracle Autonomous Database
Connor McDonald
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at Renault
DataWorks Summit
Rac 12c rel2_operational_best_practices_sangam_2017_as_pdf
Rac 12c rel2_operational_best_practices_sangam_2017_as_pdf
Anil Nair
OOW19 - HOL5221
OOW19 - HOL5221
Bobby Curtis
Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016
Anil Nair
Running Enterprise Workloads in the Cloud
Running Enterprise Workloads in the Cloud
DataWorks Summit
How to Use EXAchk Effectively to Manage Exadata Environments
How to Use EXAchk Effectively to Manage Exadata Environments
Sandesh Rao
Building RESTful services using SCA and JAX-RS
Building RESTful services using SCA and JAX-RS
Luciano Resende
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret Internals
Anil Nair
New availability features in oracle rac 12c release 2 anair ss
New availability features in oracle rac 12c release 2 anair ss
Anil Nair
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
Georgi Kodinov
Oracle Cloud
Oracle Cloud
MarketingArrowECS_CZ
More Related Content
What's hot
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
Marco Gralike
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
Bobby Curtis
New Generation Oracle RAC Performance
New Generation Oracle RAC Performance
Anil Nair
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best Practices
Bobby Curtis
Using Machine Learning to Debug complex Oracle RAC Issues
Using Machine Learning to Debug complex Oracle RAC Issues
Anil Nair
TFA, ORAchk and EXAchk 20.2 - What's new
TFA, ORAchk and EXAchk 20.2 - What's new
Sandesh Rao
Oracle GoldenGate Microservices Overview ( with Demo )
Oracle GoldenGate Microservices Overview ( with Demo )
Mari Kupatadze
What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1
Satishbabu Gunukula
Hit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate Microservices
Bobby Curtis
Hive ACID Apache BigData 2016
Hive ACID Apache BigData 2016
alanfgates
The Oracle Autonomous Database
The Oracle Autonomous Database
Connor McDonald
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at Renault
DataWorks Summit
Rac 12c rel2_operational_best_practices_sangam_2017_as_pdf
Rac 12c rel2_operational_best_practices_sangam_2017_as_pdf
Anil Nair
OOW19 - HOL5221
OOW19 - HOL5221
Bobby Curtis
Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016
Anil Nair
Running Enterprise Workloads in the Cloud
Running Enterprise Workloads in the Cloud
DataWorks Summit
How to Use EXAchk Effectively to Manage Exadata Environments
How to Use EXAchk Effectively to Manage Exadata Environments
Sandesh Rao
Building RESTful services using SCA and JAX-RS
Building RESTful services using SCA and JAX-RS
Luciano Resende
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret Internals
Anil Nair
New availability features in oracle rac 12c release 2 anair ss
New availability features in oracle rac 12c release 2 anair ss
Anil Nair
What's hot
(20)
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
New Generation Oracle RAC Performance
New Generation Oracle RAC Performance
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best Practices
Using Machine Learning to Debug complex Oracle RAC Issues
Using Machine Learning to Debug complex Oracle RAC Issues
TFA, ORAchk and EXAchk 20.2 - What's new
TFA, ORAchk and EXAchk 20.2 - What's new
Oracle GoldenGate Microservices Overview ( with Demo )
Oracle GoldenGate Microservices Overview ( with Demo )
What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1
Hit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate Microservices
Hive ACID Apache BigData 2016
Hive ACID Apache BigData 2016
The Oracle Autonomous Database
The Oracle Autonomous Database
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at Renault
Rac 12c rel2_operational_best_practices_sangam_2017_as_pdf
Rac 12c rel2_operational_best_practices_sangam_2017_as_pdf
OOW19 - HOL5221
OOW19 - HOL5221
Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016
Running Enterprise Workloads in the Cloud
Running Enterprise Workloads in the Cloud
How to Use EXAchk Effectively to Manage Exadata Environments
How to Use EXAchk Effectively to Manage Exadata Environments
Building RESTful services using SCA and JAX-RS
Building RESTful services using SCA and JAX-RS
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret Internals
New availability features in oracle rac 12c release 2 anair ss
New availability features in oracle rac 12c release 2 anair ss
Similar to Java Library for High Speed Streaming Data
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
Georgi Kodinov
Oracle Cloud
Oracle Cloud
MarketingArrowECS_CZ
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
Kris Rice
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
Juarez Junior
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development Techniques
Christopher Jones
Boost Your Content Strategy for REST APIs with Gururaj BS
Boost Your Content Strategy for REST APIs with Gururaj BS
Information Development World
Oracle goldegate microservice
Oracle goldegate microservice
Mojtaba Khandan
Oracle Cloud DBaaS
Oracle Cloud DBaaS
Arush Jain
con8832-cloudha-2811114.pdf
con8832-cloudha-2811114.pdf
Neaman Ahmed MBA ITIL OCP Automic
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
Trivadis
Introduction to MySQL
Introduction to MySQL
Ted Wennmark
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdf
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdf
Miguel Araújo
RMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New Features
Dave Stokes
Whats new in Oracle Trace File analyzer 18.3.0
Whats new in Oracle Trace File analyzer 18.3.0
Sandesh Rao
Whats new in oracle trace file analyzer 18.3.0
Whats new in oracle trace file analyzer 18.3.0
Gareth Chapman
My sql router
My sql router
Tinku Ajit
MySQL User Camp : MySQL-Router
MySQL User Camp : MySQL-Router
Prasad Vasudevan
MySQL Router - Explore The Secrets (MySQL Belgian Days 2024)
MySQL Router - Explore The Secrets (MySQL Belgian Days 2024)
Miguel Araújo
Whats new in Autonomous Database in 2022
Whats new in Autonomous Database in 2022
Sandesh Rao
Přehled portfolia Oracle Database Appliance a praktických případů v regionu EMEA
Přehled portfolia Oracle Database Appliance a praktických případů v regionu EMEA
MarketingArrowECS_CZ
Similar to Java Library for High Speed Streaming Data
(20)
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
Oracle Cloud
Oracle Cloud
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development Techniques
Boost Your Content Strategy for REST APIs with Gururaj BS
Boost Your Content Strategy for REST APIs with Gururaj BS
Oracle goldegate microservice
Oracle goldegate microservice
Oracle Cloud DBaaS
Oracle Cloud DBaaS
con8832-cloudha-2811114.pdf
con8832-cloudha-2811114.pdf
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
Introduction to MySQL
Introduction to MySQL
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdf
Deep Dive into MySQL InnoDB Cluster Read Scale-out Capabilities.pdf
RMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New Features
Whats new in Oracle Trace File analyzer 18.3.0
Whats new in Oracle Trace File analyzer 18.3.0
Whats new in oracle trace file analyzer 18.3.0
Whats new in oracle trace file analyzer 18.3.0
My sql router
My sql router
MySQL User Camp : MySQL-Router
MySQL User Camp : MySQL-Router
MySQL Router - Explore The Secrets (MySQL Belgian Days 2024)
MySQL Router - Explore The Secrets (MySQL Belgian Days 2024)
Whats new in Autonomous Database in 2022
Whats new in Autonomous Database in 2022
Přehled portfolia Oracle Database Appliance a praktických případů v regionu EMEA
Přehled portfolia Oracle Database Appliance a praktických případů v regionu EMEA
More from Oracle Developers
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Oracle Developers
Apex atp customer_presentation_wwc march 2019
Apex atp customer_presentation_wwc march 2019
Oracle Developers
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
Oracle Developers
Fn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal Arif
Oracle Developers
Get ready for_an_autonomous_data_driven_future_ext
Get ready for_an_autonomous_data_driven_future_ext
Oracle Developers
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Oracle Developers
Container Native Development Tools - Talk by Mickey Boxell
Container Native Development Tools - Talk by Mickey Boxell
Oracle Developers
General Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajev
Oracle Developers
GraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajev
Oracle Developers
Serverless Patterns by Jesse Butler
Serverless Patterns by Jesse Butler
Oracle Developers
Artificial Intelligence
Artificial Intelligence
Oracle Developers
Reactive Java Programming: A new Asynchronous Database Access API by Kuassi M...
Reactive Java Programming: A new Asynchronous Database Access API by Kuassi M...
Oracle Developers
Managing containers on Oracle Cloud by Jamal Arif
Managing containers on Oracle Cloud by Jamal Arif
Oracle Developers
North America November Meetups
North America November Meetups
Oracle Developers
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
Oracle Developers
North America Meetups in September
North America Meetups in September
Oracle Developers
Introduction to the Oracle Container Engine
Introduction to the Oracle Container Engine
Oracle Developers
Oracle Data Science Platform
Oracle Data Science Platform
Oracle Developers
Persistent storage with containers By Kaslin Fields
Persistent storage with containers By Kaslin Fields
Oracle Developers
The Fn Project by Jesse Butler
The Fn Project by Jesse Butler
Oracle Developers
More from Oracle Developers
(20)
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Apex atp customer_presentation_wwc march 2019
Apex atp customer_presentation_wwc march 2019
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
Fn meetup by Sardar Jamal Arif
Fn meetup by Sardar Jamal Arif
Get ready for_an_autonomous_data_driven_future_ext
Get ready for_an_autonomous_data_driven_future_ext
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Container Native Development Tools - Talk by Mickey Boxell
Container Native Development Tools - Talk by Mickey Boxell
General Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajev
Serverless Patterns by Jesse Butler
Serverless Patterns by Jesse Butler
Artificial Intelligence
Artificial Intelligence
Reactive Java Programming: A new Asynchronous Database Access API by Kuassi M...
Reactive Java Programming: A new Asynchronous Database Access API by Kuassi M...
Managing containers on Oracle Cloud by Jamal Arif
Managing containers on Oracle Cloud by Jamal Arif
North America November Meetups
North America November Meetups
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
North America Meetups in September
North America Meetups in September
Introduction to the Oracle Container Engine
Introduction to the Oracle Container Engine
Oracle Data Science Platform
Oracle Data Science Platform
Persistent storage with containers By Kaslin Fields
Persistent storage with containers By Kaslin Fields
The Fn Project by Jesse Butler
The Fn Project by Jesse Butler
Recently uploaded
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Alan Dix
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions
Key Features Of Token Development (1).pptx
Key Features Of Token Development (1).pptx
LBM Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Hyundai Motor Group
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Scott Keck-Warren
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
soniya singh
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
AndikSusilo4
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
ThousandEyes
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Recently uploaded
(20)
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Key Features Of Token Development (1).pptx
Key Features Of Token Development (1).pptx
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Java Library for High Speed Streaming Data
1.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | San Francisco Java Users Group A Java Library for High-Speed Streaming Data into Your Database Pablo Silberkasten, Software Development Manager, Oracle Kuassi Mensah, Director Product Management, Oracle OJDBC and OJVM Development April 15, 2019 Confidential – Oracle Internal/Restricted/Highly Restricted
2.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. Confidential – Oracle Internal/Restricted/Highly Restricted
3.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Program Agenda Challenges when Streaming Data into the Database Introducing the High Speed Streaming Library API and Code Samples Cloud Service Demo 1 2 3 4 Confidential – Oracle Internal/Restricted/Highly Restricted 3
4.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Challenges when Streaming Data into the Database • Scalability: handle thousands of concurrent clients streaming data into the same table/database • Responsiveness: minimal response time, asynchronous processing, with non-blocking back-pressure • Elasticity: responsiveness not being affected under varying workload Common requirements for multiple concurrent agents streaming data Confidential – Oracle Internal/Restricted/Highly Restricted 4 In these scenarios regular JDBC inserts will not scale
5.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Challenges when Streaming Data into the Database • Automatic Routing (payload dependent) • High Availability • Disaster Recover • Planned Maintenance and changes in the database topology • Database upgrades (use new features with no changes on the client) Transparently exploit -with no changes in the client- features of the Database Confidential – Oracle Internal/Restricted/Highly Restricted 5 Provide an abstraction layer with these features
6.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Program Agenda Challenges when Streaming Data into the Database Introducing the High Speed Streaming Library API and Code Samples Cloud Service Demo 1 2 3 4 Confidential – Oracle Internal/Restricted/Highly Restricted 6
7.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Introducing the High Speed Streaming Library • Fastest insert method for Oracle Database: through Direct Path • RAC and Shard awareness (routing capabilities): through native UCP • Extremely simple to configure and use • Streaming capability: unblockingly receive data from a large group of clients Java library that allows users to stream data into the Oracle Database Confidential – Oracle Internal/Restricted/Highly Restricted 7 UCP Connection Pool Thin Driver Direct Path Core Library Local Threads processing queues (grouped records) with tagged connections queue2 queue1 Java Client (Push Publisher API) Java Client (Flow Publisher API) accept(byte[]) onNext(byte[]) request(n)
8.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Introducing the High Speed Streaming Library – Since 19c Thin Driver supports Direct Path Insert as part of the Oracle Connection internal APIs (not JDBC standard) – The library uses these APIs for loading bulk data faster in database. – Direct Path skips SQL engine in server side writing data directly in database buffers. – Direct Path loads stream in a table or in a partition with some intrinsic limitations: • Triggers are not supported • Referential integrity is not checked • Partitioning columns come before any LOB Fastest insert method for Oracle Database: through Direct Path Confidential – Oracle Internal/Restricted/Highly Restricted 8
9.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Introducing the High Speed Streaming Library – Through UCP usage get the capability to recognize the sharding keys specified by the users and allow them to connect to the specific shard and chunk – Cache sharding-key ranges to the location of the shard to allow connection request bypassing the GSM (shard director) – Select an available connection in the pool just by providing sharding keys; this allows the reuse of connections to various shards by using the cached routing topology RAC and Shard awareness (routing capabilities): through native UCP Confidential – Oracle Internal/Restricted/Highly Restricted 9
10.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Introducing the High Speed Streaming Library Extremely simple to configure and use Confidential – Oracle Internal/Restricted/Highly Restricted 10 // Simple and intuitive constructor FastIngestSuite fis = new FISBuilder() .url(url) .schema("scott") .username("scott") .password("tiger") .executor(newScheduledThreadPool(2)) .bufferCapacity(bufferCapacity) .bufferInterval(Duration.ofMillis(1000)) .transformer(bytes -> new Customer(bytes)) // Function<byte[], Record> .table("customers") .columns(new String[] { "ID", "NAME", "REGION" }) .build(); // Coming soon!: Record API (no need for transformer, table and/or column @Record @Table(name = “customers”) class Costumer { @Column(name = “ID”) private long id; @Column(name = “NAME”) private String name; @Column(name = “REGION”) private String region; }
11.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Program Agenda Challenges when Streaming Data into the Database Introducing the High Speed Streaming Library API and Code Samples Demo 1 2 3 4 Confidential – Oracle Internal/Restricted/Highly Restricted 11
12.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | API and Code Samples Push Publisher - For Simple Usage Confidential – Oracle Internal/Restricted/Highly Restricted 12 FastIngestSuite fis = FastIngestSuite.builder(). . . // Easy constructor .transformer(bytes -> { // Lambda transformation final Transformer.Record record = new Transformer.Record(); record.setColumnValue("payload", bytes); record.setColumnValue("state_code", "CA"); return record;}) .table("fis_demo_nonsharded_sample") .build(); PushPublisher<byte[]> pushPublisher = FastIngestSuite.pushPublisher(); // Factory builder pushPublisher.subscribe(fis.subscriberByteArray()); // Ingest ad-hoc pushPublisher.accept(new byte[] {'a', 'b'}); // Ingest using Consumer Functional Interface List<byte[]> data = Arrays.asList( new byte[] { 'a', 'b' }, new byte[] { 'a', 'c' }, new byte[] { 'b', 'c' }); data.stream() .filter(p -> p[0] == 'b') .forEach(pushPublisher::accept);
13.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | API and Code Samples Flow Publisher - A recap on Flow API Confidential – Oracle Internal/Restricted/Highly Restricted 13 Provided by the library
14.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | API and Code Samples Flow Publisher - Creating Custom Publishers Confidential – Oracle Internal/Restricted/Highly Restricted 14 // Library user creates Publisher’s implementation public class MyPublisher implements Publisher<byte[]> { // This implementation has a reference to the threadpool where execution will take place private final ExecutorService threadPool; // This implementation has a reference to only one subscription (it could be more than one) private Subscription subscription = null; // Implementation must provide a subscribe behavior @Override public void subscribe(Subscriber<? super byte[]> subscriber) { subscription = new MySubscription(); // Subscription also provided by user (fisSubscriber = subscriber).onSubscribe(subscription); // Execute subscriber’s onSubscribe startPublishing(); // Optional, start publishing after subscription . . . // Sample publishing (like startPublishing) private void startPublishing() { threadPool.submit(() -> { // publishing executes on the Publisher’s threadppol while (recordsCount > 0) { fisSubscriber.onNext(byteArray); // <- onNext’s subscriber is where the data is sent recordsCount--; // . . .
15.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | API and Code Samples Flow Publisher - Using the Custom Publisher with the Library Confidential – Oracle Internal/Restricted/Highly Restricted 15 // Create the publisher and subscribe to Library’s subscriber MyPublisher myPublisher = new MyPublisher(threadPool, recordsCount); flowPublisher.subscribe(fis.subscriberByteArray()); // Subscriber provided by the library (onNext –> ingest) // Subscription provided by the user private class MySubscription implements Subscription { @Override public void request(long request) { demand.addAndGet(request); // This is the mechanism for the Subscriber to signal unfulfilled demand } @Override public void cancel() { isCancelled = true; // The subscriber signaling that it will stop receiving message } }
16.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | API and Code Samples Flow Publisher - The Library is the Subscriber Confidential – Oracle Internal/Restricted/Highly Restricted 16 public class FlowSubscriber<T> implements Flow.Subscriber<T> { @Override public void onSubscribe(Subscription givenSubscription) { // It’s called from the Publisher if (activeSubscription == null) { isSubscribed = true; activeSubscription = givenSubscription; long request = fis.request(); // Check availability on the internal buffer if (request > 0) { activeSubscription.request(request); // Signal availability . . . @Override public void onNext(T item) { // Unblocking adding item to the buffer // Ingestion will execute in the library's threadpool (which is the most important feature!) fis.putRecord((byte[]) item); // Calculate remaining capability and signal long request = fis.request(); if (request > 0) { activeSubscription.request(request); } else { // Buffer is full . . . @Override public void onError(Throwable throwable) { // Provide error handling @Override public void onComplete() { // Provide completion handling
17.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | API and Code Samples Flow Publisher – Using SubmissionPublisher (java.base module/java.util.concurrent pck.) Confidential – Oracle Internal/Restricted/Highly Restricted 17 // Use SubmissionPublisher provided by the JRE // Default ForkJoinPool.commonPool();, DEFAULT_BUFFER_SIZE = 256; SubmissionPublisher<byte[]> publisher = new SubmissionPublisher<>(); publisher.subscribe(fis.subscriberByteArray()); // User publisher’s built-in methods: submit, offer, status of Pubs vs Subs. publisher.submit(new byte[] { 'a', 'b' }); // Graceful shutdown publisher.close(); fis.close(); ForkJoinPool.commonPool().shutdown(); Flow Publisher – Ready for 3rd party implementations! • RxJava • Reactive4JavaFlow • Future implementations!
18.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Program Agenda Challenges when Streaming Data into the Database Introducing the High Speed Streaming Library API and Code Samples Demo 1 2 3 4 Confidential – Oracle Internal/Restricted/Highly Restricted 18 POC
19.
Copyright © 2018,
Oracle and/or its affiliates. All rights reserved. | Demo & Outcome Confidential – Oracle Internal/Restricted/Highly Restricted 19 Oracle Database 19c running on 1 Exalogic X4-2 compute node*. Table: • Id • Name • Region *Exalogic X4-2 compute node - Memory: 94.6GB - CPU 12 cores, 24 threads, 2 sockets, Intel Xeon Processor X5675 3.07GHz, Collector running on 1 Exalogic X4-2 compute node*. • 4 threads for service I/O • 8 threads for library • 20s buffer limit • 4gb buffer cap JMeter (load simulator) running on 1 Exalogic X4-2 compute node*. • 10.000 concurrent threads • 2’ start up time • 0.25s between posts • 120b payload Rate: 40.000 rpc/second Avg. response time: ~ 4-5ms