Apache, MariaDB & PHP pour un développement libre. Christophe Villeneuve @hellosct1



Documents pareils
INTRODUCTION. Mysql-server est un serveur de bases de données. Cest un logiciel libre.

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Présentation Alfresco

MariaDB/MySQL Avancé. Pierre Mavro Creative Commons License

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

OpenPaaS Le réseau social d'entreprise

Cartographie des solutions BigData

Base de données MySQL

NIMBUS TRAINING. Administration de Citrix NetScaler 10. Déscription : Objectifs. Publics. Durée. Pré-requis. Programme de cette formation

C O M P E T E N C E S

MYSQLDUMP & ZRM COMMUNITY

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Audit et optimisation MySQL 5

Administration de Citrix NetScaler 10 CNS-205-1I

Tungsten: une implémentation du futur clustering de PostgreSQL

+ = OpenStack Presentation. Raphaël Ferreira - enovance. Credits : Thanks to the OpenStack Guys 1

Hébergement de sites Web

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Introduction à MySQL (ou MySQL en 3 heures montre en main)

SQL Server 2012 et SQL Server 2014

NoSQL. Stephane VAROQUI Field Services - Senior Consultant

les techniques d'extraction, les formulaires et intégration dans un site WEB

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

Un peu de culture : Bases N osql L 1

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Devenez un véritable développeur web en 3 mois!

CA ARCserve Family of Solutions Pricing and Licensing

Le tout à l usage dans un IaaS public «Comment une plateforme industrielle permet de déployer des usages applicatifs en accord avec cette promesse»

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Ne cherchez plus, soyez informés! Robert van Kommer

Les bases de données relationnelles

Retour d exprience sur le cluster du CDS

Drupal : Optimisation des performances

Cloud Computing. Introduction. ! Explosion du nombre et du volume de données

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Présentation du module Base de données spatio-temporelles

Architectures informatiques dans les nuages

Pratique et administration des systèmes

Transformation IT de l entreprise BIG DATA, MÉTIERS ET ÉVOLUTION DES BASES DE DONNÉES

Introduction à ElasticSearch

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Sybase High Avalaibility

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

OpenStack, l Infrastructure as a Service libre

PostgreSQL. Formations. Catalogue Calendrier... 8

PHP et le Cloud. All rights reserved. Zend Technologies, Inc.

Tour d horizon des différents SSO disponibles

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

MySQL 5.6. Performances et Tuning. MySQL Performances et Tuning. MySQL 5.6. Vincent TAHON

Hadoop, les clés du succès

Séance 1 Introduction aux bases de données

Informatique en nuage Cloud Computing. G. Urvoy-Keller

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

CAS, un SSO web open source. 14h35-15h25 - La Seine A

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON

Hibernate vs. le Cloud Computing

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Veeam Backup & Replication v6

L art d ordonnancer. avec JobScheduler. François BAYART

Des startups vous présentent leur utilisation De l'open source Dans azure SALES PROSPECTING REINVENTED

Ingres, Enterprise Open Source

BTS SIO Dossier BTS. PURCHLA Romain

Stéphane DERACO, DSI CNRS l Argos Devops : de l hyperviseur aux conteneurs l 11/12/2014 DOCKER

Messagerie vocale dans votre BAL. sur un téléphone. Grandes BAL à bas coût. dans un navigateur. Le cloud comme vous le souhaitez

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Francis Mignault. ! Coauteur : Expert Oracle Application Express. ! Membre du Oracle APEX Advisory Board apex.oracle.com/vote

Section I: Le Contexte du DATA CENTER Pourquoi l AGILITE est Nécessaire dans le DataCenter

Dafoe Présentation de la plate-forme UIMA

L'automatisation open source pour SI complexes

JOnAS Day 5.1. Clustering

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Virtual Box Mettez un PC dans votre... PC

1/ Présentation de SQL Server :

9 rue Lucien Roullier Goussainville / INGÉNIEUR SYSTÈME LINUX

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

Les journées SQL Server 2013

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Les bonnes pratiques. de l hébergement d un CMS

LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE

FORMATION PostgreSQL Réplication / Haute Disponibilité

Bases de données documentaires et distribuées Cours NFE04

Joomla! Création et administration d'un site web - Version numérique

CREATION WEB DYNAMIQUE

La Continuité d Activité

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

Haute disponibilité des données

Bases de données documentaires et distribuées Cours NFE04

Choisir la solution d hébergement et de support faite pour vous

Zabbix. garder un oeil toujours ouvert. - Creative Commons BY-SA

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Transcription:

Apache,MariaDB&PHP pourundéveloppementlibre ChristopheVilleneuve @hellosct1

Qui...estChristopheVilleneuve? afuplemug.frmysqlmariadbdrupaldemoscenefirefoxosdrupagoraphptourforumphpsolutionlinuxdemoinparislibreàtoieyrolleseditionseniprogrammezlinuxpratiquewebriverphptvneuros elephpant

Lespointsd'aujourd'hui SituationdeMariaDB NotionsdebasesdeMariaDB Communiqueraveclesstoragesengines Lesdifférentespossibilités

Unehistoiresimple Datesimportantes L'origine Fondépar 19831èreidée Fondéen1995 MontyWidenius DavidAxmark 2008RachatparSun 2009SunrachetéparOracle 2007Préparationpour Nasdaq PromessedeOraclesur5 ans(fin2014)

Etmaintenant Denosjours...MySQL N 1danslemonde Forks 500kDownload(depuis 2003) +13Minstallationactive MySQLOracle Drizzle Percona MariaDB

MariaDB:unprojetmature Communauté d'amis 100% Open source et compatible MySQL Dec2008CréationdeMonty Program MontyWidenius Plateforme d'innovation MariaDB5.1(Fev2010) Des commiteurs MariaDB5.2(Nov2010) MariaDB5.3(Avril2012) MariaDB5.5(Avril2012) Google MariaDB10.0(Nov2012) Booking.com 2013Fondation Facebook MariaDB10.0.17(Mars15) Taobao.com MariaDB10.1.5(Juin15)

MariaDB10 Scalability Performance Availability NoSQL Operations Security Advanced parallel replication Sharding MaxScale proxy (future) Enhanced optimization Improved and special purpose storage engines Carefully tuned and enhanced server internals Advanced performance monitoring HA clustering - integrating Galera cluster More online operations, less planned downtime Interoperable storage engines such as Cassandra and Connect Dynamic columns and JSON processing HandlerSocket API Comprehensive diagnostics built-in to the DB APIs and open architecture for easier integration Role-based access control Authentication plugins Sophisticated auditing capabilities

Environnement Distributionlinux RedhatetRedhatPro7.0 OpenSUSE ArchLinux Mageia Fedora CentOS Mint Ubuntu Debian

Installationenvironnementembarqué AMP=ApacheMySQLPHP $apt getinstallapache2libapache2 mod php5mysql server libapache2 mod auth mysqlphp5 mysqlphpmyadmin $sudo/etc/init.d/apache2restart..etc...

GOMariaDB

MySQL MariaDB Vérification $mysql uroot p showdatabases; Repositories https://downloads.mariadb.org/mariadb/repositories

MySQL MariaDB(1/2) https://downloads.mariadb.org/mariadb/repositories sudoapt getinstallsoftware properties common sudoapt keyadv recv keys keyserverhkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudoadd apt repository'deb http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.0/ubuntuvividmain'

MySQL MariaDB(2/2) $sudoapt getupdate $sudoapt getinstallmariadb server $mysql uroot p <enterpassword> showdatabases;

Compatibilité 5.x 5.x

Repèredesversions MariaDB5.1 MySQL5.1 MariaDB5.2 MariaDB5.1 MariaDB5.3 MariaDB5.2 MariaDB5.5 MariaDB5.3+MySQL5.5 MariaDB10.0 MariaDB5.5+MySQL5.6 MariaDB5.6 MariaDB5.5+MySQL5.6 2015 MariaDB10.1 MariaDB10.0+MySQL5.6/5.7

Apprentissage

PerformanceMariaDB10.1etMySQL5.7.4 https://blog.mariadb.org/performance evaluation of mariadb 10 1 and mysql 5 7 4 labs tplc/

DifférentsconnecteursavecMariaDB PHP(drivernatif) BSDlicence Python Perl Ruby.NETavecMyODBC JDBC(basésurdrizzledriver) C Oracleconnector(licenceGPL) ToussontLGPL Aucunelicencecommerciale

Exemple1:wampserver(1/2) DLMariaDB(http://mariadb.org) Installerdans1dossierMySQL DéplacerlesBDDsauvegardées\data\ LancerWampserver

Exemple1:Wampserver(2/2)avecphpMyAdmin

Exemple2:Neard TéléchargerNeard http://sourceforge.net/projects/neard Installation L MySQ DB Maria

Exemple3:Linux sudo apt-get install mariadb-server mariadb-client Vous retrouvez: /etc/mysql/my.cnf > mysql Au final

Aufinalparlecode <?php echophpinfo();?>

Outils Pourvosrequêtes Backup MySQLWorkbench MySQLdump XtraBackup mysqlhotcopy(myisam) HeidiSQL XtraBackupmanager(PHP) PhpMyAdmin... SkySQLvisualEditor (SQLYog) ToadForMySQL...

Colonnesdynamiques Dispo MariaDB 5.3+ Pont entre les BDD relationnelles et non relationnelles Toutes les colonnes stockées dans un 'blob' Possibilité de manipuler Possibilité de créer des index virtuels Source:https://mariadb.com/kb/en/mariadb/dynamic columns/

Multiproduits Exemple(colonnedynamique)1/3 createtablenewsql( COLUMN_CREATE( idint column_nr, auto_increment value[astype], primarykey, [ nomvarchar(40), column_nr, typeenum value[astype] ('animal', ], 'ordinateur'),...) prixint, nosqlblob); ID nom type Prix blob

Exemple(colonnedynamique)2/3 ID Nom type 1 Atari Ordinateur 2 elephpant animal prix couleur 500 Noir type Multiproduits taille description normal peluche Ste 20 bleu >INSERTintonewsqlvalues(NULL,'Atari','ordinateur',500, COLUMN_CREATE('couleur','Noir','type','STe')); >INSERTintonewsqlvalues(NULL,'elePHPant','animal',20, COLUMN_CREATE('taille','normal','description','peluche')); >UPDATEnewsqlSETnosql=COLUMN_ADD(nosql,'couleur','blue') WHEREid=2; >SELECTnom,column_list(nosql)FROMnewsql;

Exemple(colonnedynamique)3/3 Multiproduits >SELECTnom,COLUMN_JSON(nosql)FROMnewsql; >SELECTid,type,nom, COLUMN_GET(nosql,'couleur'aschar)AScouleur,prixFROMnewsql;

Lesdifférentespossibilitésdecommuniquer

Moteurdestockage storageengine

Insertiondedonnées:TokuDB Moteurdestockage NatifdansMariaDB5.5&MariaDB10.0+ (R)Tokutek&MariaDB Techniqueutilisel'arbrefractal Améliorationindexation Améliorationdesrequêtes Schémadevitesse Compression Réplication Souple

TokuDB:exemple

Manipulerlesdonnées:Connect DispoMariaDB10.0+ ETL:Extract,transformetLoad Lecture/Ecriture/MAJ TXT,DBF,INI,XML MSAccess,MSExcel,TBL(similaireàMERGE) ODBC,MySQL,SQLite,Oracle,DB2,WMI... Localeoudistant Custompossible Accèsenparallèlesurmultitables InstallationdansMy.cnf [mysqld] plugin load=ha_connect.so

Connect:exempleCSV Fichier first,last,birthday "Christophe","Villeneuve","Jan1" "PHP","ODBC","Nov22" >CREATETABLEusers_csv( firstvarchar(32)notnull, lastvarchar(32)notnull, birthdayvarchar(50)notnull )ENGINE=CONNECTTABLE_TYPE=CSVFILE_NAME='/var/lib/mysql/users.csv' HEADER=1SEP_CHAR=','QUOTED=1; >SELECT*FROMusers_csv; first last birthday + + + + Christophe Villeneuve Jan1 PHP ODBC Nov22 + + + +

Connect:exempleODBC >createtabletable2 ENGINE=CONNECTTABLE_TYPE=ODBC SRCDEF='selectkey,sum(l_quantity)qtfromdbt3.table1groupbykey' CONNECTION='DSN=oracle;UID=login;PWD=password'; >MariaDB[dbt3]>selectsum(qt)from(selectqtfromtable2)as result; 31444 Valeurdesum(qt)

RechercheSphinxSE DispoMariaDB5.2+ RechercheFull text Nestockepaslesdonnées ClienthautpourpermettreàMariaDBdeparleràSphinx searchd InstallationdansMy.cnf [mysqld] plugin load='ha_sphinx.so';

ExempleSphinxSE CREATETABLEt1( idintegerunsignednotnull, Entier Poids weightintegernotnull, queryvarchar(3072)notnull, Votrerequete group_idinteger, Group Indexation Requete INDEX(query) )ENGINE=SPHINX CONNECTION="sphinx://localhost:9312/test"; SELECT*FROMt1WHEREquery='testit;mode=any';

OuvertureversleNewSQL Moteurdestockage:CassandraSE DispoMariaDB10.0+ BriquedeApacheCassandra Donnéesnonrelationnelles(NoSQL) Assurerl'intégrationdesdonnéesSQL/NoSQL Mappingpossible Manipulations: staticcolumns,dynamiccolumns,rowkey InstallationdansMy.cnf [mysqld] plugin load=ha_cassandra.so

CassandraSE:Utilisation(1/2) Clé primaire obligatoire >createtablet2(rowkeyvarchar(36)primarykey, data1varchar(60), data2varchar(60) )engine=cassandra keyspace='mariadbtest' thrift_host='localhost' column_family='cf1'; Colonnes statiques Sousensemble descolonnescf

CassandraSE:Utilisation(2/2) >insertintot1values ('rowkey10','data1 value',123456), ('rowkey11','data1 value2',34543); >select*fromt1whererowkey='rowkey11';

XAenSpider DispoMariaDB10.0+ Moteurdestockagefédéréscomme Sharding/partitionnement* Transactions* Intégrédanslepooldeconnexion HautedisponibilitéClusterShared Nothing Loadbalancing: AccèsparSpiderclusteravecplusieursserveurs MariaDB

Spider:Exemple

Automatisation&Réplication

MariaDBGaleraCluster Lesréplicationssynchrones Desréplicationsmultimaitresactifs Noeuds Lecture/Écrituresimultané Détectionautomatiquesiun nœudtombe Réintégrationd'unnœud automatiquement Pasdelagauniveaudesslaves Aucunestransactionsperdues Latencesclientesplusfaible MariaD B MariaD B MariaD B Galera Replication

MariaDBGaleraClusteretStandardReplication(1/2) Srv 1 Srv 2 Srv 2 MariaDB Multi Source Asynchronous replication Mg c1 Galera Cluster Mg c3 Mg c2 Synchronous replication

MariaDBGaleraClusteretStandardReplication(2/2) Esclave peut facilement lier à nouveau maître avec GTID Asynchronous replication Mg c1 Galera Cluster Mg c3 Mg c2 Synchronous replication Slave

MariaDBMaxScaleProxy(loadbalancing) MaxScale Repartirlachargede connexion(=proxy) Lecture/Ecriture MaxScale Surveillel'étatdesbackends Ajusteretsurveillerbackends Améliorerlascalabilitéetla disponibilité Autresusages:filtrage,d'audit, deréécrituredesrequêtes...

MariaDBMaxScaleBinLogServer Unserveurbinlogportebinlog/pasdebasesdedonnées Petitlag/Petitvidangesurlemaître Facilereconfigurationdelatopologie

Merci