SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
MySQL Un-split brain

aka Move Back in Time
viagh-mysql-rewind
ShlomiNoach
GitHub
FOSDEM2019
About me
@github/database-infrastructure
Authoroforchestrator,gh-ost,freno,ccql
andothers.
Blogathttp://openark.org


github.com/shlomi-noach

@ShlomiNoach
GitHub

Built for developers
Largestopensourcehosting
100M+repositories,31M+developers,

2.1M+organizations
SupplierofoctocatT-Shirtsandstickers
Incentive
ExpectedMySQLsplitbrain,withunexpectedrequirement.
! !
!
!
!
!
! !
!
!
!
!
! !
!
!
!
!
! !
!
!
!
!
Failover & split brain
Incentive
Thetimeittooktorestoredataonthedemotedtopology
Incentive
Couldwejustrollbackthechangesandmovebackintime?
gh-mysql-rewind
Rewindadirtyserverbackintimeandconnectitasahealthy
replicainareplicationtopology.
Iteratively restore hosts into replication topology
! !
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
gh-mysql-rewind
How?
GTID
Thegoodparts
GTID
Eachserverkeepstrackof:
• gtid_executed: alltransactionseverexecuted:

00020192-1111-1111-1111-111111111111:1-130541
• gtid_purged: ofwhich,somemayhavebeenpurged:

00020192-1111-1111-1111-111111111111:1-120008
!
!
!
Binarylogs
! !
!
Binarylogs
Split brain: GTID contents
! !
!
!
!
!
Binarylogs
00020192-1111-1111-1111-111111111111:1-5042
Split brain: gtid_executed
gtid_executedondemotedmaster:
00020192-1111-1111-1111-111111111111:1-5000,

00020193-2222-2222-2222-222222222222:1-200
Split brain: gtid_executed
gtid_executedonpromotedmaster:
00020192-1111-1111-1111-111111111111:1-5042
-
00020192-1111-1111-1111-111111111111:5001-5042
00020192-1111-1111-1111-111111111111:1-5000,

00020193-2222-2222-2222-222222222222:1-200
Identifying bad GTID transactions
gtid_executed(demoted)-gtid_executed (promoted)
Row based replication
Withbinlog_row_image=FULL:
EachINSERT,DELETE,UPDATE isexpressedinthebinarylog
asthecompleterowimagebefore/afterchange.
Row based replication
BINLOG '
L9MtXBMBAAAANgAAAJAWAAAAAG4AAAAAAAEABG1ldGEACWhlYXJ0YmVhdAACAxEBBgCk9AE9
L9MtXB8BAAAAPAAAAMwWAAAAAG4AAAAAAAEAAgAC///8AQAAAFwt0y4BQYr8AQAAAFwt0y8BWKiT
IZN+
'/*!*/;
### UPDATE `meta`.`heartbeat`
### WHERE
### @1=1 /* INT meta=0 nullable=0 is_null=0 */
### @2=1546507054.082314 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */
### SET
### @1=1 /* INT meta=0 nullable=0 is_null=0 */
### @2=1546507055.088232 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */
# at 5836
#190103 11:17:35 server id 1 end_log_pos 5867 CRC32 0x2cf60376 Xid = 114
COMMIT/*!*/;
MariaDB, flashback
DevelopedbyAlibaba
ContributedtoMySQLandMariaDB
ImplementedinMariaDB’smysqlbinlog:
• mysqlbinlog --flashback
flashback example, pseudo code
insert(1, 'a')
insert(2, 'b')
insert(3, 'c')
update(2, 'b')->(2, 'second')
update(3, 'c')->(3, 'third')
insert(4, 'd')
delete(1, 'a')
insert(1, 'a')
delete(4, 'd')
update(3, 'third')->(3, 'c')
update(2, 'second')->(2, 'b')
delete(3, 'c')
delete(2, 'b')
delete(1, 'a')
rewind
GTIDprovidesinformationon“whatdiverged”.
flashbackprovidesthemechanicstoundochanges.
Now,whatexactlydoweneedtorewind?
Time axis
!
!
Rewind to split point
!
!
Rewind beyond split point
!
!
! !
!
Binarylogs
Finding bad transactions in binlogs
mysql-bin.0000620
mysql-bin.0000621
mysql-bin.0000622
mysql-bin.0000623
Finding bad transactions in binlogs
# at 4
#190103 11:17:14 server id 1 end_log_pos 123 CRC32 0x60730f6b Start: binlog v 4, server v 5.7.17-log created 190103 11:17:14 at
startup
ROLLBACK/*!*/;
BINLOG '
GtMtXA8BAAAAdwAAAHsAAAAAAAQANS43LjE3LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAa0y1cEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
AWsPc2A=
'/*!*/;
# at 123
#190103 11:17:14 server id 1 end_log_pos 194 CRC32 0x48f18c88 Previous-GTIDs
# 00020192-1111-1111-1111-111111111111:1-59023
# at 194
gh-mysql-rewind: preparation
• IdentifiesthebadGTIDtransactions.
• Identifieswhichbinarylogscontainthosetransactions.
• Generatesflashbackper-binlog
gh-mysql-rewind: inject GTID
MariaDB/flashbackdonotspeakMySQL-GTID.
WeusesomegoodoldawkhackingtoinjectdummyGTID
entries.
mysqlbinlog —flashback … | 

awk 'BEGIN {"uuidgen -r" |& getline u} /^BEGIN/
{c += 1 ; print "SET @@SESSION.GTID_NEXT=
x27" u ":" c "x27/*!*/;"} {print}' | sed -e s/',
@@session.check_constraint_checks=1//g’
gh-mysql-rewind: apply
catallthisintothebrokenMySQLserver.
Wehavenowrevertedtheserverintosomeconsistentpointin
history,ator(morelikely)beforethesplit.
!
gh-mysql-rewind: back in time
Havewejustmadethingsevenworse?
Wherearewe?
gtid_executedisamess!
Whathappensifwereconnectthe
serverintothetopology?
! !
!
Binarylogs
00020192-1111-1111-1111-111111111111:1-5042
-
00020192-1111-1111-1111-111111111111:1-4805
00020192-1111-1111-1111-111111111111:4806-5042
Computing target GTID
RESET MASTER

SET GLOBAL gtid_purged := <computation>
Join topology as healthy replica
CHANGE MASTER TO

MASTER_HOST=<healthy host>,

MASTER_AUTO_POSITION=1



⚡
! !
!
!
!
!
Limitations
CannotrewindDDL
JSON,POINTnotsupported
Fullbinlogrollbackmeansmorerecoverytime
Localrunoneachserver
Oneserveratatime
• Withcarefulplanning,theoperationcouldbeappliedona
singleserverandpropagatetoitsreplicas.
Testing
Isthisreliable?
Testing
Continuoustestinginproduction!
Testing
Ideally:checksumentiredata,contaminate,rewind,checksum
again.But…
• Datasetistoobig,testswouldtakedays
• Howcanwepredictwhere(inhistory)gh-mysql-rewindwill
dropusat?
! !
!
!
!
!
STOP SLAVE
CHANGE MASTER TO MASTER_AUTO_POSITION=1
Rotatesrelaylogs
FLUSH BINARY LOGS
Opensanewbinarylog
Wepredictthatgh-mysql-rewindwilldropusbackinto
currentposition.
Testing, a dedicated replica
START SLAVE IO_THREAD
Sleep30sec
STOP SLAVE
Weaggregate30secofproductiontrafficinarelaylog.
Testing: grab production data
!
Relaylog
Weparsetherelaylogandlistaffectedtables.
Weuseall“small”tables,
Andasingle“large”table.
Wechecksumallthesetables.
Testing: analyze production data
!
Relaylog
!
START SLAVE SQL_THREAD;
SELECT MASTER_POS_WAIT(<relaylog end
coordinates>)
Weapplytheentirecontentoftherelaylog
Testing: apply production dataRelaylog
Binarylog
!
Foreachtable,weissue:
DELETE FROM <t> ORDER BY id DESC LIMIT 10
DELETE FROM <t> LIMIT 10
Andtomakethingsworse:
START SLAVE
Sleep30sec
STOP SLAVE
Testing: contaminateRelaylog
Binarylog
! Replicationislikelytobebroken.Dataiscorrupted.
A mess.
Testing: gh-mysql-rewind
Connecttoahealthyserver.
gh-mysql-rewindwillrewindthedirtywrites,andpastthose
changes.
Ourchoiceof30secwasintentional:itwillrewindbackatour
FLUSHpoint.
! !
!
!
!
!
Testing: checksum
Wechecksumalltheaffectedtablesagain.Weexpect100%
match.
! !
!
!
!
!
Testing: iterate!
Thereplicaisbackinthetopology.
Waitforittocatchup,runagain,andagain,andagain.
Complementarytestexiststoconfirmour“pointofarrival”
calculationiscorrect,however,replicationsuccessmakesit
redundant.
! !
!
!
!
!
Expectations
Toneverusegh-mysql-rewind.
Torewind&joinreplicationwithinminutesasopposedtohours.
Smallerbinarylogscanhelp.
Status
Shellscript.
Tobereleasedshortlytothecommunity.
Atsomestageintegrateintoorchestrator.
Butforthat,wewillneedremoteaccess.
In development at MySQL
Query&manipulateGTIDovertheclientprotocol:
Questions?
github.com/shlomi-noach
@ShlomiNoach
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Kernel Recipes 2018 - Live (Kernel) Patching: status quo and status futurus -...
Kernel Recipes 2018 - Live (Kernel) Patching: status quo and status futurus -...Kernel Recipes 2018 - Live (Kernel) Patching: status quo and status futurus -...
Kernel Recipes 2018 - Live (Kernel) Patching: status quo and status futurus -...
 
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
 
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
 
Go 1.8 'new' networking features
Go 1.8 'new' networking featuresGo 1.8 'new' networking features
Go 1.8 'new' networking features
 
Turbo charge your logs
Turbo charge your logsTurbo charge your logs
Turbo charge your logs
 
BKK16-210 Migrating to the new dispatcher
BKK16-210 Migrating to the new dispatcherBKK16-210 Migrating to the new dispatcher
BKK16-210 Migrating to the new dispatcher
 
Git dvcs and Information Security Review
Git dvcs and Information Security ReviewGit dvcs and Information Security Review
Git dvcs and Information Security Review
 
BKK16-505 Kernel and Bootloader Consolidation and Upstreaming
BKK16-505 Kernel and Bootloader Consolidation and UpstreamingBKK16-505 Kernel and Bootloader Consolidation and Upstreaming
BKK16-505 Kernel and Bootloader Consolidation and Upstreaming
 
2009-01-20 RHEL 5.3 for System z
2009-01-20 RHEL 5.3 for System z2009-01-20 RHEL 5.3 for System z
2009-01-20 RHEL 5.3 for System z
 
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationBKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
 
BKK16-106 ODP Project Update
BKK16-106 ODP Project UpdateBKK16-106 ODP Project Update
BKK16-106 ODP Project Update
 
BKK16-309A Open Platform support in UEFI
BKK16-309A Open Platform support in UEFIBKK16-309A Open Platform support in UEFI
BKK16-309A Open Platform support in UEFI
 
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam RuzickaOSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
 
De Java 8 ate Java 14
De Java 8 ate Java 14De Java 8 ate Java 14
De Java 8 ate Java 14
 
Ganeti - build your own cloud
Ganeti - build your own cloudGaneti - build your own cloud
Ganeti - build your own cloud
 
De Java 8 a Java 11 y 14
De Java 8 a Java 11 y 14De Java 8 a Java 11 y 14
De Java 8 a Java 11 y 14
 
OpenERP 6.1 Framework Changes
OpenERP 6.1 Framework ChangesOpenERP 6.1 Framework Changes
OpenERP 6.1 Framework Changes
 
Manila project onboarding - OpenStack Summit/Forum Sydney 2017
Manila project onboarding - OpenStack Summit/Forum Sydney 2017Manila project onboarding - OpenStack Summit/Forum Sydney 2017
Manila project onboarding - OpenStack Summit/Forum Sydney 2017
 
BKK16-207 VLANd in LAVA
BKK16-207 VLANd in LAVABKK16-207 VLANd in LAVA
BKK16-207 VLANd in LAVA
 
PGConf.ASIA 2019 Bali - Setup a High-Availability and Load Balancing PostgreS...
PGConf.ASIA 2019 Bali - Setup a High-Availability and Load Balancing PostgreS...PGConf.ASIA 2019 Bali - Setup a High-Availability and Load Balancing PostgreS...
PGConf.ASIA 2019 Bali - Setup a High-Availability and Load Balancing PostgreS...
 

Ähnlich wie Un-split brain MySQL

marko_go_in_badoo
marko_go_in_badoomarko_go_in_badoo
marko_go_in_badoo
Marko Kevac
 
Varnish @ Velocity Ignite
Varnish @ Velocity IgniteVarnish @ Velocity Ignite
Varnish @ Velocity Ignite
Artur Bergman
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
Yiwei Ma
 
causos da linha de frente - #rsonrails 2011
causos da linha de frente - #rsonrails 2011causos da linha de frente - #rsonrails 2011
causos da linha de frente - #rsonrails 2011
bzanchet
 
glance replicator
glance replicatorglance replicator
glance replicator
irix_jp
 
Kettunen, miaubiz fuzzing at scale and in style
Kettunen, miaubiz   fuzzing at scale and in styleKettunen, miaubiz   fuzzing at scale and in style
Kettunen, miaubiz fuzzing at scale and in style
DefconRussia
 

Ähnlich wie Un-split brain MySQL (20)

marko_go_in_badoo
marko_go_in_badoomarko_go_in_badoo
marko_go_in_badoo
 
Haproxy - zastosowania
Haproxy - zastosowaniaHaproxy - zastosowania
Haproxy - zastosowania
 
Riding the Binlog: an in Deep Dissection of the Replication Stream
Riding the Binlog: an in Deep Dissection of the Replication StreamRiding the Binlog: an in Deep Dissection of the Replication Stream
Riding the Binlog: an in Deep Dissection of the Replication Stream
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Boss
 
Varnish @ Velocity Ignite
Varnish @ Velocity IgniteVarnish @ Velocity Ignite
Varnish @ Velocity Ignite
 
Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018
 
asyncio stack for web-development
asyncio stack for web-developmentasyncio stack for web-development
asyncio stack for web-development
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutions
 
Control hypervisor via libvirt
Control hypervisor via libvirtControl hypervisor via libvirt
Control hypervisor via libvirt
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
 
causos da linha de frente - #rsonrails 2011
causos da linha de frente - #rsonrails 2011causos da linha de frente - #rsonrails 2011
causos da linha de frente - #rsonrails 2011
 
MySQL 8.0 InnoDB Cluster demo
MySQL 8.0 InnoDB Cluster demoMySQL 8.0 InnoDB Cluster demo
MySQL 8.0 InnoDB Cluster demo
 
glance replicator
glance replicatorglance replicator
glance replicator
 
User Camp High Availability Presentation
User Camp High Availability PresentationUser Camp High Availability Presentation
User Camp High Availability Presentation
 
Kettunen, miaubiz fuzzing at scale and in style
Kettunen, miaubiz   fuzzing at scale and in styleKettunen, miaubiz   fuzzing at scale and in style
Kettunen, miaubiz fuzzing at scale and in style
 
Scaling mysql with python (and Docker).
Scaling mysql with python (and Docker).Scaling mysql with python (and Docker).
Scaling mysql with python (and Docker).
 
Bitcoin protocol for developers at techfest
Bitcoin protocol for developers at techfestBitcoin protocol for developers at techfest
Bitcoin protocol for developers at techfest
 
Developing with the Go client for Apache Kafka
Developing with the Go client for Apache KafkaDeveloping with the Go client for Apache Kafka
Developing with the Go client for Apache Kafka
 
Swift Install Workshop - OpenStack Conference Spring 2012
Swift Install Workshop - OpenStack Conference Spring 2012Swift Install Workshop - OpenStack Conference Spring 2012
Swift Install Workshop - OpenStack Conference Spring 2012
 

Mehr von Shlomi Noach (6)

MySQL DevOps at Outbrain
MySQL DevOps at OutbrainMySQL DevOps at Outbrain
MySQL DevOps at Outbrain
 
common_schema 2.2: DBA's framework for MySQL (April 2014)
common_schema 2.2: DBA's framework for MySQL (April 2014)common_schema 2.2: DBA's framework for MySQL (April 2014)
common_schema 2.2: DBA's framework for MySQL (April 2014)
 
common_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLcommon_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQL
 
openark-kit: MySQL utilities for everyday use
openark-kit: MySQL utilities for everyday useopenark-kit: MySQL utilities for everyday use
openark-kit: MySQL utilities for everyday use
 
Programmatic queries: things you can code with sql
Programmatic queries: things you can code with sqlProgrammatic queries: things you can code with sql
Programmatic queries: things you can code with sql
 
common_schema, DBA's framework for MySQL
common_schema, DBA's framework for MySQLcommon_schema, DBA's framework for MySQL
common_schema, DBA's framework for MySQL
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Un-split brain MySQL