Displaying posts with tag: MySQL (reset)
OpenSQLCamp : Sharding for the masses

Ce week-end a lieu à côté de Bonn l’OpenSQLCamp, en parallèle de la FrOSCon. Giuseppe Maxia nous parle aujourd’hui d’une technique utilisée dans certaines applications à fort trafic : le sharding. Mais à quoi sert le sharding ?

Quand on commence une application, un seul serveur SQL suffit généralement à absorber la charge. Si le trafic augmente et que les performances du serveur commencent à s’écrouler, on peut utiliser la réplication. Mais la réplication ne permet que d’augmenter le nombre de lectures possibles (read scaling) et pas le nombre d’écritures (write scaling). Cette limitation provient du fonctionnement même de la réplication car toutes les écritures doivent arriver sur le serveur maître. On peut alors imaginer de séparer les données selon certaines règles (dépendantes de …

[Lire plus]
!include

my.cnf, comme vous le savez certainement est le nom du fichier de configuration de MySQL. Vous pouvez également le retrouver sous le nom de my.ini en environnement MS Windows. Il permet comme son nom l’indique de configurer votre serveur MySQL en y centralisant les options de … configuration. Le but ici n’est pas de détailler la longue liste des paramètres de MySQL, la documentation officielle est (presque) bien faite, mais de mettre le « focus » sur la directive !include (avec un « ! » devant).

Cette dernière permet d’inclure un fichier de configuration dans un autre (sic). Autant je suis un adèpte de la non duplication du code en dévellopement (des require_once en PHP utilisés avec modération ça vous simplifie bien …

[Lire plus]
Utiliser XML avec MySQL 5.1 (part 3/5)

(<- précédent)

Interroger un flux XML avec Xpath

L’emploi de XML ne présenterait pas beaucoup d’intérêt sans la possibilité de pouvoir interroger sa structure pour accéder à une information particulière : le langage XPath répond à cette attente et est (en partie du moins) aujourd’hui intégré à MySQL. Mais avant de voir comment utiliser XPath à travers MySQL, il est nécessaire de se pencher sur la syntaxe de ses expressions, dont la construction la plus importante est sans conteste le chemin de localisation (location path).

Le chemin de localisation

De manière similaire à la navigation au sein d’un système de fichiers, un chemin de localisation se compose d’une succession d’étapes, séparées les unes des autres par un /. La description d’un …

[Lire plus]
Bruxelles mène son enquête sur le rachat de Sun par Oracle

Après l’annonce du rachat de Sun pour 7,4 milliards de dollars formulée par Oracle au mois d’avril dernier, les autorités antitrust continuent d’analyser les détails de cette acquisition. Ainsi, le 29 juin dernier, aux Etats-Unis, le Département de la Justice s’est penché sur le dossier afin de déterminer si cet accord ne porte pas préjudice à la concurrence sur le marché nord-américain. Les autorités ont ainsi fait remarquer certains aspects flous concernant les licences de droit de la technologie Java créée par Sun et installée sur 800 millions d’ordinateurs à travers le monde.

De son côté la Commission Européenne a récemment été invitée à donner son approbation sur cette acquisition. Les autorités …

[Lire plus]
Benchmark MySQL 5.4

Dimitri KRAVTCHUK nous démontre, avec une batterie de tests, les évolutions en matière de performance apportées par MySQL 5.4:

  • Huge performance improvement on InnoDB engine!
  • MySQL 5.4.0 /Perf Version seems to be the most performant InnoDB implementation for the moment! (only except on the Read-Only workload @8cores where InnoDB plugin-1.0.3 is leading!)
  • MySQL is outperforming PostgreSQL on my tests now!
  • Regarding scalability, get a look at 8 vs 16 cores graphs, and you’ll see it’s the big step forward – no performance degradation on 16 cores is a very positive sign! and there is only 3 months distance between tests!
  • LOCK_open needs a fix ASAP!
  • Analyzing my test results, it’s too early to say …
[Lire plus]
Utiliser XML avec MySQL 5.1 (part 2/5)

(<- précédent)

Insérer du XML dans MySQL

Un fichier XML, n’est finalement qu’un fichier contenant du texte et insérer du texte dans un SGBDR, est loin d’être la chose la plus difficile. Une simple requête INSERT fait l’affaire. Cela nous donne quelque chose comme ceci :

INSERT INTO ma_table (champ_texte) VALUES (’<?xml version= »1.0″?>…’)

Cela dit, si le flux XML est important, cette façon de faire n’est guère pratique. En fait, la méthode la plus simple est d’utiliser la fonction MySQL: LOAD_FILE().

Cette fonction prend en argument un fichier et renvoie son contenu sous la forme d’une chaîne de caractères. A noter que vous devez avoir le droit FILE pour exécuter cette commande, et que …

[Lire plus]
SQL Server et MySQL : stars des utilisateurs européens

Selon la dernière étude d’Evans Data, les développeurs européens auraient abondemment utilisé SQL Server et MySQL. Les deux bases se retrouvent placées dans un mouchoir de poche, alrs qu’Oracle se classe troisième. Plus surprenant, DB2 est devancé par PostGreSQL.

Les développeurs de la zone EMEA ont presque autant utilisé SQL Server que MySQL cette année, révèle le dernier baromètre bi-annuel « EMEA Development Survey 2009 »  d’Evans Data.
Sur 400 développeurs sondés pour l’occasion – qui avaient la possibilité de sélectionner plusieurs base de données -, 48,3% ont cité Microsoft SQL Server comme la base qu’ils ont la plus utilisée dans l’année. MySQL, le fleuron de l’Open Source, a quant à elle récupéré 45,6% des votes.

Troisième du classement, Oracle qui a occupé 25,7% des développeurs EMEA. Mais Evans rappelle que le sondage a été mené alors que le géant du …

[Lire plus]
Utiliser XML avec MySQL 5.1 (part 1/5)

MySQL avec son modèle relationnel et XML avec son approche hiérarchique ont en commun la vocation d’organiser et de structurer des ensembles de données.

En regardant de plus près, ces technologies peuvent offrir des solutions complémentaires :

  • MySQL s’adapte à merveille à la gestion de systèmes d’informations éventuellement lourds et complexes,

  • XML a su devenir un langage universel permettant aux applications de communiquer et d’échanger des informations.

Leur complémentarité apparaît alors évidente : XML rend possible l’exploitation et le partage des informations contenues dans MySQL par des applications distantes.

Générer du XML avec les programmes clients mysql et mysqldump

La version de MySQL utilisée pour cette article est la 5.1.22.

Générer du XML avec MySQL est très …

[Lire plus]
Désactiver les clés étrangères

Une petite « astuce » pour se remettre dans le bain du blogging… Comme vous avez pu le constater la fréquence de mise à jour a un peu diminuée depuis notre retour de la MySQL Conf, corrigeons cela avec cette petite remise en jambe à classer dans la catégorie « pratique ».

La désactivation du contrôle des clés étrangères est intéressante lorsque vous devez exécuter sur votre serveur MySQL un script de création de tables par exemple. Il se peut dans ce cas que l’ordre de création des différentes tables ne soit pas « logique ».

J’entends par là qu’une table A peut contenir une contrainte basée sur une clé étrangère référençant le champ d’une table B… qui n’existe pas encore ! La « logique » voudrait que les tables soient inscrites dans le script selon les liens qui existent entre elles mais cela n’est pas toujours le cas.

Cette opération de …

[Lire plus]
Les bases de données épaisses

Frédéric Brouard a lancé un pavé dans la marre du développement en expliquant le concept de « bases de données épaisses« . Il va même plus loin en affirmant que ce mode de développement peut assassiner les ORM et les FrameWorks. Pour rappel, l’ORM (pour « Object-Relational Mapping« ) vise à faire correspondre un objet de la couche applicative... Read more »

Cet article Les bases de données épaisses est apparu en premier sur EnPause.fr.