SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
An OSS Api
Layer for your
Apache Cassandra™
➢ Trainer
➢ Public Speaker
➢ Developers Support
➢ Developer Applications
➢ Developer Tooling
➢ Creator of ff4j (ff4j.org)
➢ Maintainer for 8 years+
@clunven
➢ Happy developer for 14 years
➢ Spring Petclinic Reactive & Starters
➢ Implementing APIs for 8 years
@clun
Cédrick Lunven
Director Developer Relations
Datastax Developers Advocates Team
��🇷
��🇺
��🇧
David
Gilardi
Jack
Fryer
Aleksandr
Volochnev
Cedrick
Lunven
Stefano
Lottini
Ryan
Welford
��🇹
��🇸
��🇸
Rags
Srinivas
��🇸
��🇸
Kirsten
Hunter
Sonia
Siganporia
��
4
Exploring Apis
Rest DML and DDL
02
Exploring Apis
GraphQL and Federation
04
01
Tooling
SDK, K8ssandra
05
Stargate Data gateway
What, Why and How
Agenda (40 min)
4
Exploring Apis
Document oriented
03
What’s NEXT ?
gRPC, CDC, sql...
05
5
Exploring Apis
Rest DML and DDL
02
Exploring Apis
GraphQL and Federation
04
01
Tooling
SDK, K8ssandra
05
Stargate Data gateway
What, Why and How
Agenda (40 min)
5
Exploring Apis
Document oriented
03
What’s NEXT ?
gRPC, CDC, sql...
05
Data Gateway
Ubiquitous, API-based Consumption
MICROSERVICES
DEVELOPERS
Developers want the option
to use modern APIs and
development gateways.
Cassandra is a database designed
for the new
standard and the associated APIs
that facilitate the first choice of
developers.
Stargate Overview
An open source API framework for data
Stargate makes it easy to use a
database for any application workload
by adding plugin support for new APIs,
data types, and access methods
MICROSERVICES
DEVELOPERS
Stargate.io
API and Persistence Extensions
API
EXTENSIONS
PERSISTENCE
EXTENSIONS
Authentication
gRPC
(beta)
CQL
GraphQL Document
API
Data
API
Cassandra
3.x
Cassandra
4.x
Cassandra
DSE 6.x
API Extensions and Persistence Extensions
8080
8082
8090
9042
C* 3.x C* 4.x
C* 3.11
storage shim
C* 4.x
storage shim
DSE 6.x
storage shim
DSE 6.x
8084
Data + Document APIs GraphQL APIs
GRPC
CQL
Persistence Service
8080
8081 8082
8090
9042
C* 3.x C* 4.x
C* 3.11
storage shim
C* 4.x
storage shim
DSE 6.x
storage shim
DSE 6.x
8084
Data + Document APIs GraphQL APIs
OSGI
Service
Registry
GRPC
CQL Auth
Authentication Service
Rate Limiting Service
Metrics Services
Persistence Service
8080
8081 8082
8090
9042
C* 3.x C* 4.x
C* 3.11
storage shim
C* 4.x
storage shim
DSE 6.x
storage shim
DSE 6.x
8084
Data + Document APIs GraphQL APIs
GRPC
CQL Auth
cql
Service
gRPC
Service /auth
http(s) /rest
Data Service Doc Service swagger-ui
Document Shredding Service
/playground
/graphql-schema /graphql/<ks> /graphql-admin
CQL-First Service Schema-first Service
OSGI
Service
Registry
Authentication Service
Metrics Services
Rate Limiting Service
Authentication / Authorization
/auth /auth
tokens
peers
● Use Auth and get tokens (user+pwd)
● Tokens shared across instances
● Leverage on Cassandra roles (RBAC)
● -Dstargate.auth_tokenttl =X
Monitoring (JVM)
Monitoring (HTTP Traffic)
Monitoring (Services)
Connecting to your cluster (Before)
NODE
NODE
NODE
NODE
NODE NODE
NODE
developers
Apps
CQL
CQL
CQL
CQL
CQL
Drivers
CQL
CQL
Connecting to your cluster (with Stargate)
NODE
NODE
NODE
NODE
NODE NODE
NODE
developers
Apps
Drivers
HTTP Clients
CQL
CQL
CQL
CQL
CQL
Stargate
CQL
CQL
CQL
Connecting to your cluster (with Stargates)
NODE
NODE
NODE
NODE
NODE NODE
NODE
developers
Apps
SDK
CQL
CQL
CQL
CQL
CQL
Stargate
Stargate
Stargate
CQL
CQL
CQL
CQL
CQL
Load
Balancer
(HTTP)
21
Exploring Apis
Rest DML and DDL
02
Exploring Apis
GraphQL and Federation
04
01
Tooling
SDK, K8ssandra
05
Stargate Data gateway
What, Why and How
Agenda (40 min)
21
Exploring Apis
Document oriented
03
What’s NEXT ?
gRPC, CDC, sql...
05
Stargate “REST” Api(s)
● Expose existing CQL schema
as a RESTful endpoint, or
create new CQL schema
● Most familiar API style for
most teams
● Swagger integration
Quick start: https://stargate.io/docs/stargate/1.0/quickstart/quick_start-rest.html
REST Api(s) exposed DDL and best practices DML
DDL (Schema)
DML (data)
Demo
c
Swagger UI GraphQL Playground Tools
26
Exploring Apis
Rest DML and DDL
02
Exploring Apis
GraphQL and Federation
04
01
Tooling
SDK, K8ssandra
05
Stargate Data gateway
What, Why and How
Agenda (40 min)
26
Exploring Apis
Document oriented
03
What’s NEXT ?
gRPC, CDC, sql...
05
Working with JSON and Cassandra
● Cassandra already handles both JSON and nested objects
○ INSERT JSON, SELECT JSON
○ Set<>, List<>,Map<>, and User Defined type (UDT) even
nested
●
● But...
○ Strongly coupled with a SCHEMA VALIDATION
○ Dangerous with tombstones on updates
“Schemaless”
● You want to insert and retrieve any JSON documents
efficiently
●
● Allow “schemaless” (Validation less)
●
● Write to a single document is a single batch of
statements
●
● Read from a single document is a single SELECT
statement.
●
● Limit Tombstones with range deletes
“What rules ?”
Stargate Document API
● Schemaless!
(validationless)
● Add any JSON document
to a collection
● Uses “Document
shredding” approach
Quick start: https://stargate.io/docs/stargate/1.0/quickstart/quick_start-document.html
Document Shredding (1 / 3)
30
Document Shredding (2 / 3)
31
Document Shredding (3 / 3)
32
Demo
34
Exploring Apis
Rest DML and DDL
02
Exploring Apis
GraphQL and Federation
04
01
Tooling
SDK, K8ssandra
05
Stargate Data gateway
What, Why and How
Agenda (40 min)
34
Exploring Apis
Document oriented
03
What’s NEXT ?
gRPC, CDC, sql...
05
History
Created by Facebook
2012
Used internally for mobile apps
2015 Facebook give talk at ReactJs Conf
Facebook open sourced graphQL
2015
GraphQL is an application
programming interface (API) query
language and server-side runtime that
prioritises giving customers precisely
the data they request.
2016 Github announced move to GQL
Definition
Why ?
36
Stargate GraphQL API
● Expose existing CQL schema as a
GraphQL endpoint
● Allows more fine-grained control
of what fields returned
● In progress: federation across
multiple services to join data
● Easy experimentation in GraphQL
playground
Quick start: https://stargate.io/docs/stargate/1.0/quickstart/quick_start-graphql.html
GraphQL “CQL First”
GraphQL “CQL First”
Demo
GraphQL Federation
Third
party
GraphQL Api
Gateway
GraphQL “Schema First”
GraphQL “Schema First“
GraphQL “Schema First“
45
Exploring Apis
Rest DML and DDL
02
Exploring Apis
GraphQL and Federation
04
01
Tooling
SDK, K8ssandra
05
Stargate Data gateway
What, Why and How
Agenda (40 min)
45
Exploring Apis
Document oriented
03
What’s NEXT ?
gRPC, CDC, sql...
05
Apache
Cassandra®
Cass-Operator
Cassandra
Medusa
(backup/restore)
Metrics
Collector
Reaper
(repair)
Graphql endpoint
+ Playground
rest/doc API +
Swagger
Authentication
Endpoint
Reaper UI
Traefik UI
Prometheus UI
Grafana
CQL Endpoint
Features Map
REST DATA APIS
V2
Prim.Key
Rows
Indexes UDT
Keyspaces
Tables
DOCUMENT API
V2
Namespaces
Collections
Documents
Sub Doc..
Json Schema
GraphQL
V1 Tables Rows Prim.Key CQL
FIRST
GRPC
CQL
Schema
FIRST
Tables
Keyspaces
UDT
Indexes
Values
Schemas Entity
Mutations
Query
Federation
CqlSession
SDK in Java, Javascript, Python
REST DATA APIS
V2
Prim.Key
Rows
Indexes UDT
Keyspaces
Tables
DOCUMENT API
V2
Namespaces
Collections
Documents
Sub Doc..
Json Schema
GraphQL
V1 Tables Rows Prim.Key CQL
FIRST
GRPC
CQL
Schema
FIRST
Tables
Keyspaces
UDT
Indexes
Values
Schemas Entity
Mutations
Query
Federation
CqlSession
Focus on Java SDK
https://github.com/datastax/astra-sdk-java/wiki
Sample Codes
Sample Code
52
Exploring Apis
Rest DML and DDL
02
Exploring Apis
GraphQL and Federation
04
01
Tooling
SDK, K8ssandra
05
Stargate Data gateway
What, Why and How
Agenda (40 min)
52
Exploring Apis
Document oriented
03
What’s NEXT ?
gRPC, CDC, sql...
05
What’s NEXT ?
● Apis
● GRPC (GA next month)
● Relational API
● Dynamo API
● Architecture
● SSO, KMS
● Architecture redesigned
● ZDD
● CDC
THANK YOU
@clun
@clunven
Thank you!
@clun
@clunven

Contenu connexe

Tendances

Tendances (20)

Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and Kritis
 
Software Supply Chain Observability with Grafeas and Kritis
Software Supply Chain Observability with Grafeas and KritisSoftware Supply Chain Observability with Grafeas and Kritis
Software Supply Chain Observability with Grafeas and Kritis
 
E bpf and profilers
E bpf and profilersE bpf and profilers
E bpf and profilers
 
DevOps Spain 2019. Olivier Perard-Oracle
DevOps Spain 2019. Olivier Perard-OracleDevOps Spain 2019. Olivier Perard-Oracle
DevOps Spain 2019. Olivier Perard-Oracle
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and Kritis
 
{py}gradle
{py}gradle{py}gradle
{py}gradle
 
{py}gradle
{py}gradle{py}gradle
{py}gradle
 
Python+gradle
Python+gradlePython+gradle
Python+gradle
 
Oracle cloud data interface
Oracle cloud data interfaceOracle cloud data interface
Oracle cloud data interface
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
Supercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database PerformanceSupercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database Performance
 
Successful Patterns for running platforms
Successful Patterns for running platformsSuccessful Patterns for running platforms
Successful Patterns for running platforms
 
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoSpring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
 
Building Autonomous Operations for Kubernetes with keptn
Building Autonomous Operations for Kubernetes with keptnBuilding Autonomous Operations for Kubernetes with keptn
Building Autonomous Operations for Kubernetes with keptn
 
