Progettare, installare e configurare MySQL Cluster



Documenti analoghi
MYSQL CLUSTER. Di Stefano Sardonini

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

Database MySQL: 10 trucchi per migliorarne le performance

MySQL Adoption. Esperienze in ambienti mission-critical. Emilio Scalise, Senior System Engineer, Babel MySQL Tech Tour 18/02/2014

Database & FreeBSD. Come configurare il sistema operativo ottimizzando le prestazioni sul DB. GufiCon#3 Milano, 12 Ottobre 2002

REQUISITI TECNICI HR INFINITY ZUCCHETTI

Sistema di Gestione dei Contenuti Multimediali

VIRTUAL VIRTUAL DATACENTER DATACENTER

VIRTUAL INFRASTRUCTURE DATABASE

Apache e Mysql cluster

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o

Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition

Allegato Tecnico Server Virtuale

IBM Tivoli Storage Manager

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

Introduzione alle applicazioni di rete

"Shared Hosting Vs Cloud" SETTEMBRE di seeweb. Quando e perchè scegliere uno Shared Hosting o un Cloud Server?

Monitoraggio e performance: il ruolo del DBA manager e gli strumenti a supporto

GE 032 DESCRIZIONE RETI GEOGRAFICHE PER MX 650

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Linux nel calcolo distribuito

Griglie computazionali LEZIONE N. 10. Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno

Indice. Introduzione PARTE PRIMA L ARCHITETTURA DEI DATABASE 1

Indice. Indice V. Introduzione... XI

LA MIGRAZIONE IN SEMPLICI STEP. Il moving di una macchina Linux sul Cloud Server Seeweb

Sistemi operativi e reti A.A Lezione 2

Firewall applicativo per la protezione di portali intranet/extranet

Sistemi avanzati di gestione dei Sistemi Informativi

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sommario. Oracle Database 10g (laboratorio) Grid computing. Oracle Database 10g. Concetti. Installazione Oracle Database 10g

Caratteristiche di una LAN

Introduzione all Architettura del DBMS

La componente tecnologica dei. sistemi informativi. Architettura hw. Componenti di una architettura hw

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

ELENCO DELLE AREE DI INSEGNAMENTO PER DIPLOMATI DI MATERIE NON MILITARI INCLUSE NEI CORSI IN PROGRAMMAZIONE PRESSO LA SCUOLA TLC FFAA DI CHIAVARI

Improve your management productivity

Il Software. Il software del PC. Il BIOS

Programma corsi LogX S.r.l.

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition

TYPO3 in azione con l infrastruttura ZEND: affidabilità e sicurezza. Mauro Lorenzutti CTO di Webformat srl mauro.lorenzutti@webformat.

In estrema sintesi, NEMO VirtualFarm vuol dire:

Oracle Database 11g: Workshop di amministrazione II Release 2

Progetto Vserver- HighAvailability

File system II. Sistemi Operativi Lez. 20

Efficienza, crescita, risparmi. Esploriamo il pianeta tecnologia VMware VSphere4

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

MIXER: gestione trasmissioni DJ: governance di MIXER

DBMS (Data Base Management System)

Software di gestione della stampante

Infrastruttura di produzione INFN-GRID

ARCHIVIA PLUS VERSIONE SQL SERVER

CORSO WET 462 Amministrazione di database SQL Server 2012

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Guida all uso di periferiche di archiviazione remota (NAS)

Panoramica delle funzionalita

REGIONE BASILICATA UFFICIO S. I. R. S.

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

DuBackup+ OnlineBackups BestPractices

Online Help StruxureWare Data Center Expert

Introduzione al Cloud Computing

Applicativo SBNWeb. Configurazione hardware e software di base di un server LINUX per gli applicativi SBNWeb e OPAC di POLO

Corso di Informatica

Soluzioni innovative per la semplificazione dell infrastruttura IT. Virtualizzazione con il sistema operativo IBM i, PowerVM e Power Systems

Capitolo 1 Oracle: la società e il software Terminologia Oracle Corporation: la storia L offerta corrente 12 1.

Modulo Rilevazione Assenze

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon Storage Gateway

