Il mio supporto per SQL memcached - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Il mio supporto per SQL memcached

Amazon RDS supporta l'utilizzo dell'memcachedinterfaccia per le tabelle InnoDB introdotta in My SQL 5.6. memcachedAPIConsente alle applicazioni di utilizzare le tabelle InnoDB in modo simile agli archivi dati No SQL key-value.

L'interfaccia memcached è una cache semplice basata su chiave. Le applicazioni utilizzano memcached per inserire, manipolare e recuperare dalla cache coppie di dati a chiave-valore. My SQL 5.6 ha introdotto un plug-in che implementa un servizio daemon che espone i dati delle tabelle InnoDB tramite il protocollo. memcached Per ulteriori informazioni sul SQL memcached plug-in My, consulta l'integrazione di InnoDB con memcached.

Per abilitare il supporto memcached per un'istanza for My DB RDS SQL
  1. Determinare il gruppo di sicurezza da utilizzare per controllare l'accesso all'interfaccia memcached. Se il set di applicazioni che già utilizzano l'SQLinterfaccia è lo stesso che accederà all'memcachedinterfaccia, è possibile utilizzare il gruppo di VPC sicurezza esistente utilizzato dall'SQLinterfaccia. Se un diverso set di applicazioni accederà all'memcachedinterfaccia, definite un gruppo di sicurezza nuovo VPC o DB. Per ulteriori informazioni sulla gestione dei gruppi di sicurezza, consulta Controllo dell'accesso con i gruppi di sicurezza

  2. Crea un gruppo di opzioni DB personalizzato, selezionando My SQL come tipo e versione del motore. Per ulteriori informazioni sulla creazione di un gruppo di opzioni, consulta Creazione di un gruppo di opzioni.

  3. Aggiungere l'opzione MEMCACHED al gruppo di opzioni. Specificare la porta di memcached che l'interfaccia utilizzerà e il gruppo di sicurezza da utilizzare per il controllo dell'accesso all'interfaccia. Per ulteriori informazioni sull'aggiunta di opzioni, consulta Aggiunta di un'opzione a un gruppo di opzioni.

  4. Se necessario, modificare le impostazioni di opzione per configurare i parametri di memcached. Per ulteriori informazioni su come modificare le impostazioni dell'opzione, consulta Modifica di un'impostazione di un'opzione.

  5. Applica il gruppo di opzioni a un'istanza. Amazon RDS abilita memcached il supporto per quell'istanza quando viene applicato il gruppo di opzioni:

    • Il supporto memcached per una nuova istanza viene abilitato specificando il gruppo di opzioni personalizzato quando viene avviata l'istanza. Per ulteriori informazioni sul lancio di un'SQListanza My, consultaCreazione di un'istanza Amazon RDS DB.

    • Il supporto memcached per un'istanza esistente viene abilitato specificando il gruppo di opzioni personalizzato quando si modifica l'istanza. Per ulteriori informazioni sulla modifica di un'istanza database , consulta Modifica di un'istanza Amazon RDS DB.

  6. Specificate a quali colonne delle vostre SQL tabelle My è possibile accedere tramite l'memcachedinterfaccia. Il plugin memcached crea una tabella catalogo chiamata containers all'interno di un database dedicato denominato innodb_memcache. Inserire una riga nella tabella containers per mappare una tabella InnoDB per l'accesso tramite memcached. Specificare una colonna della tabella InnoDB utilizzata per archiviare i valori della chiave memcached e una o più colonne utilizzate per archiviare i valori dei dati associati alla chiave. Specificare anche il nome utilizzato da un'applicazione memcached per fare riferimento a quel set di colonne. Per i dettagli su come inserire righe nella tabella containers, consulta InnoDB memcached Plugin Internals. Per un esempio di mappatura di una tabella InnoDB e di accesso ad essa tramite memcached, consulta Writing Applications for the InnoDB memcached Plugin.

  7. Se le applicazioni che accedono all'memcachedinterfaccia si trovano su computer o EC2 istanze diversi rispetto alle applicazioni che utilizzano l'SQLinterfaccia, aggiungi le informazioni di connessione per tali computer al gruppo VPC di sicurezza associato all'SQListanza My. Per ulteriori informazioni sulla gestione dei gruppi di sicurezza, consulta Controllo dell'accesso con i gruppi di sicurezza.

È possibile disattivare il memcached supporto per un'istanza modificando l'istanza e specificando il gruppo di opzioni predefinito per la propria versione My. SQL Per ulteriori informazioni sulla modifica di un'istanza database, consulta Modifica di un'istanza Amazon RDS DB.

Considerazioni sulla sicurezza di My SQL memcached

Il protocollo memcached non supporta l'autenticazione degli utenti. Per ulteriori informazioni sulle mie considerazioni sulla SQL memcached sicurezza, consulta Considerazioni sulla sicurezza per il plug-in memcached di InnoDB nella mia documentazione. SQL

Per migliorare la sicurezza dell'interfaccia memcached, è possibile adottare le seguenti misure:

  • Quando aggiungi l'opzione MEMCACHED al gruppo di opzioni, specifica una porta diversa dalla porta 11211 predefinita.

  • Assicurati di associare l'memcachedinterfaccia a un gruppo di VPC sicurezza che limiti l'accesso a indirizzi e istanze client noti e affidabili. EC2 Per ulteriori informazioni sulla gestione dei gruppi di sicurezza, consulta Controllo dell'accesso con i gruppi di sicurezza.

Le mie informazioni di SQL connessione memcached

Per accedere all'memcachedinterfaccia, un'applicazione deve specificare sia il DNS nome dell'RDSistanza Amazon che il numero di memcached porta. Ad esempio, se un'istanza ha DNS il nome di my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com e l'interfaccia memcached utilizza la porta 11212, le informazioni di connessione specificate in PHP sarebbero:

<?php $cache = new Memcache; $cache->connect('my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com',11212); ?>
Per trovare il DNS nome e la porta memcached di un'istanza My DB SQL
  1. Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nell'angolo in alto a destra di AWS Management Console, seleziona la regione che contiene l'istanza DB.

  3. Nel riquadro di navigazione, scegli Databases (Database).

  4. Scegli il nome dell'istanza My SQL DB per visualizzarne i dettagli.

  5. Nella sezione Connect (Connessione), prendere nota del valore del campo Endpoint. Il DNS nome è lo stesso dell'endpoint. Inoltre, tenere presente che la porta nella sezione Connect (Connessione) non si utilizza per accedere all'interfaccia memcached.

  6. Nella sezione Details (Dettagli), prendere nota del nome elencato nel campo Option Group (Gruppo di opzioni).

  7. Nel riquadro di navigazione scegliere Option groups (Gruppi di opzioni).

  8. Scegli il nome del gruppo di opzioni utilizzato dall'istanza My SQL DB per mostrare i dettagli del gruppo di opzioni. Nella sezione Opzioni, annota il valore dell'impostazione Porta per l'MEMCACHEDopzione.

Le mie impostazioni delle SQL opzioni memcached

Amazon RDS espone i miei SQL memcached parametri come impostazioni delle opzioni nell'RDSMEMCACHEDopzione Amazon.

I miei parametri SQL memcached

  • DAEMON_MEMCACHED_R_BATCH_SIZE— un numero intero che specifica quante operazioni di memcached lettura (get) eseguire prima di COMMIT iniziare una nuova transazione. I valori validi sono compresi tra 1 e 4294967295; il valore predefinito è 1. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • DAEMON_MEMCACHED_W_BATCH_SIZE— un numero intero che specifica quante operazioni di memcached scrittura, ad esempio add, set o incr, devono essere eseguite prima di COMMIT iniziare una nuova transazione. I valori validi sono compresi tra 1 e 4294967295; il valore predefinito è 1. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • INNODB_API_BK_COMMIT_INTERVAL: un valore intero che specifica con quanta frequenza effettuare auto-commit delle connessioni inattive che utilizzano l'interfaccia memcached di InnoDB. I valori validi sono compresi tra 1 e 1073741824; il valore predefinito è 5. L'opzione ha effetto immediato senza necessità di riavviare l'istanza.

  • INNODB_API_DISABLE_ROWLOCK: un valore booleano che disabilita (1 (true)) o abilita (0 (false)) l'utilizzo di blocchi di riga quando si utilizza l'interfaccia memcached di InnoDB. Il valore predefinito è 0 (false). L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • INNODB_API_ENABLE_MDL— un valore booleano che se impostato su 0 (false) blocca la tabella utilizzata dal memcached plugin InnoDB, in modo che non possa essere eliminata o alterata tramite l'interfaccia. DDL SQL Il valore predefinito è 0 (false). L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • INNODB_API_TRX_LEVEL: un valore intero che specifica il livello di isolamento della transazione per query elaborate dall'interfaccia memcached. I valori consentiti sono da 0 a 3. Il valore predefinito è 0. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