Open Source Applied - Real World Use Cases
Open Source Applied - Real World Use CasesOpen Source Applied - Real World Use Cases
Open Source Applied - Real World Use Cases
 
DevOps Spain 2019. Pablo Chico de Guzmán -Okteto
DevOps Spain 2019. Pablo Chico de Guzmán -OktetoDevOps Spain 2019. Pablo Chico de Guzmán -Okteto
DevOps Spain 2019. Pablo Chico de Guzmán -Okteto
 
Containers and Kubernetes without limits
Containers and Kubernetes without limitsContainers and Kubernetes without limits
Containers and Kubernetes without limits
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the Monolith
 
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
 

Similaire à An oss api layer for your cassandra

SF Big Analytics_20190612: Scaling Apache Spark on Kubernetes at Lyft
SF Big Analytics_20190612: Scaling Apache Spark on Kubernetes at LyftSF Big Analytics_20190612: Scaling Apache Spark on Kubernetes at Lyft
SF Big Analytics_20190612: Scaling Apache Spark on Kubernetes at Lyft
Chester Chen
 
OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009
marpierc
 

Similaire à An oss api layer for your cassandra (20)

Unlock cassandra data for application developers using graphQL
Unlock cassandra data for application developers using graphQLUnlock cassandra data for application developers using graphQL
Unlock cassandra data for application developers using graphQL
 
apidays LIVE Paris 2021 - Stargate.io, An OSS Api Layer for your Cassandra by...
apidays LIVE Paris 2021 - Stargate.io, An OSS Api Layer for your Cassandra by...apidays LIVE Paris 2021 - Stargate.io, An OSS Api Layer for your Cassandra by...
apidays LIVE Paris 2021 - Stargate.io, An OSS Api Layer for your Cassandra by...
 
SF Big Analytics_20190612: Scaling Apache Spark on Kubernetes at Lyft
SF Big Analytics_20190612: Scaling Apache Spark on Kubernetes at LyftSF Big Analytics_20190612: Scaling Apache Spark on Kubernetes at Lyft
SF Big Analytics_20190612: Scaling Apache Spark on Kubernetes at Lyft
 
Scaling spark on kubernetes at Lyft
Scaling spark on kubernetes at LyftScaling spark on kubernetes at Lyft
Scaling spark on kubernetes at Lyft
 
DEVOXX UK 2018 - GraphQL as an alternative approach to REST
DEVOXX UK 2018 - GraphQL as an alternative approach to RESTDEVOXX UK 2018 - GraphQL as an alternative approach to REST
DEVOXX UK 2018 - GraphQL as an alternative approach to REST
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product Developers
 
Scaling Apache Spark on Kubernetes at Lyft
Scaling Apache Spark on Kubernetes at LyftScaling Apache Spark on Kubernetes at Lyft
Scaling Apache Spark on Kubernetes at Lyft
 
How easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performanceHow easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performance
 
Implementing OpenAPI and GraphQL services with gRPC
Implementing OpenAPI and GraphQL services with gRPCImplementing OpenAPI and GraphQL services with gRPC
Implementing OpenAPI and GraphQL services with gRPC
 
Create API for your Databases
Create API for your DatabasesCreate API for your Databases
Create API for your Databases
 
Spark sql meetup
Spark sql meetupSpark sql meetup
Spark sql meetup
 
Spark + AI Summit 2020 イベント概要
Spark + AI Summit 2020 イベント概要Spark + AI Summit 2020 イベント概要
Spark + AI Summit 2020 イベント概要
 
DevOps Powered by Splunk
DevOps Powered by SplunkDevOps Powered by Splunk
DevOps Powered by Splunk
 
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
 
From stream to recommendation using apache beam with cloud pubsub and cloud d...
From stream to recommendation using apache beam with cloud pubsub and cloud d...From stream to recommendation using apache beam with cloud pubsub and cloud d...
From stream to recommendation using apache beam with cloud pubsub and cloud d...
 
OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009
 
Google Cloud Dataflow
Google Cloud DataflowGoogle Cloud Dataflow
Google Cloud Dataflow
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
 
What’s new in Apache Spark 2.3
What’s new in Apache Spark 2.3What’s new in Apache Spark 2.3
What’s new in Apache Spark 2.3
 
Apache spark 2.4 and beyond
Apache spark 2.4 and beyondApache spark 2.4 and beyond
Apache spark 2.4 and beyond
 

Plus de Cédrick Lunven

Plus de Cédrick Lunven (17)

Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
 
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
BigData Paris 2022 - Innovations récentes et futures autour du NoSQL Apache ...
 
Avoiding Pitfalls for Cassandra.pdf
Avoiding Pitfalls for Cassandra.pdfAvoiding Pitfalls for Cassandra.pdf
Avoiding Pitfalls for Cassandra.pdf
 
CN Asturias - Stateful application for kubernetes
CN Asturias -  Stateful application for kubernetes CN Asturias -  Stateful application for kubernetes
CN Asturias - Stateful application for kubernetes
 
Xebicon2019 m icroservices
Xebicon2019   m icroservicesXebicon2019   m icroservices
Xebicon2019 m icroservices
 
DevFestBdm2019
DevFestBdm2019DevFestBdm2019
DevFestBdm2019
 
Reactive Programming with Cassandra
Reactive Programming with CassandraReactive Programming with Cassandra
Reactive Programming with Cassandra
 
Shift Dev Conf API
Shift Dev Conf APIShift Dev Conf API
Shift Dev Conf API
 
VoxxedDays Luxembourg FF4J
VoxxedDays Luxembourg FF4JVoxxedDays Luxembourg FF4J
VoxxedDays Luxembourg FF4J
 
VoxxedDays Luxembourg 2019
VoxxedDays Luxembourg 2019VoxxedDays Luxembourg 2019
VoxxedDays Luxembourg 2019
 
Design API - SnowCampIO
Design API - SnowCampIODesign API - SnowCampIO
Design API - SnowCampIO
 