D 3) PUNTEGGIO TECNICO DELL APPALTO SPECIFICO

Allegato Tecnico Database As A Service

L architettura di un DBMS

CAPITOLATO TECNICO. 2. Un apparato di lettura/scrittura DVD IBM U3 completa di DVD ram.

Reti e Domini Windows Corso di Amministrazione di Reti A.A. 2002/2003

CVserver. CVserver. Micky Del Favero BLUG - Belluno Linux User Group Linux Day Feltre 25 ottobre Un cluster di VServer

REGIONE BASILICATA UFFICIO S. I. R. S.

Soluzioni di alta disponibilità con MySQL

Note sul tema IT METERING. Newits 2010

ELEMENTI DI PROGETTAZIONE SOFTWARE

IBM System i 515 Express

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Architettura di un sistema operativo

Schedulatore per la comunicazione con le Porte di Dominio

Laboratorio Virtuale NEPTUNIUS (Numerical. codes for computational fluid dynamics and. fluid structure interactions)

Sistemi di Antivirus CEFRIEL. Politecnico di Milano. Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione. Politecnico di Milano

Laboratorio di Informatica I

Dynamic 07 -Software per la lettura ottica e data capture. G.Q.S. Srl Global Quality Service Via Bernini, 5/7 Corsico (MILANO)

Calcolatori Elettronici A a.a. 2008/2009

Come Installare SQL Server 2008 R2 Express Edition With Tools

Manuale per la configurazione di AziendaSoft in rete

SurfCop. Informazioni sul prodotto

Linux I/O Scheduling overview

Manuale Terminal Manager 2.0

Una delle cose che si apprezza maggiormente del prodotto è proprio la facilità di gestione e la pulizia dell interfaccia.

REALIZZAZIONE SALA CED

applicazioni aziendali più eseguire e controllare fondamentali per il business grazie a sofisticate funzioni di auto-gestione

La gestione integrata della sicurezza in Agenzia ANSA: dal firewalling all'utm Michelangelo Uberti, Sales Engineer Babel S.r.l.

I nostri servizi Dynamic Data Centre Infrastructure-as-a-Service.

Transcript:

Progettare, installare e configurare MySQL Cluster Mirko Conte, System Architect MySQL Tech Tour Rome, 29 aprile 2015 direzione e sede legale via campanini 6 20124 milano tel: +39 02/66.732.1 fax: +39 02/66.732.300 unità operativa p.zza san benedetto da norcia 33 00071 pomezia (rm) tel: +39 06/9826.9600 fax: +39 06/9826.9680 partita iva e codice fiscale: 12938200156 c.c.i.a.a. milano n.1599095 registro imprese 12938200156 capitale sociale 2.418.433,00 i.v.

Agenda Valutare MySQL Cluster nel proprio progetto Esempi di architettura Requisiti hardware/network Sessione hands-on 2

Valutare MySQL Cluster nel proprio progetto MySQL Cluster CGE è una soluzione no-compromise in termini di scalabilità e uptime Viene incontro alle principali richieste di applicazioni enterprise di ultima generazione a elevata criticità e concorrenza con ritmi di crescita elevati L'architettura di MySQL Cluster introduce complessità Hardware e network Installazione Configurazione e tuning Operations Differenze rispetto a storage engines più diffusi Le specificità di un'architettura distribuita e replica sincrona non lo rendono adatto a tutti i tipi di workload Workload non adatti possono portare a livelli di performance e stabilità inferiori ad altre soluzioni MySQL 3

Valutare MySQL Cluster nel proprio progetto È opportuna una valutazione preventiva dei requisiti dell'applicazione delle caratteristiche del workload Scelta della soluzione MySQL più adatta a caratteristiche e requisiti del proprio progetto Benchmark!!! 4