Amazon RDS configura questi SQL memcached parametri My e non possono essere modificati:DAEMON_MEMCACHED_LIB_NAME,DAEMON_MEMCACHED_LIB_PATH, eINNODB_API_ENABLE_BINLOG. I parametri che i miei SQL amministratori hanno impostato utilizzando daemon_memcached_options sono disponibili come impostazioni delle MEMCACHED opzioni individuali in AmazonRDS.

I miei parametri SQL daemon_memcached_options

  • BINDING_PROTOCOL: una stringa che specifica il protocollo binding da utilizzare. I valori consentiti sono auto, ascii o binary. Quello predefinito è auto, vale a dire che il server negozia automaticamente il protocollo con il client. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • BACKLOG_QUEUE_LIMIT – un valore intero che specifica quante connessioni di rete possono essere in attesa di elaborazione da parte di memcached. L'aumento di questo limite potrebbe ridurre gli errori ricevuti da un client che non riesce a effettuare la connessione all'istanza memcached, ma non migliora le prestazioni del server. I valori validi sono compresi tra 1 e 2048; il valore predefinito è 1024. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • CAS_DISABLED— un valore booleano che abilita (1 (true)) o disabilita (0 (false)) l'uso di compare e swap (), che riduce la dimensione per elemento di 8 byte. CAS Il valore predefinito è 0 (false). L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • CHUNK_SIZE: un valore intero che specifica le dimensioni minime (in byte) del blocco da allocare per chiave, valore e flag della voce più piccola. I valori consentiti sono da 1 a 48. Quello predefinito è 48, ma è possibile migliorare notevolmente l'efficienza della memoria con un valore inferiore. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • CHUNK_SIZE_GROWTH_FACTOR: un valore float che controlla le dimensioni dei nuovi blocchi. Le dimensioni di un nuovo blocco sono le dimensioni del blocco precedente moltiplicato per CHUNK_SIZE_GROWTH_FACTOR. I valori validi sono compresi tra 1 e 2; il valore predefinito è 1,25. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • ERROR_ON_MEMORY_EXHAUSTED: un valore booleano che, quando è impostato su 1 (true), specifica che memcached restituirà un errore anziché eliminare voci quando si esaurisce la memoria per archiviarle. Se impostato su 0 (false), memcached eliminerà elementi se la memoria è esaurita. Il valore predefinito è 0 (false). L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • MAX_SIMULTANEOUS_CONNECTIONS: un valore intero che specifica il numero massimo di connessioni simultanee. L'impostazione di questo valore su un valore inferiore a 10 impedisce l'avvio di My. SQL I valori validi sono compresi tra 10 e 1024; il valore predefinito è 1024. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.

  • VERBOSITY— una stringa che specifica il livello di informazioni registrate nel registro degli SQL errori My dal memcached servizio. Il valore predefinito è v. L'opzione non ha effetto fino a quando l'istanza non viene riavviata. I valori consentiti sono:

    • v – Avvisi ed errori dei log durante l'esecuzione del loop eventi principale.

    • vv: oltre alle informazioni registrate da v, registra anche ogni comando del client e la risposta.

    • vvv: oltre alle informazioni registrate da vv, registra anche le transizioni dello stato interno.

Amazon RDS configura questi SQL DAEMON_MEMCACHED_OPTIONS parametri My, non possono essere modificati:DAEMON_PROCESS,LARGE_MEMORY_PAGES,MAXIMUM_CORE_FILE_LIMIT,MAX_ITEM_SIZE,LOCK_DOWN_PAGE_MEMORY,MASK,IDFILE, REQUESTS_PER_EVENTSOCKET, eUSER.