SlideShare a Scribd company logo
1 of 12
Download to read offline
Query Processor(QP)
 Handling SQL statements
 Parsing: Checks syntax of SQL statements and creates parse tree
 Validation: Checks validity of SQL statements
 Optimization: Create execution plan for the optimized cost
 Execution: Run execution plan
Execution Plan
 Path direction, order, method are expressed in a tree format
Storage Manager(SM)
 Managers and saves data by concurrency control recovery
 ALTIBASE HDB Replication Methods
1. Handled by Client Application
• Additional effort required to author applications and
ensure data consistency
2. By Sending SQL Statements
• Increased QP load and requirement to check for
replication conflicts
3. By Sending SQL Statement Execution Plans
• Increased network load due to high volume of
transmission
4. By Sending Redo Logs and Converting Them to SQL
• Increased SQL conversion expense and QP load
5. By Converting Redo Logs in the SM to a
replayable Logical Form and Sending Them
• Some conversion expense is incurred, but replication
performance is good
6. By Sending Redo Logs and directly applying Them
• Performance is good, but this method is not compatible
with an Active-Active configuration
QP
SM
Redo
log
Sender
thread
Receiver
thread
SM
Redo
log
Local server Remote server
Xlog
 A Detailed Look at the SQL Statements Executed in the Course
of Replication
♦ An UPDATE statement that changes the contents of 3 records is
executed.
♦ The related redo logs are converted into 3 XLogs, which are then sent.
• Individual XLogs are sent in real time as soon as they are created.
♦ A total of 3 records change operations, each corresponding to an
individual XLog is executed on the remote server.
UPDATE rep_tbl
SET c2 = ‘X’
WHERE c1 >= 1
AND c1 <= 3;
execution #001
execution #002
execution #003
sender
redo log
Local Server Remote Server
TX Xlog
receiver
1
2
3
 Replication Object
 An object that must exist on both the local server and the remote
server in order for replication to be possible
 Name of replication objects have to be the same among servers
 Replication objects cannot be reassigned to other replication objects.(Only
1:1)
 Identified by IP and replication port number
 Up to 32 replication objects can be created in a single database.
 Multiple IPs per object are supported.
 Each pair of replication objects is set to either LAZY or EAGER mode.
IP: 192.133.1.2
REP_PORT: 30300
TABLE: X, Y
P
K
TABLE X
P
K
TABLE Y
P
K
TABLE … TABLE …
REP_OBJECT_XY
IP: 192.133.1.1
REP_PORT: 30300
TABLE: X, Y
P
K
TABLE X
P
K
TABLE Y
P
K
TABLE … TABLE …
REP_OBJECT_XY
DB#1 TO DB#2
DB#2 TO DB#1
DB#1 192.133.1.1 DB#2 192.133.1.2
 Condition for replication tables
♦ Must have PK
♦ The name and specifications for replication columns have to be
identical
• The column to be replicated is identified by its name out of all the records
• The number of columns and its orders are unnecessary when they are
different from local to remote server
• When data exists in a local server but not in a remote server, the NULL is
automatically assigned in a remote server
• The error is occurred when the specifications are different such as data
type, length, constraints when column name is the same
• FK is not available
 Misunderstanding about replication
♦ Is Sequence available in replication?
• As the replication is table based, the objects that excludes table are not
allowed such as sequence
 Creating replication object
♦ LAZY, EAGER : Replication type, assigned as LAZY when it’s omitted
♦ MASTER, SLAVE : Assigns server’s role for Conflict Resolution. Not
assigned when it’s omitted
♦ option : Additional functions for replication object such as offline replication
♦ replication_name : Replication object name and they have to be identical
between servers
♦ remote_host_ip : IP address of remote server
♦ remote_replication_port_no : Replication receive port number of remote
server
♦ FROM - TO : Target replication table has to be assigned as “ From Local –
TO Remote”
CREATE [LAZY|EAGER] REPLICATION replication_name [AS MASTER|AS SLAVE]
[OPTIONS options … [options … ] ]
WITH {‘remote_host_ip ‘ , remote_replication_port_no }
FROM user_name.table_name TO user_name.table_name ,
[FROM user_name.table_name TO user_name.table_name ] ;
 Add/Delete/Configure replication server IP(Multiple IP config.)
 Add/Delete replication table
 Delete replication object