Valutare le esigenze Requisiti di disponibilità È richiesto avere i cinque 9 di disponibilità per la propria applicazione o è sufficiente un servizio ad alta affidabilità con service level SLA più ampi? Valutare quali soluzioni MySQL soddisfano i requisiti di disponibilità della propria applicazione Requisiti sulla scalabilità È richiesta scalabilità orizzontale a caldo? Valutare la scalabilità verticale di Innodb: fino a 48 CPU thread, centinaia di GB di RAM e dischi SSD Valutare la scalabilità orizzontale sulle letture tramite replica MySQL Requisiti sui tempi di risposta È richiesto avere tempi di risposta molto brevi e costanti (real-time) su query semplici, OLTP? 5

Valutare il workload Valutare la tipologia di dati/workload Concorrenza Accesso seek da indici Join complesse e full table scan Transazioni lunghe Large rows (>14K) Applicazioni certificate con particolari engines Benchmark!!! Ulteriori approfondimenti White paper MySQL Cluster Evaluation Guide 6

Esempi di architettura Basic 2 hosts (data + SQL nodes + app) 1 small host (mng node) App client SQL SQL nodes Data nodes Management nodes 7

Esempi di architettura One-to-one n hosts (data nodes) m hosts (SQL nodes + app + 2 mng nodes) App client SQL SQL nodes Management nodes Data nodes 8

Load balancer Esempi di architettura Large n hosts (data nodes) m hosts (SQL nodes) 2 hosts (mng nodes) app nodes (load balanced) Management nodes App client SQL SQL nodes Data nodes 9

Esempi di architettura Extra-large White paper MySQL Reference Architectures for Massively Scalable Web Infrastructure 10

Hardware e network Rete a bassa latenza tra i nodi Raccomandato almeno 1 Gbps meglio 10 Gbps Raccomandata rete dedicata Possibili link cross nei node group I/f rete e switch ridondati 4-64 CPU threads Meglio freq. clock elevata sui data nodes RAM: in base a dimensione database e numero data nodes Dischi: devono garantire la piena funzionalità di LCP e GCP ed eventuale disk data storage Server dedicati o virtuali/condivisi Risorse h/w dedicate per prestazioni più costanti e real-time 11

Sessione hands-on

Preparare il S.O. Configurare MAC e firewall Risolvere localmente nomi hosts del cluster Configurare hostname unici (usati da agent MCM) Installare binari MySQL Cluster e MySQL Cluster Manager Sicurezza: ownership binari differente da utente del servizio Creare utenza del servizio Creare data directory Cluster Manager 13

Abilitare gli agent Cluster Manager Modificare file di configurazione degli agent mcmd.ini log-file manager-directory pid-file permessi 600 Modificare script di avvio MCMD_ROOTDIR MCMD_USER Abilitare lo start degli agent al boot 14

Usare la console di Cluster Manager Configurare environment utente DBA PATH binari MySQL e MCM Usare la console di MCM mcm Configurare site mcm> create site -h <host>[,<host>]* <sitename> Configurare package mcm> add package -b <directory> <sitename> 15

Alcuni parametri Linux Limiti utente del servizio /etc/security/limits.d nofile: open files memlock: lock pagine in RAM Parametri TCP host a elevata frequenza di connessioni estendere net.ipv4.ip_local_port_range attivare net.ipv4.tcp_tw_reuse Parametri virtual memory ridurre vm.swappiness 16

Alcuni parametri Linux - storage Schedulatore I/O elevator=deadline Opzioni mount noatime, nodiratime nobarrier (controller con batteria) Filesystem ext4 XFS data=writeback journal solo metadati, simile ad XFS 17

Configurazione multi-core statica MySQL Cluster genera un carico di lavoro CPU bound Su host multi-core si possono assegnare staticamente i core ad alcuni thread dei data node e alle funzioni del sistema operativo Isolare i core da dedicare al processo data node isolcpus, parametro avvio kernel Esempio: isolcpus=0-25 IRQ_BALANCE_BANNED_CPUS, parametro file /etc/sysconfig/irqbalance Esempio: IRQBALANCE_BANNED_CPUS="3FFFFFF" Assegnare i thread principali del processo data node a un core ThreadConfig, parametro Cluster Ulteriori approfondimenti White paper Optimizing MySQL Cluster Performance 18

Creare un cluster Creare un cluster mcm> create cluster -P <package> -R <processname>@<host>[,<processname>@<host>]* 19