Leveraging Feature Toggles for your Microservices (VoxxeddaysMicroservices Pa...
Leveraging Feature Toggles for your Microservices (VoxxeddaysMicroservices Pa...Leveraging Feature Toggles for your Microservices (VoxxeddaysMicroservices Pa...
Leveraging Feature Toggles for your Microservices (VoxxeddaysMicroservices Pa...
 
Streaming, Analytics and Reactive Applications with Apache Cassandra
Streaming, Analytics and Reactive Applications with Apache CassandraStreaming, Analytics and Reactive Applications with Apache Cassandra
Streaming, Analytics and Reactive Applications with Apache Cassandra
 
Riviera jug apicassandra
Riviera jug apicassandraRiviera jug apicassandra
Riviera jug apicassandra
 
Riviera JUG ff4j
Riviera JUG ff4jRiviera JUG ff4j
Riviera JUG ff4j
 
Paris Meetup Jhispter #9 - Generator FF4j for Jhipster
Paris Meetup Jhispter #9 - Generator FF4j for JhipsterParis Meetup Jhispter #9 - Generator FF4j for Jhipster
Paris Meetup Jhispter #9 - Generator FF4j for Jhipster
 
Introduction to Feature Toggle and FF4J
Introduction to Feature Toggle and FF4JIntroduction to Feature Toggle and FF4J
Introduction to Feature Toggle and FF4J
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

An oss api layer for your cassandra

  • 1. An OSS Api Layer for your Apache Cassandra™
  • 2. ➢ Trainer ➢ Public Speaker ➢ Developers Support ➢ Developer Applications ➢ Developer Tooling ➢ Creator of ff4j (ff4j.org) ➢ Maintainer for 8 years+ @clunven ➢ Happy developer for 14 years ➢ Spring Petclinic Reactive & Starters ➢ Implementing APIs for 8 years @clun Cédrick Lunven Director Developer Relations
  • 3. Datastax Developers Advocates Team ��🇷 ��🇺 ��🇧 David Gilardi Jack Fryer Aleksandr Volochnev Cedrick Lunven Stefano Lottini Ryan Welford ��🇹 ��🇸 ��🇸 Rags Srinivas ��🇸 ��🇸 Kirsten Hunter Sonia Siganporia ��
  • 4. 4 Exploring Apis Rest DML and DDL 02 Exploring Apis GraphQL and Federation 04 01 Tooling SDK, K8ssandra 05 Stargate Data gateway What, Why and How Agenda (40 min) 4 Exploring Apis Document oriented 03 What’s NEXT ? gRPC, CDC, sql... 05
  • 5. 5 Exploring Apis Rest DML and DDL 02 Exploring Apis GraphQL and Federation 04 01 Tooling SDK, K8ssandra 05 Stargate Data gateway What, Why and How Agenda (40 min) 5 Exploring Apis Document oriented 03 What’s NEXT ? gRPC, CDC, sql... 05
  • 6. Data Gateway Ubiquitous, API-based Consumption MICROSERVICES DEVELOPERS Developers want the option to use modern APIs and development gateways. Cassandra is a database designed for the new standard and the associated APIs that facilitate the first choice of developers.
  • 7. Stargate Overview An open source API framework for data Stargate makes it easy to use a database for any application workload by adding plugin support for new APIs, data types, and access methods MICROSERVICES DEVELOPERS
  • 9. API and Persistence Extensions API EXTENSIONS PERSISTENCE EXTENSIONS Authentication
  • 11. 8080 8082 8090 9042 C* 3.x C* 4.x C* 3.11 storage shim C* 4.x storage shim DSE 6.x storage shim DSE 6.x 8084 Data + Document APIs GraphQL APIs GRPC CQL
  • 12. Persistence Service 8080 8081 8082 8090 9042 C* 3.x C* 4.x C* 3.11 storage shim C* 4.x storage shim DSE 6.x storage shim DSE 6.x 8084 Data + Document APIs GraphQL APIs OSGI Service Registry GRPC CQL Auth Authentication Service Rate Limiting Service Metrics Services
  • 13. Persistence Service 8080 8081 8082 8090 9042 C* 3.x C* 4.x C* 3.11 storage shim C* 4.x storage shim DSE 6.x storage shim DSE 6.x 8084 Data + Document APIs GraphQL APIs GRPC CQL Auth cql Service gRPC Service /auth http(s) /rest Data Service Doc Service swagger-ui Document Shredding Service /playground /graphql-schema /graphql/<ks> /graphql-admin CQL-First Service Schema-first Service OSGI Service Registry Authentication Service Metrics Services Rate Limiting Service
  • 14. Authentication / Authorization /auth /auth tokens peers ● Use Auth and get tokens (user+pwd) ● Tokens shared across instances ● Leverage on Cassandra roles (RBAC) ● -Dstargate.auth_tokenttl =X
  • 18. Connecting to your cluster (Before) NODE NODE NODE NODE NODE NODE NODE developers Apps CQL CQL CQL CQL CQL Drivers CQL CQL
  • 19. Connecting to your cluster (with Stargate) NODE NODE NODE NODE NODE NODE NODE developers Apps Drivers HTTP Clients CQL CQL CQL CQL CQL Stargate CQL CQL CQL
  • 20. Connecting to your cluster (with Stargates) NODE NODE NODE NODE NODE NODE NODE developers Apps SDK CQL CQL CQL CQL CQL Stargate Stargate Stargate CQL CQL CQL CQL CQL Load Balancer (HTTP)
  • 21. 21 Exploring Apis Rest DML and DDL 02 Exploring Apis GraphQL and Federation 04 01 Tooling SDK, K8ssandra 05 Stargate Data gateway What, Why and How Agenda (40 min) 21 Exploring Apis Document oriented 03 What’s NEXT ? gRPC, CDC, sql... 05
  • 22. Stargate “REST” Api(s) ● Expose existing CQL schema as a RESTful endpoint, or create new CQL schema ● Most familiar API style for most teams ● Swagger integration Quick start: https://stargate.io/docs/stargate/1.0/quickstart/quick_start-rest.html
  • 23. REST Api(s) exposed DDL and best practices DML DDL (Schema) DML (data)
  • 24. Demo
  • 25. c Swagger UI GraphQL Playground Tools
  • 26. 26 Exploring Apis Rest DML and DDL 02 Exploring Apis GraphQL and Federation 04 01 Tooling SDK, K8ssandra 05 Stargate Data gateway What, Why and How Agenda (40 min) 26 Exploring Apis Document oriented 03 What’s NEXT ? gRPC, CDC, sql... 05
  • 27. Working with JSON and Cassandra ● Cassandra already handles both JSON and nested objects ○ INSERT JSON, SELECT JSON ○ Set<>, List<>,Map<>, and User Defined type (UDT) even nested ● ● But... ○ Strongly coupled with a SCHEMA VALIDATION ○ Dangerous with tombstones on updates
  • 28. “Schemaless” ● You want to insert and retrieve any JSON documents efficiently ● ● Allow “schemaless” (Validation less) ● ● Write to a single document is a single batch of statements ● ● Read from a single document is a single SELECT statement. ● ● Limit Tombstones with range deletes “What rules ?”
  • 29. Stargate Document API ● Schemaless! (validationless) ● Add any JSON document to a collection ● Uses “Document shredding” approach Quick start: https://stargate.io/docs/stargate/1.0/quickstart/quick_start-document.html
  • 33. Demo
  • 34. 34 Exploring Apis Rest DML and DDL 02 Exploring Apis GraphQL and Federation 04 01 Tooling SDK, K8ssandra 05 Stargate Data gateway What, Why and How Agenda (40 min) 34 Exploring Apis Document oriented 03 What’s NEXT ? gRPC, CDC, sql... 05
  • 35. History Created by Facebook 2012 Used internally for mobile apps 2015 Facebook give talk at ReactJs Conf Facebook open sourced graphQL 2015 GraphQL is an application programming interface (API) query language and server-side runtime that prioritises giving customers precisely the data they request. 2016 Github announced move to GQL Definition
  • 37. Stargate GraphQL API ● Expose existing CQL schema as a GraphQL endpoint ● Allows more fine-grained control of what fields returned ● In progress: federation across multiple services to join data ● Easy experimentation in GraphQL playground Quick start: https://stargate.io/docs/stargate/1.0/quickstart/quick_start-graphql.html
  • 40. Demo
  • 45. 45 Exploring Apis Rest DML and DDL 02 Exploring Apis GraphQL and Federation 04 01 Tooling SDK, K8ssandra 05 Stargate Data gateway What, Why and How Agenda (40 min) 45 Exploring Apis Document oriented 03 What’s NEXT ? gRPC, CDC, sql... 05
  • 46. Apache Cassandra® Cass-Operator Cassandra Medusa (backup/restore) Metrics Collector Reaper (repair) Graphql endpoint + Playground rest/doc API + Swagger Authentication Endpoint Reaper UI Traefik UI Prometheus UI Grafana CQL Endpoint
  • 47. Features Map REST DATA APIS V2 Prim.Key Rows Indexes UDT Keyspaces Tables DOCUMENT API V2 Namespaces Collections Documents Sub Doc.. Json Schema GraphQL V1 Tables Rows Prim.Key CQL FIRST GRPC CQL Schema FIRST Tables Keyspaces UDT Indexes Values Schemas Entity Mutations Query Federation CqlSession
  • 48. SDK in Java, Javascript, Python REST DATA APIS V2 Prim.Key Rows Indexes UDT Keyspaces Tables DOCUMENT API V2 Namespaces Collections Documents Sub Doc.. Json Schema GraphQL V1 Tables Rows Prim.Key CQL FIRST GRPC CQL Schema FIRST Tables Keyspaces UDT Indexes Values Schemas Entity Mutations Query Federation CqlSession
  • 49. Focus on Java SDK https://github.com/datastax/astra-sdk-java/wiki
  • 52. 52 Exploring Apis Rest DML and DDL 02 Exploring Apis GraphQL and Federation 04 01 Tooling SDK, K8ssandra 05 Stargate Data gateway What, Why and How Agenda (40 min) 52 Exploring Apis Document oriented 03 What’s NEXT ? gRPC, CDC, sql... 05
  • 53. What’s NEXT ? ● Apis ● GRPC (GA next month) ● Relational API ● Dynamo API ● Architecture ● SSO, KMS ● Architecture redesigned ● ZDD ● CDC