Utilizza l'instradamento delle istruzioni efficiente abilitando ProxySQL su Autonomous Database
ProxySQL consente l'accesso unificato a più database autonomi instradando le istruzioni per DML e query ed elimina la necessità di consolidare fisicamente tutti i dati in un unico database.
Argomenti
- Informazioni sull'instradamento efficiente delle istruzioni con ProxySQL su Autonomous Database
ProxySQL su Autonomous Database consente di utilizzare più istanze di Autonomous Database e semplifica l'accesso e l'analisi dei dati come se fossero memorizzati in un'unica posizione. - Abilita instradamento istruzione e Definisci mapping schema
In questa sezione viene descritto come impostare ProxySQL per l'instradamento automatico delle istruzioni da un router principale a una o più istanze di database di destinazione. - Invia istruzioni tramite ProxySQL
Per utilizzare l'instradamento automatico delle istruzioni, è necessario connettersi e sottomettere le istruzioni all'istanza del router gestita da ProxySQL. - Arresta istruzioni di instradamento a un'istanza di destinazione
Eseguire questi passi in un Autonomous Database di destinazione per impedirgli di accettare le istruzioni instradate dal router ProxySQL. - Rimuovi schema o mapping oggetto da istanza router
Fornisce i passi per rimuovere un mapping specifico dal database router gestito da ProxySQL. - Disabilita instradamento rendiconto
Mostra i passi per l'instradamento automatico dei rendiconti disabilitando ProxySQL. - Instradamento automatico istruzioni con note ProxySQL
Elenca le limitazioni e le note importanti relative all'instradamento automatico delle istruzioni quando ProxySQL è abilitato.
Argomento padre: Usa e gestisci i pool elastici su Autonomous Database
Informazioni sull'instradamento efficiente delle istruzioni con ProxySQL su Autonomous Database
ProxySQL su Autonomous Database ti consente di utilizzare più istanze di Autonomous Database e semplifica l'accesso e l'analisi dei dati come se fossero memorizzati in un'unica posizione.
È possibile utilizzare ProxySQL quando è necessario utilizzare un'impostazione di grandi dimensioni che coinvolge più database autonomi. ProxySQL ti offre l'accesso unificato a database diversi e rimuove la necessità di spostare fisicamente i dati in un'unica posizione.
Quando si abilita ProxySQL, si designa un'istanza di Autonomous Database come istanza router e una o più istanze di Autonomous Database sono istanze di destinazione. L'istanza del router include una tabella di instradamento che determina il modo in cui un'istruzione viene distribuita (mappata) a una o più istanze di destinazione. Un'istanza di destinazione include una tabella di accettazione. La tabella di accettazione è simile alla tabella di instradamento e contiene voci che specificano che l'istanza accetta i reindirizzamenti delle istruzioni dal router.
A seconda del metodo di instradamento selezionato, le istruzioni vengono mappate automaticamente dall'istanza router a una o più istanze di destinazione. Un'applicazione si connette all'istanza del router ed viene eseguita sull'istanza del router e Autonomous Database reindirizza le istruzioni a una o più istanze di destinazione.
Di seguito sono riportati alcuni dei vantaggi derivanti dall'abilitazione di ProxySQL rispetto all'utilizzo di un singolo Autonomous Database di grandi dimensioni.
-
ProxySQL offre autonomia e indipendenza del database per operazioni come la gestione del ciclo di vita e le attività di amministrazione. Ad esempio, utilizzando ProxySQL, le operazioni del database, inclusi backup e ripristino, e funzioni come Autonomous Data Guard vengono gestite in modo indipendente in ogni istanza di Autonomous Database.
-
ProxySQL ti consente di gestire in modo efficiente database molto grandi dividendo i dati su più istanze di Autonomous Database.
Ci sono diversi termini da sapere quando si lavora con ProxySQL:
Istanza router: un'istanza del router viene designata quando si abilita ProxySQL. Una tabella di instradamento determina la modalità di distribuzione (mappata) di un'istruzione a una o più istanze di destinazione. A seconda del metodo di instradamento specificato, le istruzioni dell'istanza router vengono mappate automaticamente a una o più istanze di destinazione.
Istanza di destinazione: l'istanza di destinazione viene designata quando si crea un mapping sull'istanza del router. Viene aggiunta una tabella di accettazione in ogni istanza di destinazione.
Tabella di instradamento: una tabella di instradamento contiene voci di mapping di destinazione che specificano l'istanza a cui vengono instradati automaticamente i rendiconti.
Tabella di accettazione: una tabella di accettazione contiene voci che specificano che l'istanza accetta i reindirizzamenti dell'istruzione dal router.
Requisiti per utilizzare ProxySQL
Di seguito sono elencati i requisiti ProxySQL.
-
L'abilitazione di ProxySQL è supportata solo per le istanze di Autonomous Database che si trovano in un pool elastico. L'istanza router e tutte le istanze di destinazione devono essere membri dello stesso pool elastico.
-
L'istanza del router e tutte le istanze di destinazione devono trovarsi nella stessa area.
-
I metadati per gli oggetti instradati devono corrispondere sulle istanze router e di destinazione. È responsabilità del designer dell'applicazione che i metadati per gli oggetti presenti in un'istanza di destinazione siano presenti anche nell'istanza del router. Ad esempio, se nell'istanza di destinazione è presente una tabella denominata
EMPLOYEES
, nell'istanza del router deve essere presente anche una tabella con metadati corrispondenti denominatiEMPLOYEES
. La tabella nell'istanza del router non deve essere vuota (solo metadati).
Suggerimento per l'abilitazione di ProxySQL
Le istanze aggiunte come router e come destinazioni possono essere di qualsiasi tipo di carico di lavoro Autonomous Database. Se nella tabella di instradamento (mapping) sono presenti voci, le istruzioni sugli oggetti specificati in tali voci vengono instradate alle istanze di destinazione corrispondenti indipendentemente dal tipo di carico di lavoro della destinazione. Oracle consiglia a tutte le istanze di database theAutonomous di utilizzare il tipo di carico di lavoro Data Warehouse.
Instradamento automatico rendiconto con ProxySQL abilitato
Utilizzando ProxySQL è possibile distribuire le istruzioni tra le destinazioni utilizzando uno qualsiasi dei metodi di instradamento supportati.
Qualunque sia il metodo di instradamento (mapping) che si decide di utilizzare, è responsabilità di Application Schema Designer assicurarsi che i metadati per gli oggetti posizionati in un'istanza di destinazione siano disponibili anche nell'istanza del router. Ad esempio, se nell'istanza di destinazione è presente una tabella denominata
EMPLOYEES
, nell'istanza del router deve essere presente anche una tabella con metadati corrispondenti denominati EMPLOYEES
. La tabella nell'istanza del router non deve essere vuota.
-
Instradamento a livello di schema: tutti gli oggetti di uno schema vengono mappati a una singola istanza di destinazione. È possibile eseguire il mapping di più schemi a una singola istanza di destinazione. Tuttavia, le istruzioni per uno schema non possono essere mappate su più istanze di destinazione, il che significa che lo stesso schema non può essere utilizzato sia per lo schema che per l'instradamento degli oggetti.
Per specificare l'instradamento a livello di schema, chiamare la procedura
DBMS_PROXY_SQL.ADD_MAPPING
con il parametroobject_name
impostato sul valore "*".
Descrizione dell'illustrazione proxysql-schema.png
In questo esempio, i metadati per gli oggetti nello schema A sono presenti sia nell'istanza di destinazione Autonomous Database 1 che nell'istanza del router e i metadati per gli oggetti nello schema B sono presenti sia nell'istanza di destinazione Autonomous Database 2 che nell'istanza del router e così via.
-
Instradamento a livello di oggetto: gli oggetti in uno schema vengono mappati su più istanze di destinazione.
Per specificare l'instradamento a livello di oggetto, chiamare la procedura
DBMS_PROXY_SQL.ADD_MAPPING
con il parametroobject_name
impostato su un nome di tabella.
Descrizione dell'illustrazione proxysql-object.png
In questo esempio, i metadati per la tabella A sono presenti sia nella destinazione 1 che nell'istanza del router e i metadati per la tabella B sono presenti sia nella destinazione 2 che nell'istanza del router e così via.
-
Instradamento ibrido: gli oggetti di uno schema vengono instradati utilizzando una combinazione di instradamento a livello di schema e instradamento a livello di oggetto.
Descrizione dell'illustrazione proxysql-hybrid.png
In questo esempio, i metadati per lo schema A sono presenti sia nell'istanza di destinazione di Autonomous Database 1 che nell'istanza del router e i metadati per la tabella B (nello schema B) sono presenti sia nell'istanza di destinazione di Autonomous Database 2 che nell'istanza del router e così via.
Mapping servizio con instradamento automatico rendiconto quando ProxySQL è abilitato
Quando la tabella di instradamento indica un mapping a un database di destinazione, lo stesso servizio connesso al database router viene utilizzato per l'accesso ai dati nel database di destinazione.
Ad esempio, se una sessione è connessa al servizio HIGH nell'istanza del router, anche un frammento di istruzione o istruzione instradato a un'istanza di destinazione utilizza il servizio HIGH. Analogamente, se una sessione è connessa al servizio MEDIUM nell'istanza del router, un'istruzione instradata a un'istanza di destinazione utilizza il servizio MEDIUM.
Se il servizio utilizzato per la connessione all'istanza router non è disponibile in un'istanza di destinazione, il frammento di istruzione o istruzione instradato all'istanza di destinazione utilizza il servizio MEDIUM (i servizi disponibili dipendono dal tipo di carico di lavoro di Autonomous Database).
Abilita instradamento rendiconto e Definisci mapping schema
In questa sezione viene descritto come impostare ProxySQL per l'instradamento automatico delle istruzioni da un router principale a una o più istanze di database di destinazione.
- Abilitare l'instradamento delle istruzioni e definire il mapping degli oggetti dal router alle istanze di destinazione
Per impostare l'instradamento delle istruzioni, abilitare ProxySQL nell'istanza del router e definire lo schema o gli oggetti le cui istruzioni sono mappate (inviate) ai database di destinazione. - Accetta instradamento istruzione nelle istanze di destinazione
È necessario accettare l'instradamento istruzione in un'istanza di destinazione per consentire il mapping dall'istanza del router.
Abilita instradamento rendiconto e Definisci mapping oggetti da router a istanze di destinazione
Per impostare l'instradamento delle istruzioni, abilitare ProxySQL nell'istanza del router e definire lo schema o gli oggetti le cui istruzioni sono mappate (inviate) ai database di destinazione.
Di seguito sono riportati i prerequisiti per abilitare l'instradamento automatico delle istruzioni.
-
Creare l'istanza di Autonomous Database che si prevede di utilizzare per l'istanza del router o identificare un'istanza di Autonomous Database esistente come istanza del router.
-
Creare le istanze di destinazione o identificare le istanze di destinazione dalle istanze di Autonomous Database esistenti.
-
Assicurarsi che l'istanza del router e qualsiasi istanza di destinazione in cui si stanno reindirizzando le query dispongano di metadati corrispondenti per qualsiasi oggetto che si sta mappando dal router a una destinazione.
Qualunque sia il metodo di instradamento (mapping) che si decide di utilizzare, è responsabilità di Application Schema Designer assicurarsi che i metadati per gli oggetti posizionati in un'istanza di destinazione siano disponibili anche nell'istanza del router. Ad esempio, se nell'istanza di destinazione è presente una tabella denominata
EMPLOYEES
, nell'istanza del router deve essere presente anche una tabella con metadati corrispondenti denominatiEMPLOYEES
. La tabella nell'istanza del router non deve essere vuota. -
Dalle opzioni disponibili, determinare il tipo di instradamento dell'istruzione che si desidera utilizzare: Instradamento a livello di schema, Instradamento a livello di oggetto o Instradamento ibrido.
Per abilitare l'instradamento automatico delle istruzioni e aggiungere voci di mapping di destinazione alla tabella di instradamento, procedere come segue.
È possibile eseguire una query sulla vista DBA_PROXY_SQL_MAPPINGS
per elencare i record nella tabella di instradamento. Per ulteriori informazioni, vedere DBA_PROXY_SQL_MAPPINGS View.
Argomento padre: Abilita instradamento istruzione e Definisci mapping schema
Accetta instradamento rendiconto su istanze di destinazione
È necessario accettare l'instradamento delle istruzioni in un'istanza di destinazione per consentire il mapping dall'istanza router.
Per consentire (accettare) i reindirizzamenti dell'istruzione dall'istanza router a un'istanza di destinazione, effettuare le operazioni riportate di seguito.
Argomento padre: Abilita instradamento istruzione e Definisci mapping schema
Invia dichiarazioni tramite ProxySQL
Per sfruttare l'instradamento automatico delle istruzioni, è necessario connettersi e sottomettere le istruzioni all'istanza del router gestita da ProxySQL.
Quando si inviano query, incluse istruzioni DML, con ProxySQL abilitato, è necessario connettersi all'istanza del router per sfruttare l'instradamento automatico delle istruzioni.
Interrompi istruzioni instradamento a un'istanza di destinazione
Eseguire questi passi su un Autonomous Database di destinazione per impedire che accetti le istruzioni instradate dal router ProxySQL.
Per ulteriori informazioni, vedere REJECT_MAPPING Procedure.
Rimuovi schema o mapping oggetto da istanza router
Fornisce i passi per rimuovere un mapping specifico dal database del router gestito da ProxySQL.
Disabilita instradamento rendiconto
Mostra i passi per l'instradamento automatico delle istruzioni disabilitando ProxySQL.
Eseguire DBMS_PROXY_SQL.DISABLE_ROUTING
sull'istanza del router per disabilitare ProxySQL e per disabilitare l'instradamento automatico delle istruzioni alle istanze di destinazione.
Ad esempio:
BEGIN
DBMS_PROXY_SQL.DISABLE_ROUTING
;
END;
/
In questo modo, ProxySQL viene disabilitato e il routing automatico delle istruzioni sul router.
Quando si disabilita ProxySQL, le voci di mapping delle istruzioni nella tabella di instradamento nell'istanza del router non vengono eliminate. Ciò significa che se si riabilita ProxySQL e la tabella di instradamento contiene voci esistenti, l'instradamento automatico delle istruzioni instrada le istruzioni alle istanze di destinazione, come specificato nella tabella di instradamento. Utilizzare la procedura DBMS_PROXY_SQL.REMOVE_MAPPING
se si desidera rimuovere le voci della tabella di routing esistenti prima di riabilitare ProxySQL.
Per ulteriori informazioni, vedere DISABLE_ROUTING Procedure.
Instradamento automatico rendiconto con note ProxySQL
Elenca le limitazioni e le note importanti sull'instradamento automatico delle istruzioni quando ProxySQL è abilitato.
-
L'utente
ADMIN
dispone dei privilegi per gestire ProxySQL. Se si desidera abilitare un altro utente, è necessario concedere i seguenti privilegi-
privilegio
EXECUTE
sul pacchettoDBMS_PROXY_SQL
. -
privilegio
READ
sulla vistaDBA_PROXY_SQL_MAPPINGS
. -
privilegio
READ
sulla vistaDBA_PROXY_SQL_ACCEPTED_MAPPINGS
.
-
-
L'instradamento automatico delle istruzioni riprende senza problemi quando:
-
L'istanza di destinazione di Autonomous Database non riesce in uno standby Autonomous Data Guard locale.
-
Esegui uno switchover per un'istanza di Autonomous Database di destinazione in uno standby Autonomous Data Guard locale.
Tuttavia, l'instradamento automatico delle istruzioni si arresta dopo un failover o lo switchover in un database di standby Autonomous Data Guard tra più aree.
-