Ottimizzare alcuni parametri data nodes DataMemory: spazio (in bytes) per storage dei record del database e degli indici ordered IndexMemory: spazio (in bytes) per storage degli indici hash LockPagesInMainMemory: lock della memoria in RAM (necessita ulimit) 20

Ottimizzare alcuni parametri data nodes MaxNoOfConcurrentTransactions: massimo numero di transazioni parallele in un data node MaxNoOfConcurrentOperations: massimo numero di record in fase di update o lock contemporaneamente MaxNoOfTables: massimo numero di tabelle, indici unique hash, tabelle extra per i blob (massimo 20320) MaxNoOfAttributes: massimo numero di colonne (durante alter table viene usato 3 volte il numero di colonne presenti). Limitazione max 512 colonne su una singola tabella MaxNoOfTriggers: massimo numero di triggers. Trigger interni vengono creati per ogni indice e per la replica. 21

Ottimizzare alcuni parametri data nodes NoOfFragmentLogParts: numero di gruppi di redo log, multiplo di 4. Deve essere almeno pari al numero di threads LDM (local data manager, o LQH) FragmentLogFileSize: dimensione di ogni file appartenente a un gruppo di redo log NoOfFragmentLogFiles: numero di files di un gruppo di redo log RedoBuffer: buffer del gruppo di redo log, se troppo piccolo genera errori <processname>@<host>[,<processname>@<host>]* MaxDiskWriteSpeed: livello massimo di scritture su disco in bytes/s per LCP e backup MaxDiskWriteSpeedOwnRestart: come sopra durante restart MaxDiskWriteSpeedOtherNodeRestart: come sopra durante 22

Ottimizzare alcuni parametri data nodes ODirect: scrittura su disco direct I/O (no cache) HeartbeatIntervalDbDb: frequenza dell'heartbeat in millisec (sequenza circolare tra tra i nodi) HeartbeatIntervalDbApi:frequenza dell'heartbeat in millisec verso api nodes (tra nodo cluster e relativi nodi api connessi) MemReportFrequency: log uso data e index memory BackupReportFrequency: log avanzamento backup LogLevel...: livelli del cluster log TransactionInactiveTimeout: chiude transazioni non committate TransactionDeadlockDetectionTimeout: massima attesa del transaction coordinator di risposta da altri data nodes durante una transazione (deadlock, lunghi lock, overload del nodo) 23

Ottimizzare alcuni parametri data nodes ThreadConfig: controlla i singoli thread dei data node multithread in numero ed eventuale bind a una CPU MaxNoOfExecutionThreads: parametro semplificato per controllare il parallelismo dei data note multithread 24

Ottimizzare alcuni parametri altri Management nodes LogDestination: definisce cluster log e retention Data nodes e API nodes TotalSendBufferMemory: buffer trasmissione TCP condiviso tra le varie connections Connessioni TCP HostName1,HostName2: configurazione del link diretto di un node group 25

Ottimizzare alcuni parametri mysqld ndb_cluster_connection_pool: connection pool (utilizza slots API node) ndb_autoincrement_prefetch_sz: migliora molto le performance sulle insert con autoincrement, possibilità di avere id mancanti default_storage_engine slow_query_log: slow query log log_queries_not_using_indexes: logga query che non usano indici log_throttle_queries_not_using_indexes: logga al massimo un certo numero di query che non usano indici al minuto long_query_time: soglia durata per slow query log tmp_table_size: dimensione max temp table max_heap_table_size: dimensione max memory table max_connections: connessioni massime 26

Ottimizzare alcuni parametri mysqld thread_cache_size: cache dei thread table_definition_cache: cache delle definizioni table_open_cache: cache delle open table max_allowed_packet: pacchetto massimo, sufficiente per il più grande blob max_connect_errors: blocco client con errori di connessione 27

Grazie per l attenzione! direzione e sede legale via campanini 6 20124 milano tel: +39 02/66.732.1 fax: +39 02/66.732.300 unità operativa p.zza san benedetto da norcia 33 00071 pomezia (rm) tel: +39 06/9826.9600 fax: +39 06/9826.9680