ALTER REPLICATION replication_name {ADD|DROP|SET} HOST
‘remote_host_ip’ , remote_replication_port_no ;
ALTER REPLICATION replication_name {ADD|DROP} TABLE
FROM user_name.table_name TO user_name.table_name ;
DROP REPLICATION replication_name ;
 Replication Control
♦ START – Starts replication from the last replication point(Normal Start)
♦ QUICKSTART – Skips all the ‘Unsent Redo Logs’ and starts from most
recent point (For a fast start)
♦ STOP – Stops replication at current time
 Syntax
Unsent Redo LogsSent Redo Logs
Replication Gap
STOPSTART
START QUICKSTART
ALTER REPLICATION replication_name {START|QUICKSTART|STOP} ;
 Table Clone
♦ Cloning table is available using replication object
♦ Inserting all the records from local table to remote table
• Only available when replication is stopped
• Replication starts automatically once cloning is completed(START)
♦ Used when recovering particular table or node and when adding a new
node
 Simple Procedure
♦ ‘TRUNCATE’ the target table
♦ Execute ‘table clone statement’ at the
local server TABLE …
P
K
TABLE X
P
K
TABLE X
TABLE: X
REP_OBJ
INSERT
TABLE …
 Syntax
♦ SYNC: Automatically starts replication after table cloning is executed
♦ ONLY: Only table cloning is executed but it does not start (START)
replication automatically
♦ parallel_factor : Number of threads that will execute table
cloning(Default 1, Maximum CPU*2)
♦ TABLE: Assign a target table for cloning but entire tables are applied
when this option is omitted
ALTER REPLICATION replication_name SYNC [ONLY]
[PARALLEL parallel_factor ]
[TABLE user_name.table_name, … , user_name.table_name ];
 Cautions
♦ It shouldn’t be executed on a Active-Active environment when a system
is operating
• Other tables of replication object are not replicated until the table cloning is
completed
♦ It has to be executed after all the table records from remote servers are
deleted
• Cloning fails due to INSERT conflicts occurred when the same PK exists
• There may be a overloading on DBMS due to INSERT operation of same
PK
• Large amount of INSERT conflicts errors recorded in replication trace log
file
♦ ‘TRUNCATE’ statement is recommended when deleting table records
from remote server
• User’s mistake – When the records from local server is deleted as the
records from remote server is deleted by ‘DELETE’ statement

More Related Content

What's hot

Performance Profiling in Rust
Performance Profiling in RustPerformance Profiling in Rust
Performance Profiling in RustInfluxData
 
Diving Into Memory Allocation to Understand Buffer Overflow Better
Diving Into Memory Allocation to Understand Buffer Overflow BetterDiving Into Memory Allocation to Understand Buffer Overflow Better
Diving Into Memory Allocation to Understand Buffer Overflow BetterOguzhan Topgul
 
PL-SQL DIFFERENT PROGRAMS
PL-SQL DIFFERENT PROGRAMSPL-SQL DIFFERENT PROGRAMS
PL-SQL DIFFERENT PROGRAMSraj upadhyay
 
Globus Endpoint Administration (GlobusWorld Tour - STFC)
Globus Endpoint Administration (GlobusWorld Tour - STFC)Globus Endpoint Administration (GlobusWorld Tour - STFC)
Globus Endpoint Administration (GlobusWorld Tour - STFC)Globus
 
InfiniFlux collector
InfiniFlux collectorInfiniFlux collector
InfiniFlux collectorInfiniFlux
 
Performance Teting - VU Scripting Using Rational (http://www.geektester.blogs...
Performance Teting - VU Scripting Using Rational (http://www.geektester.blogs...Performance Teting - VU Scripting Using Rational (http://www.geektester.blogs...
Performance Teting - VU Scripting Using Rational (http://www.geektester.blogs...raj.kamal13
 
Apache Flink Stream Processing
Apache Flink Stream ProcessingApache Flink Stream Processing
Apache Flink Stream ProcessingSuneel Marthi
 
Deployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server requiredDeployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server requiredSarwar Javaid
 
Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)dantleech
 
Aura Project for PHP
Aura Project for PHPAura Project for PHP
Aura Project for PHPHari K T
 
Linux-Fu for PHP Developers
Linux-Fu for PHP DevelopersLinux-Fu for PHP Developers
Linux-Fu for PHP DevelopersLorna Mitchell
 

What's hot (20)

Performance Profiling in Rust
Performance Profiling in RustPerformance Profiling in Rust
Performance Profiling in Rust
 
Diving Into Memory Allocation to Understand Buffer Overflow Better
Diving Into Memory Allocation to Understand Buffer Overflow BetterDiving Into Memory Allocation to Understand Buffer Overflow Better
Diving Into Memory Allocation to Understand Buffer Overflow Better
 
9.1 Grand Tour
9.1 Grand Tour9.1 Grand Tour
9.1 Grand Tour
 
PL-SQL DIFFERENT PROGRAMS
PL-SQL DIFFERENT PROGRAMSPL-SQL DIFFERENT PROGRAMS
PL-SQL DIFFERENT PROGRAMS
 
Globus Endpoint Administration (GlobusWorld Tour - STFC)
Globus Endpoint Administration (GlobusWorld Tour - STFC)Globus Endpoint Administration (GlobusWorld Tour - STFC)
Globus Endpoint Administration (GlobusWorld Tour - STFC)
 
Software Exploitation Techniques by Amit Malik
Software Exploitation Techniques by Amit MalikSoftware Exploitation Techniques by Amit Malik
Software Exploitation Techniques by Amit Malik
 
Mysql
MysqlMysql
Mysql
 
InfiniFlux collector
InfiniFlux collectorInfiniFlux collector
InfiniFlux collector
 
Performance Teting - VU Scripting Using Rational (http://www.geektester.blogs...
Performance Teting - VU Scripting Using Rational (http://www.geektester.blogs...Performance Teting - VU Scripting Using Rational (http://www.geektester.blogs...
Performance Teting - VU Scripting Using Rational (http://www.geektester.blogs...
 
ClickHouse Keeper
ClickHouse KeeperClickHouse Keeper
ClickHouse Keeper
 
Apache Flink Stream Processing
Apache Flink Stream ProcessingApache Flink Stream Processing
Apache Flink Stream Processing
 
Deployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server requiredDeployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server required
 
Fabric Fast & Furious edition
Fabric Fast & Furious editionFabric Fast & Furious edition
Fabric Fast & Furious edition
 
Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)
 
Single Pass Assembler
Single Pass AssemblerSingle Pass Assembler
Single Pass Assembler
 
Donetsk.py - fabric
Donetsk.py -  fabricDonetsk.py -  fabric
Donetsk.py - fabric
 
Aura Project for PHP
Aura Project for PHPAura Project for PHP
Aura Project for PHP
 
My sql
My sqlMy sql
My sql
 
Linux-Fu for PHP Developers
Linux-Fu for PHP DevelopersLinux-Fu for PHP Developers
Linux-Fu for PHP Developers
 
Hadoop on osx
Hadoop on osxHadoop on osx
Hadoop on osx
 

Similar to [Altibase] 9 replication part2 (methods and controls)

Rdbms chapter 1 function
Rdbms chapter 1 functionRdbms chapter 1 function
Rdbms chapter 1 functiondipumaliy
 
[Altibase] 12 replication part5 (optimization and monitoring)
[Altibase] 12 replication part5 (optimization and monitoring)[Altibase] 12 replication part5 (optimization and monitoring)
[Altibase] 12 replication part5 (optimization and monitoring)altistory
 
SAP HANA Distributed System Scaleout and HA
SAP HANA Distributed System Scaleout and HASAP HANA Distributed System Scaleout and HA
SAP HANA Distributed System Scaleout and HALinh Nguyen
 
Oracle10g New Features I
Oracle10g New Features IOracle10g New Features I
Oracle10g New Features IDenish Patel
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slidesmetsarin
 
Demystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live scDemystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live scEmanuel Calvo
 
Case_Study_-_Advanced_Oracle_PLSQL
Case_Study_-_Advanced_Oracle_PLSQLCase_Study_-_Advanced_Oracle_PLSQL
Case_Study_-_Advanced_Oracle_PLSQLZiemowit Jankowski
 
Cooking Cassandra
Cooking CassandraCooking Cassandra
Cooking CassandraOpen-IT
 
Logical Replication in PostgreSQL
Logical Replication in PostgreSQLLogical Replication in PostgreSQL
Logical Replication in PostgreSQLEDB
 
Nov. 4, 2011 o reilly webcast-hbase- lars george
Nov. 4, 2011 o reilly webcast-hbase- lars georgeNov. 4, 2011 o reilly webcast-hbase- lars george
Nov. 4, 2011 o reilly webcast-hbase- lars georgeO'Reilly Media
 
Properly Use Parallel DML for ETL
Properly Use Parallel DML for ETLProperly Use Parallel DML for ETL
Properly Use Parallel DML for ETLAndrej Pashchenko
 
Postgres Vienna DB Meetup 2014
Postgres Vienna DB Meetup 2014Postgres Vienna DB Meetup 2014
Postgres Vienna DB Meetup 2014Michael Renner
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Alex Zaballa
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAiougVizagChapter
 
PofEAA and SQLAlchemy
PofEAA and SQLAlchemyPofEAA and SQLAlchemy
PofEAA and SQLAlchemyInada Naoki
 

Similar to [Altibase] 9 replication part2 (methods and controls) (20)

Rdbms chapter 1 function
Rdbms chapter 1 functionRdbms chapter 1 function
Rdbms chapter 1 function
 
[Altibase] 12 replication part5 (optimization and monitoring)
[Altibase] 12 replication part5 (optimization and monitoring)[Altibase] 12 replication part5 (optimization and monitoring)
[Altibase] 12 replication part5 (optimization and monitoring)
 
SAP HANA Distributed System Scaleout and HA
SAP HANA Distributed System Scaleout and HASAP HANA Distributed System Scaleout and HA
SAP HANA Distributed System Scaleout and HA
 
Oracle10g New Features I
Oracle10g New Features IOracle10g New Features I
Oracle10g New Features I
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
 
Demystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live scDemystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live sc
 
test
testtest
test
 
Plproxy
PlproxyPlproxy
Plproxy
 
Table functions - Planboard Symposium 2013
Table functions - Planboard Symposium 2013Table functions - Planboard Symposium 2013
Table functions - Planboard Symposium 2013
 
Case_Study_-_Advanced_Oracle_PLSQL
Case_Study_-_Advanced_Oracle_PLSQLCase_Study_-_Advanced_Oracle_PLSQL
Case_Study_-_Advanced_Oracle_PLSQL
 
Cooking Cassandra
Cooking CassandraCooking Cassandra
Cooking Cassandra
 
Logical Replication in PostgreSQL
Logical Replication in PostgreSQLLogical Replication in PostgreSQL
Logical Replication in PostgreSQL
 
Lua Study Share
Lua Study ShareLua Study Share
Lua Study Share
 
8. sql
8. sql8. sql
8. sql
 
Nov. 4, 2011 o reilly webcast-hbase- lars george
Nov. 4, 2011 o reilly webcast-hbase- lars georgeNov. 4, 2011 o reilly webcast-hbase- lars george
Nov. 4, 2011 o reilly webcast-hbase- lars george
 
Properly Use Parallel DML for ETL
Properly Use Parallel DML for ETLProperly Use Parallel DML for ETL
Properly Use Parallel DML for ETL
 
Postgres Vienna DB Meetup 2014
Postgres Vienna DB Meetup 2014Postgres Vienna DB Meetup 2014
Postgres Vienna DB Meetup 2014
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
PofEAA and SQLAlchemy
PofEAA and SQLAlchemyPofEAA and SQLAlchemy
PofEAA and SQLAlchemy
 

More from altistory

[Altibase] 4-5 summary of tablespace management
[Altibase] 4-5 summary of tablespace management[Altibase] 4-5 summary of tablespace management
[Altibase] 4-5 summary of tablespace managementaltistory
 
[Altibase] 13 backup and recovery
[Altibase] 13 backup and recovery[Altibase] 13 backup and recovery
[Altibase] 13 backup and recoveryaltistory
 
[Altibase] 11 replication part4 (conflict resolution)
[Altibase] 11 replication part4 (conflict resolution)[Altibase] 11 replication part4 (conflict resolution)
[Altibase] 11 replication part4 (conflict resolution)altistory
 
[Altibase] 10 replication part3 (system design)
[Altibase] 10 replication part3 (system design)[Altibase] 10 replication part3 (system design)
[Altibase] 10 replication part3 (system design)altistory
 
[Altibase] 8 replication part1 (overview)
[Altibase] 8 replication part1 (overview)[Altibase] 8 replication part1 (overview)
[Altibase] 8 replication part1 (overview)altistory
 
[Altibase] 7 how the buffer is managed in altibase
[Altibase] 7 how the buffer is managed in altibase[Altibase] 7 how the buffer is managed in altibase
[Altibase] 7 how the buffer is managed in altibasealtistory
 
[Altibase] 6 what is the mvcc
[Altibase] 6 what is the mvcc[Altibase] 6 what is the mvcc
[Altibase] 6 what is the mvccaltistory
 
[Altibase] 5 durability
[Altibase] 5 durability[Altibase] 5 durability
[Altibase] 5 durabilityaltistory
 
[Altibase] 4-4 disk tablespace
[Altibase] 4-4 disk tablespace[Altibase] 4-4 disk tablespace
[Altibase] 4-4 disk tablespacealtistory
 
[Altibase] 4-3 volatile tablespace
[Altibase] 4-3 volatile tablespace[Altibase] 4-3 volatile tablespace
[Altibase] 4-3 volatile tablespacealtistory
 
[Altibase] 4-2 memory tablespace
[Altibase] 4-2 memory tablespace[Altibase] 4-2 memory tablespace
[Altibase] 4-2 memory tablespacealtistory
 
[Altibase] 4-1 tablespace concept
[Altibase] 4-1 tablespace concept[Altibase] 4-1 tablespace concept
[Altibase] 4-1 tablespace conceptaltistory
 
[Altibase] 3-3 directory contents
[Altibase] 3-3 directory contents[Altibase] 3-3 directory contents
[Altibase] 3-3 directory contentsaltistory
 
[Altibase] 3-1 architecture
[Altibase] 3-1 architecture[Altibase] 3-1 architecture
[Altibase] 3-1 architecturealtistory
 
[Altibase] 2-4 sql functions
[Altibase] 2-4 sql functions[Altibase] 2-4 sql functions
[Altibase] 2-4 sql functionsaltistory
 
[Altibase] 2-3 general functions
[Altibase] 2-3 general functions[Altibase] 2-3 general functions
[Altibase] 2-3 general functionsaltistory
 
[Altibase] 2-2 Altibase storage
[Altibase] 2-2 Altibase storage[Altibase] 2-2 Altibase storage
[Altibase] 2-2 Altibase storagealtistory
 
[Altibase] 2-1 features
[Altibase] 2-1 features[Altibase] 2-1 features
[Altibase] 2-1 featuresaltistory
 
[Altibase] 1-5 hybrid dbms
[Altibase] 1-5 hybrid dbms[Altibase] 1-5 hybrid dbms
[Altibase] 1-5 hybrid dbmsaltistory
 
[Altibase] 1-4 data differentiation
[Altibase] 1-4 data differentiation[Altibase] 1-4 data differentiation
[Altibase] 1-4 data differentiationaltistory
 

More from altistory (20)

[Altibase] 4-5 summary of tablespace management
[Altibase] 4-5 summary of tablespace management[Altibase] 4-5 summary of tablespace management
[Altibase] 4-5 summary of tablespace management
 
[Altibase] 13 backup and recovery
[Altibase] 13 backup and recovery[Altibase] 13 backup and recovery
[Altibase] 13 backup and recovery
 
[Altibase] 11 replication part4 (conflict resolution)
[Altibase] 11 replication part4 (conflict resolution)[Altibase] 11 replication part4 (conflict resolution)
[Altibase] 11 replication part4 (conflict resolution)
 
[Altibase] 10 replication part3 (system design)
[Altibase] 10 replication part3 (system design)[Altibase] 10 replication part3 (system design)
[Altibase] 10 replication part3 (system design)
 
[Altibase] 8 replication part1 (overview)
[Altibase] 8 replication part1 (overview)[Altibase] 8 replication part1 (overview)
[Altibase] 8 replication part1 (overview)
 
[Altibase] 7 how the buffer is managed in altibase
[Altibase] 7 how the buffer is managed in altibase[Altibase] 7 how the buffer is managed in altibase
[Altibase] 7 how the buffer is managed in altibase
 
[Altibase] 6 what is the mvcc
[Altibase] 6 what is the mvcc[Altibase] 6 what is the mvcc
[Altibase] 6 what is the mvcc
 
[Altibase] 5 durability
[Altibase] 5 durability[Altibase] 5 durability
[Altibase] 5 durability
 
[Altibase] 4-4 disk tablespace
[Altibase] 4-4 disk tablespace[Altibase] 4-4 disk tablespace
[Altibase] 4-4 disk tablespace
 
[Altibase] 4-3 volatile tablespace
[Altibase] 4-3 volatile tablespace[Altibase] 4-3 volatile tablespace
[Altibase] 4-3 volatile tablespace
 
[Altibase] 4-2 memory tablespace
[Altibase] 4-2 memory tablespace[Altibase] 4-2 memory tablespace
[Altibase] 4-2 memory tablespace
 
[Altibase] 4-1 tablespace concept
[Altibase] 4-1 tablespace concept[Altibase] 4-1 tablespace concept
[Altibase] 4-1 tablespace concept
 
[Altibase] 3-3 directory contents
[Altibase] 3-3 directory contents[Altibase] 3-3 directory contents
[Altibase] 3-3 directory contents
 
[Altibase] 3-1 architecture
[Altibase] 3-1 architecture[Altibase] 3-1 architecture
[Altibase] 3-1 architecture
 
[Altibase] 2-4 sql functions
[Altibase] 2-4 sql functions[Altibase] 2-4 sql functions
[Altibase] 2-4 sql functions
 
[Altibase] 2-3 general functions
[Altibase] 2-3 general functions[Altibase] 2-3 general functions
[Altibase] 2-3 general functions
 
[Altibase] 2-2 Altibase storage
[Altibase] 2-2 Altibase storage[Altibase] 2-2 Altibase storage
[Altibase] 2-2 Altibase storage
 
[Altibase] 2-1 features
[Altibase] 2-1 features[Altibase] 2-1 features
[Altibase] 2-1 features
 
[Altibase] 1-5 hybrid dbms
[Altibase] 1-5 hybrid dbms[Altibase] 1-5 hybrid dbms
[Altibase] 1-5 hybrid dbms
 
[Altibase] 1-4 data differentiation
[Altibase] 1-4 data differentiation[Altibase] 1-4 data differentiation
[Altibase] 1-4 data differentiation
 

Recently uploaded

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 

Recently uploaded (20)

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 

[Altibase] 9 replication part2 (methods and controls)

  • 1. Query Processor(QP)  Handling SQL statements  Parsing: Checks syntax of SQL statements and creates parse tree  Validation: Checks validity of SQL statements  Optimization: Create execution plan for the optimized cost  Execution: Run execution plan Execution Plan  Path direction, order, method are expressed in a tree format Storage Manager(SM)  Managers and saves data by concurrency control recovery
  • 2.  ALTIBASE HDB Replication Methods 1. Handled by Client Application • Additional effort required to author applications and ensure data consistency 2. By Sending SQL Statements • Increased QP load and requirement to check for replication conflicts 3. By Sending SQL Statement Execution Plans • Increased network load due to high volume of transmission 4. By Sending Redo Logs and Converting Them to SQL • Increased SQL conversion expense and QP load 5. By Converting Redo Logs in the SM to a replayable Logical Form and Sending Them • Some conversion expense is incurred, but replication performance is good 6. By Sending Redo Logs and directly applying Them • Performance is good, but this method is not compatible with an Active-Active configuration
  • 4.  A Detailed Look at the SQL Statements Executed in the Course of Replication ♦ An UPDATE statement that changes the contents of 3 records is executed. ♦ The related redo logs are converted into 3 XLogs, which are then sent. • Individual XLogs are sent in real time as soon as they are created. ♦ A total of 3 records change operations, each corresponding to an individual XLog is executed on the remote server. UPDATE rep_tbl SET c2 = ‘X’ WHERE c1 >= 1 AND c1 <= 3; execution #001 execution #002 execution #003 sender redo log Local Server Remote Server TX Xlog receiver 1 2 3
  • 5.  Replication Object  An object that must exist on both the local server and the remote server in order for replication to be possible  Name of replication objects have to be the same among servers  Replication objects cannot be reassigned to other replication objects.(Only 1:1)  Identified by IP and replication port number  Up to 32 replication objects can be created in a single database.  Multiple IPs per object are supported.  Each pair of replication objects is set to either LAZY or EAGER mode. IP: 192.133.1.2 REP_PORT: 30300 TABLE: X, Y P K TABLE X P K TABLE Y P K TABLE … TABLE … REP_OBJECT_XY IP: 192.133.1.1 REP_PORT: 30300 TABLE: X, Y P K TABLE X P K TABLE Y P K TABLE … TABLE … REP_OBJECT_XY DB#1 TO DB#2 DB#2 TO DB#1 DB#1 192.133.1.1 DB#2 192.133.1.2
  • 6.  Condition for replication tables ♦ Must have PK ♦ The name and specifications for replication columns have to be identical • The column to be replicated is identified by its name out of all the records • The number of columns and its orders are unnecessary when they are different from local to remote server • When data exists in a local server but not in a remote server, the NULL is automatically assigned in a remote server • The error is occurred when the specifications are different such as data type, length, constraints when column name is the same • FK is not available  Misunderstanding about replication ♦ Is Sequence available in replication? • As the replication is table based, the objects that excludes table are not allowed such as sequence
  • 7.  Creating replication object ♦ LAZY, EAGER : Replication type, assigned as LAZY when it’s omitted ♦ MASTER, SLAVE : Assigns server’s role for Conflict Resolution. Not assigned when it’s omitted ♦ option : Additional functions for replication object such as offline replication ♦ replication_name : Replication object name and they have to be identical between servers ♦ remote_host_ip : IP address of remote server ♦ remote_replication_port_no : Replication receive port number of remote server ♦ FROM - TO : Target replication table has to be assigned as “ From Local – TO Remote” CREATE [LAZY|EAGER] REPLICATION replication_name [AS MASTER|AS SLAVE] [OPTIONS options … [options … ] ] WITH {‘remote_host_ip ‘ , remote_replication_port_no } FROM user_name.table_name TO user_name.table_name , [FROM user_name.table_name TO user_name.table_name ] ;
  • 8.  Add/Delete/Configure replication server IP(Multiple IP config.)  Add/Delete replication table  Delete replication object ALTER REPLICATION replication_name {ADD|DROP|SET} HOST ‘remote_host_ip’ , remote_replication_port_no ; ALTER REPLICATION replication_name {ADD|DROP} TABLE FROM user_name.table_name TO user_name.table_name ; DROP REPLICATION replication_name ;
  • 9.  Replication Control ♦ START – Starts replication from the last replication point(Normal Start) ♦ QUICKSTART – Skips all the ‘Unsent Redo Logs’ and starts from most recent point (For a fast start) ♦ STOP – Stops replication at current time  Syntax Unsent Redo LogsSent Redo Logs Replication Gap STOPSTART START QUICKSTART ALTER REPLICATION replication_name {START|QUICKSTART|STOP} ;
  • 10.  Table Clone ♦ Cloning table is available using replication object ♦ Inserting all the records from local table to remote table • Only available when replication is stopped • Replication starts automatically once cloning is completed(START) ♦ Used when recovering particular table or node and when adding a new node  Simple Procedure ♦ ‘TRUNCATE’ the target table ♦ Execute ‘table clone statement’ at the local server TABLE … P K TABLE X P K TABLE X TABLE: X REP_OBJ INSERT TABLE …
  • 11.  Syntax ♦ SYNC: Automatically starts replication after table cloning is executed ♦ ONLY: Only table cloning is executed but it does not start (START) replication automatically ♦ parallel_factor : Number of threads that will execute table cloning(Default 1, Maximum CPU*2) ♦ TABLE: Assign a target table for cloning but entire tables are applied when this option is omitted ALTER REPLICATION replication_name SYNC [ONLY] [PARALLEL parallel_factor ] [TABLE user_name.table_name, … , user_name.table_name ];
  • 12.  Cautions ♦ It shouldn’t be executed on a Active-Active environment when a system is operating • Other tables of replication object are not replicated until the table cloning is completed ♦ It has to be executed after all the table records from remote servers are deleted • Cloning fails due to INSERT conflicts occurred when the same PK exists • There may be a overloading on DBMS due to INSERT operation of same PK • Large amount of INSERT conflicts errors recorded in replication trace log file ♦ ‘TRUNCATE’ statement is recommended when deleting table records from remote server • User’s mistake – When the records from local server is deleted as the records from remote server is deleted by ‘DELETE’ statement