Besoin SSD ultra rapide

Besoin SSD ultra rapide - Disque SSD - Hardware

Marsh Posté le 10-12-2017 à 22:33:23    

Bonjour,
 
j'aurais besoin d'un SSD ultra rapide, j'ai une base de donnée sqlite qui contient une table ayant 200 millions de lignes.
une requette sur cette table prend en general plus de 600 seconde (alors que j'ai mis des index sur les colonnes interessantes).
 
En analysant j'ai remarqué que c'etait mon HDD 7200T/m qui bridait.
 
A priori le kingston K1000 est pas mal.
 
Vous avez mieux (budget 400€), je peux descendre a une taille de 240GB
 
Merci.
 
PS : je n'ai pas de slot M.2 sur ma mobo, donc jai besoin d'un adaptateur pci-e


Message édité par sliders_alpha le 10-12-2017 à 22:40:39
Reply

Marsh Posté le 10-12-2017 à 22:33:23   

Reply

Marsh Posté le 10-12-2017 à 23:01:22    

La vraie question est : quelle est ta carte-mère? et quel est ton OS.

 

=> si tu veux booter sur ce SSD NVMe, il te faut une CM compatible

 

=> si tu veux utiliser un NVMe, W10 a les pilotes en natif, pas W7 (mais ça peut se trouver/ajouter)

 

Et sinon un bon SSD en SATA suffirait probablement....


Message édité par zonka le 10-12-2017 à 23:01:57

---------------
Guide OC x58 - Guide d'achat de config - ALIMS:qui fait quoi? - RKO - Radiooooo
Reply

Marsh Posté le 10-12-2017 à 23:04:44    

Windows 10, mobo Z77-D3H.
 
Je ne veux pas booter dessus, juste le rajouter et mettre la BDD dessus.
 
Je suis pas sur qu'un SSD sata suffise, je serait normalement bridé par le stockage car je n'ai pas asser de RAM pour charger la table entiere (16GB, la table a elle seule fait 25GB)


Message édité par sliders_alpha le 10-12-2017 à 23:07:57
Reply

Marsh Posté le 10-12-2017 à 23:30:25    

salut,
 
je vais répondre un peux à coté, mais :
 
je trouve que 600 secondes pour une requête, c'est énooorme... même sur hdd...même sur x millions d'enreg... mettre un ssd ne résoudra qu'une partie du problème.
tu devrais poster dans la section "Programmation" en indiquant quelle base tu utilises, le type de requête (avec group?, select inside select?, sum? , count ?, jointures ?), la taille d'un "row", le nombre d'indexs, un exemple de requête, etc...
parceque je pense que tu peux optimiser cela
- de la RAM, de la RAM, de la RAM... pour les indexs, ça c'est primordial... avant même le SSD
- changement de SGBD plus adaptée (mongo? , nosql ? au lieu de mysql  ?)
- partitionnement de table possible ?
 
etc...
 
sinon, évidemment SSD - pci-e/Nvme, après M.2 ou slot PCI-e, c'est pareil
 
il y a aussi la solution Intel Optane : en gros c'est un mix hdd/ssd, et c'est  apparemment très efficace pour un OS, mais pour une bdd , je sais pas trop...
 

Reply

Marsh Posté le 10-12-2017 à 23:46:17    

Je vais faire ça dans ce cas, je n'ai pas trop d'experience avec les BDD.

Reply

Marsh Posté le 11-12-2017 à 13:31:39    

Vu les differences de perf entre un HD et un SSD et en particulier le monstre K1000, c'est sur ca prendra moins de temps !
 
rien que sur les débits disons que tu peux diviser par 30 le temps d'exécution. ce qui ramènerait la requête à 20sec.


---------------
L'informatique ça évolue très vite ou pas.
Reply

Marsh Posté le 11-12-2017 à 13:45:34    

En dehors du stockage, les hdd ne servent plus à rien. Un ssd t’apportera un gain de perf conséquent.

Reply

Marsh Posté le 14-12-2017 à 05:31:17    

salut mets mysql ou ta base de donnée en Ramdisk avec des bonne ram tu peux atteindre les 14000mo/s
 
Sauf que tu sera toujours bridé par l'application si elle est en 32bits mais en ramdisk, j'ai vu une bonne différence alors que je suis déjà aussi en SSD


Message édité par monpseudo78 le 14-12-2017 à 05:36:50
Reply

Marsh Posté le 15-12-2017 à 11:15:54    

tout mettre en ram serait en effet une solution, mais cette BDD fais maintenant 120Go, au prix actuel de la ram...
 
Les ssd intel optane on l'air sympa (2 fois plus rapide que les k1000)


Message édité par sliders_alpha le 15-12-2017 à 11:16:27
Reply

Marsh Posté le 15-12-2017 à 11:50:44    

Dommage de devoir passer par du PCI Express au lieu de NVME M2 natif, ça limite vachement le choix...

 

L'Optane ne sera pas deux fois plus rapide, mais deux fois plus cher ça oui :o. Il apporte surtout des fonctionnalités pro genre l'AES 256 en hardware dont je suppose que tu te fous complètement pour ta BdD.

 

Même si tu auras un gain considérable en passant d'un HDD à un SSD, je pense aussi que 600s pour une requête simple (recherche de valeurs sur index sans agrégat/fonction analytique/jointures, etc), c'est long.

 

Tu dis que tu utilises SQLite, certes c'est une super techno pour de l'embarqué et pas mal de choses, mais en revanche ça n'est pas du tout optimal pour de gros bouzins comme ta BdD. Ce sont uniquement les SELECT qui posent souci ou les inserts aussi ?
Insérer dans une base SQLite de 120Go ça tourne vite au cauchemar quand c'est pas tweaké comme il faut, j'insiste : 120Go dans du SQLite c'est monstrueux.
Tu ne peux pas migrer vers autre chose en RDBMS SQL, voire NoSQL ?

 

Ce qui n'enlève rien à l'intérêt général d'un SSD.


Message édité par TotalRecall le 15-12-2017 à 11:53:51

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 15-12-2017 à 11:50:44   

Reply

Marsh Posté le 15-12-2017 à 17:45:02    

Citation :

mais cette BDD fais maintenant 120Go


C'est le fichier ibdata qui fait 120go ? ou le total du repertoire ? car les fichiers binaires eux ne sont pas nécessaires et peuvent être purgés, attention de le faire exclusivement avec une ligne de commande et ne jamais rien effacer manuellement.
 
Ce qui compte est le poids du fichier ibdata1 et de laisser un peu de place pour la création des nouveaux fichiers binaires.
 
Aussi le fichier ibdata peut grossir à force de faire des requêtes multiples, (alors que rien n'a été ajouté) donc pour être certains du poids réel de la BDD est de ré-importer toute la base dans une sélection vide.


Message édité par monpseudo78 le 15-12-2017 à 17:47:36
Reply

Marsh Posté le 16-12-2017 à 17:20:41    

c'est une bdd sqlite pour l'instant, le seul et unique fichier .db fait 120Go

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed